【发布时间】:2011-08-12 13:47:21
【问题描述】:
我有这样的结构:
<parent>
<name>p1</name>
<child>
<name>c3</name>
<name>c1</name>
</child>
</parent>
<parent>
<name>p2</name>
<child>
<name>c1</name>
<name>c2</name>
</child>
</parent>
我想要的是另一个部分,其值应该在第一部分进行验证。这样
<parent name="p1">
<child name="c3" />
</parent>
或
<parent name="p2">
<child name="c2" />
</parent>
应该是有效的,但都不是
<parent name="p1">
<child name="c2" />
</parent>
也没有
<parent name="p2">
<child name="c4" />
</parent>
我在考虑使用多个字段的键
<xs:key name="k">
<xs:selector xpath="tns:parent" />
<xs:field xpath="tns:name" />
<xs:field xpath="tns:child/tns:name" />
</xs:key>
但似乎这种方法永远行不通,因为关键字段应该是唯一的。
是否可以使用 XML Schema 1.0 做到这一点?
【问题讨论】: