我搜索了一个答案,找到了答案,但这些解决方案似乎对我不起作用。下面是我的 xml 和我的架构。这个想法很简单:没有两本书可以共享相同的 isbn,但是当两本书的 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>