- From: Markus Gamperl <markus.gamperl@gmx.at>
- Date: Wed, 14 Feb 2007 20:18:41 +0100
- To: "Michael Kay" <mike@saxonica.com>, xmlschema-dev@w3.org
Hi Michael! Thanks for your suggestion - I totally agree with you. This is my complex type: <xs:complexType name="root"> <xs:sequence> <xs:element name="name" type="xs:string" fixed="76"/> <xs:element name="daten" nillable="true"> <xs:complexType> <xs:sequence> <xs:element name="preiszeile" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <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> A correct example for a xml fragment: <root> <name>76</name> <daten> <preiszeile> <zweig>11</zweig> <herkunft>0</herkunft> <anzahlen>test</anzahlen> </preiszeile> <preiszeile> <zweig>11</zweig> <herkunft>1</herkunft> <anzahlen>test</anzahlen> </preiszeile> <preiszeile> <zweig>12</zweig> <herkunft>0</herkunft> <anzahlen>test</anzahlen> </preiszeile> ... </daten> </root> Problem description: The "daten" element can contain unbounded "preiszeile" elements. Every "preiszeile" element must contain one "zweig", "herkunft" and "anzahlen" element. I want to avoid that there are duplicated values within "zweig" and "herkunft" in combination - like a classic unique key in a database. A wrong xml file fragment: In the first and second "preiszeile" have the elements "zweig" and "herkunft" the same value - I want to avoid this with an unique constraint <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>12</zweig> <herkunft>0</herkunft> <anzahlen>test</anzahlen> </preiszeile> ... </daten> </root> Was my explanation clear - do you understand my problem? Thanks Markus Betreff: 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/ > -- "Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ... Jetzt GMX ProMail testen: www.gmx.net/de/go/mailfooter/promail-out
Received on Wednesday, 14 February 2007 19:18:58 UTC