在xml模式中,有没有办法让xml元素中的一个属性始终大于另一个属性?

在xml模式中,有没有办法让xml元素中的一个属性始终大于另一个属性?,xml,xsd,Xml,Xsd,以下是xml: <range from="100" to="200"/> 因此,如何编写xsd,以确保属性to始终大于from?模式,根据定义,将只定义文档的模式,而不是验证条件数据。您必须在应用程序中这样做。根据定义,Schema只定义文档的Schema,而不是验证条件数据。您必须在应用程序中这样做。在XSD 1.1中,您可以使用对“range”类型的断言来施加该约束。在XSD1.0中,约束是不可表达的 在XSD 1.1中,可以对“range”类型使用断言来施加该约束。在XS

以下是
xml

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


因此,如何编写
xsd
,以确保属性
to
始终大于
from

模式,根据定义,将只定义文档的模式,而不是验证条件数据。您必须在应用程序中这样做。

根据定义,Schema只定义文档的Schema,而不是验证条件数据。您必须在应用程序中这样做。

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

在XSD 1.1中,可以对“range”类型使用断言来施加该约束。在XSD1.0中,约束是不可表达的

下面是一个示例,以了解如何在您的案例中添加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表达式。

下面是一个示例,以了解如何在您的案例中添加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表达式