假设我们有这个简单的XML文档:
<A>
<B value ="x">
<C value ="y">
</A>
在某种程度上可以限制“值”(在DTD和/或Schema中),只要我在XML数据中选择x的内容,值y就会变成相同的值。
例如:
我写<B value ="water">
所以<C value ="">
将自我行为转变为<C value ="water">
答案 0 :(得分:0)
XML模式(DTD,XSD,Schematron等)定义XML文档的 有效性 。它们不实现关系,其中一个值的改变将导致另一个值的改变。
因此,您可以使用XML架构来表示value
和B
元素之间的C
属性必须相等,但这与使它们相等不同。验证将报告您的约束是否得到满足 - 布尔结果,以及描述约束违规的一些诊断消息。要根据文档中其他位置的其他更改来更改XML文档,您需要对其进行编程。
最后注意事项:DTD和XSD 1.0无法强制跨越元素的这种有效性约束;但是,XSD 1.1或Schematron可以使用基于XPath的断言。