我正在尝试使用xs:unique
. 但是,我认为我在使用 XPath 时遇到了一些问题。
我有一个抽象元素 ObjectA,它有一个属性“标识符”,它是一个字符串。我希望这个标识符在具体元素 ObjectB 和 ObjectC 的所有实例中都是唯一的。我不认为xpath="."
是正确的。
<xs:element name="ObjectA" type="ns:ObjectAType">
<xs:unique name="Identifier">
<xs:selector xpath="."/>
<xs:field xpath="@identifier"/>
</xs:unique>
</xs:element>
<xs:complexType name="ObjectAType" abstract="true">
<xs:attribute ref="ns:identifier" use="required" />
</xs:complexType>
<xs:attribute name="identifier" type="xs:string" />
<xs:element name="ObjectB" type="ns:ObjectBType" substitutionGroup=ns:ObjectA" />
<xs:element name="ObjectC" type="ns:ObjectCType" substitutionGroup=ns:ObjectA" />