0
一部の製品インデックスのXSDで作業しています。問題は、私の "artikelgruppe"(= Product-Group)にユニークな "GRUPPE"(= GroupNumber)を持たせたいということです。同じことが "artikel"/"ARTNR"にも当てはまります。XSD - 一意のステートメントは重複を防止しません。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="artikelkatalog">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="artikelgruppen">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="artikelgruppe" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="GRUPPE" type="xsd:integer">
</xsd:element>
<xsd:element name="GRUP_TXT" type="xsd:string">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="unique_GRUPPE">
<xsd:selector xpath="artikelgruppe" />
<xsd:field xpath="@GRUPPE" />
</xsd:unique>
</xsd:element>
<xsd:element name="alle_artikel">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="artikel" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ARTNR" type="xsd:integer">
</xsd:element>
<xsd:element name="ARTBEZ" type="xsd:string">
</xsd:element>
<xsd:element name="EKPREIS" type="xsd:float">
</xsd:element>
<xsd:element name="EKWAEHRUNG" type="xsd:string">
</xsd:element>
<xsd:element name="VPREIS" type="xsd:float">
</xsd:element>
<xsd:element name="VWAEHRUNG" type="xsd:string">
</xsd:element>
<xsd:element name="GRUPPE" type="xsd:integer">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="unique_ARTNR">
<xsd:selector xpath="artikel" />
<xsd:field xpath="@ARTNR" />
<!--<xsd:keyref name="keyref_GRUPPE_REFERENZ" refer="unique_ARTNR">
<xsd:selector xpath="artikelgruppe" />
<xsd:field xpath="@ARTNR"/>
</xsd:keyref>-->
</xsd:unique>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
私のコードは、エラーが発生しませんが、仕事をしていません:(私はこれを与え:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<artikelkatalog>
<artikelgruppen>
<artikelgruppe>
<GRUPPE>20</GRUPPE>
<GRUP_TXT>Workstation</GRUP_TXT>
</artikelgruppe>
<artikelgruppe>
<GRUPPE>20</GRUPPE>
<GRUP_TXT>Server</GRUP_TXT>
</artikelgruppe>
<artikelgruppe>
<GRUPPE>30</GRUPPE>
<GRUP_TXT>Monitor</GRUP_TXT>
</artikelgruppe>
</artikelgruppen>
<alle_artikel>
<artikel>
<ARTNR>1100</ARTNR>
<ARTBEZ>Transtec 800</ARTBEZ>
<EKPREIS>720.00</EKPREIS>
<EKWAEHRUNG>€</EKWAEHRUNG>
<VPREIS>749.00</VPREIS>
<VWAEHRUNG>€</VWAEHRUNG>
<GRUPPE>10</GRUPPE>
</artikel>
<artikel>
<ARTNR>1100</ARTNR>
<ARTBEZ>Trinitron 17"</ARTBEZ>
<EKPREIS>375.00</EKPREIS>
<EKWAEHRUNG>$</EKWAEHRUNG>
<VPREIS>399.00</VPREIS>
<VWAEHRUNG>$</VWAEHRUNG>
<GRUPPE>20</GRUPPE>
</artikel>
</alle_artikel>
</artikelkatalog>
そして、それが問題だ何:(持つマシンは大丈夫でしたか?