如何使用XSD验证两个XML属性具有不同的值?

时间:2015-02-16 02:27:29

标签: xml xsd xsd-1.0

我们说我遵循XML:

<root>
    <element source="source1" target="target1" />
    <element source="source2" target="target2" />
<root>

是否可以编写一个XSD,它会检查每个元素的源和目标是否不同?两个不同的元素可以指定相同的源或相同的目标,但特定元素的源和目标不能相同。

我需要使用XSD 1.0,因此我无法使用断言。

1 个答案:

答案 0 :(得分:0)

我在XSD 1.0和XSD 1.1中使用xs:unique。类似的东西:

<xs:unique name="uniqueSourceAndTarget">
    <xs:selector xpath="tns:element"/>
    <xs:field xpath="@source"/>
    <xs:field xpath="@target"/>
</xs:unique>

未测试。