[
Lists Home |
Date Index |
Thread Index
]
> -----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>
>
>
|