W3C home > Mailing lists > Public > xmlschema-dev@w3.org > February 2007

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>

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 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:11 UTC