[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: unique question

From: Michael Kay <mike@saxonica.com>
Date: Wed, 14 Feb 2007 14:59:06 -0000
To: "'Markus Gamperl'" <markus.gamperl@gmx.at>, <xmlschema-dev@w3.org>
Message-ID: <00fa01c75048$ad8db080$6401a8c0@turtle>
RE: unique question

Your schema allows a daten to contain only one preiszeile, and a preiszeile
to contain any number of zweig/herkunft/anzahlen triplets. But your instance
data shows a daten containing many preiszeilen, and each preiszeile
containing just one zweig/herkunft/anzahlen triplet. So quite apart from
your uniqueness constraint, your schema and instance don't seem to match.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Markus Gamperl
> Sent: 14 February 2007 14:18
> To: xmlschema-dev@w3.org
> Subject: xs:unique question
> 
> 
> Hi.
> 
> I have defined the following complex type with a unique:
> 
> <xs:complexType name="root">
>  <xs:sequence>
>   <xs:element name="name" type="xs:string"/>
>   <xs:element name="daten" nillable="true">
>    <xs:complexType>
>     <xs:sequence>
>      <xs:element name="preiszeile">
>        <xs:complexType>
> 	<xs:sequence maxOccurs="unbounded">
> 	<xs:element name="zweig" type="xs:integer"/>
> 	<xs:element name="herkunft" type="xs:integer"/>
> 	<xs:element name="anzahlen" type="xs:string"/>
>      </xs:sequence>
>     </xs:complexType>
>    </xs:element>
>   </xs:sequence>
>  </xs:complexType>
>  <xs:unique name="uniquepreis">
>   <xs:selector xpath="preiszeile"/>
>   <xs:field xpath="zweig"/>
>   <xs:field xpath="herkunft"/>
>  </xs:unique>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> 
> example for a xml file:
> <root>
>  <name>76</name>
>   <daten>
>    <preiszeile>
> 	<zweig>11</zweig>
> 	<herkunft>0</herkunft>
> 	<anzahlen>test</anzahlen>
>    </preiszeile>
>    <preiszeile>
> 	<zweig>11</zweig>
> 	<herkunft>0</herkunft>
> 	<anzahlen>test</anzahlen>
>    </preiszeile>
>    <preiszeile>
> 	<zweig>11</zweig>
> 	<herkunft>0</herkunft>
> 	<anzahlen>test</anzahlen>
>    </preiszeile>
>    ...
>   </daten>
> </root>
> 
> I want a unique key over all zweig + herkunft elements.
> Therefore I used xs:unique but it don't work...
> 
> Thanks
> Markus
> --
> Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
> Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
> 
Received on Wednesday, 14 February 2007 14:59:24 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.