OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XML Schema - define a type



Hi Christian,

> When I write an xml-document of the schema, the parser does force me
> to enter a unit, but does not force me to enter a decimal. I can
> leave the content of the element empty. My problem is that I cannot
> define the type with a restriction xsd:minInclusive when I have an
> extension.

I suspect that the problem is more to do with the limitations of the
parser that you're using (you don't say which one?) than your schema,
which looks fine by eye. Elements with decimal values must not be
empty, unless you've made the element nillable and you have
xsi:nil="true" on it in the instance.

If you want to restrict the number allowed for ConnectionTimeType then
you need to do the restriction of the xs:decimal data type first, to
create a new simple type, and then extend that when you define
ConnectionTimeType.  Something like:

<xsd:simpleType name="nonNegativeDecimal">
  <xsd:restriction base="xs:decimal">
    <xsd:minInclusive value="0" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="ConnectionTimeType">
  <xsd:simpleContent>
    <xsd:extension base="nonNegativeDecimal">
      <xsd:attribute name="unit" use="required">
        ...
      </xsd:attribute>
    </xsd:extension>
  </xsd:simpleContent>
</xsd:complexType>

[Note: If you have a target namespace and it's not the default
namespace, then you'll need to use whatever prefix you're using for it
at the start of the reference to the nonNegativeDecimal type.]

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/