[
Lists Home |
Date Index |
Thread Index
]
Xs:all does not care about ordering.
Can use optional or required - but not repeating:
<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by Turbo XML 2.4.2.7. Conforms to w3c
http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
elementFormDefault = "qualified">
<xsd:element name = "root">
<xsd:complexType>
<xsd:all>
<xsd:element name = "a" type = "xsd:integer"
minOccurs = "0"/>
<xsd:element name = "b" type =
"xsd:dateTime"/>
<xsd:element name = "c" type =
"xsd:decimal"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
-----Original Message-----
From: Robert Soesemann [mailto:rsoesemann@sapient.com]
Sent: Friday, December 10, 2004 11:51 AM
To: xml-dev@lists.xml.org
Subject: FW: [xml-dev] Basic XSD question
Thanks for your reply. How would the xsd to look like if I want to have
to have a document
- that contains elements in no specific order
- where some elements must be present and always have values of a
specific type
Neighter all, sequence nor choice seems to be correct.
R.
-----Original Message-----
From: Chiusano Joseph [mailto:chiusano_joseph@bah.com]
Sent: Freitag, 10. Dezember 2004 17:44
To: Robert Soesemann; xml-dev@lists.xml.org
Subject: RE: [xml-dev] Basic XSD question
> -----Original Message-----
> From: Robert Soesemann [mailto:rsoesemann@sapient.com]
> Sent: Friday, December 10, 2004 11:27 AM
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Basic XSD question
>
> Hello,
>
> I have a quite basic question, but I could find a solution.
>
> How can I define in XMLSchema that an element should provide a text
> value?
Use the "minLength" facet, with minLength equal to 1.
> When I validate the following XML with the XSD
> I get no error, because the empty string seems to be a valid
> string as well.
Yes, because the default for minLength is 0. The behavior you see is
therefore the expected behavior.
> XML:
> ----
> <root>
> <a></a> <-- if a is <a> is included it should have an xs:string
text
> node
> <a></a> <-- a second <a> is also not allowed </root>
>
> XSD fragment:
> -------------
> <xs:element name="root">
> <xs:complexType>
> <xs:choice maxOccur="1"> <-- why does
> it not invalidate the second <a>?
Because you've placed the maxOccurs facet on the choice, not on the
individual element - if you intend to restrict element <foo> to one
occurrence max, the maxOccurs facet has to be an attribute of the
<xs:element> element. You may also not want to use a choice there, since
there is only one possible value.
Hope that helps--
Kind Regards,
Joseph Chiusano
Booz Allen Hamilton
Strategy and Technology Consultants to the World
> <xs:element name="foo" type="xs:string"
> minOccurs="1" />
> </xs:choice>
> </xs:complexType>
> </xs:element>
>
> Thanks for replies,
>
> R.
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
>
>
-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription
manager: <http://www.oasis-open.org/mlmanage/index.php>
|