FW: [xml-dev] Basic XSD question

From
Robert Soesemann <>
To
Date
2004-12-10T16:51:13Z
ID
<>
Thread
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:] 
Sent: Freitag, 10. Dezember 2004 17:44
To: Robert Soesemann; 
Subject: RE: [xml-dev] Basic XSD question


> -----Original Message-----
> From: Robert Soesemann [mailto:]
> Sent: Friday, December 10, 2004 11:27 AM
> To: 
> 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>
> 
>