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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Basic XSD question

[ 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>





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS