[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Basic XSD question
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@s...] Sent: Friday, December 10, 2004 11:51 AM To: xml-dev@l... Subject: FW: 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@b...] Sent: Freitag, 10. Dezember 2004 17:44 To: Robert Soesemann; xml-dev@l... Subject: RE: Basic XSD question > -----Original Message----- > From: Robert Soesemann [mailto:rsoesemann@s...] > Sent: Friday, December 10, 2004 11:27 AM > To: xml-dev@l... > Subject: 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>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|