私は答えを探してSOを検索し、応答を見つけましたが、解決策がうまくいかないようです。以下は私のxmlと私のスキーマです。アイデアは非常に単純です。2 つの本が同じ isbn を共有することはできませんが、2 つの本の isbn が等しい場合、Eclipse はエラーをスローしません。
ns プレフィックスは uk です。
<library>
<book>
<isbn>
1
</isbn>
<title>
Bernard Williams: A Biography
</title>
</book>
<book>
<isbn>
1
</isbn>
<title>
Principles of Microbiopsychonomics
</title>
</book>
</library>
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="library">
<xs:complexType>
<xs:sequence>
<xs:element name="book" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="isbn" type="xs:integer"/>
<xs:element name="title" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="uniquebook">
<xs:selector xpath="uk:library/uk:book"/>
<xs:field xpath="isbn"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>