0

这是xml

<range from="100" to="200"/>

那么,如何写一个xsd来保证属性to总是大于from呢?

4

3 回答 3

1

Schema,顾名思义,只会定义文档的模式,而不是验证条件数据。你必须在你的应用程序中这样做。

于 2013-04-03T16:45:08.037 回答
1

在 XSD 1.1 中,您可以使用对“范围”类型的断言来施加该约束。在 XSD 1.0 中,约束是不可表达的。

于 2013-04-03T23:44:23.573 回答
1

这是一个示例,可查看如何在您的情况下添加 XSD 1.1 断言:

<xs:complexType>
    <xs:attribute name="to" type="xs:integer"/>
    <xs:attribute name="from" type="xs:integer"/>
    <xs:assert test="@to > @from"/>
</xs:complexType>

在“assert”元素的“test”属性中,您可以引入 XPath 2.0 表达式。

于 2013-04-04T06:07:53.610 回答