我试图使用
xs:assert
根据两个属性的值进行验证,但一直不成功。我一直收到以下错误信息:s4s-elt-must-match.1
: data
的内容必须匹配(annotation?, (simpleType | complexType)?, (unique | key | keyref)*))
。从assert
开始发现了一个问题。我查看了一堆问题。我甚至复制了其中一个答案,但它仍然会出现相同的错误。它告诉我测试格式无效,但我找不到任何不同的示例。有人可以告诉我我做错了什么吗?TIA这是我复制的答案,错误内联作为注释:<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
vc:minVersion="1.1">
<xs:element name="data">
<xs:complexType>
<xs:attribute name="min" type="xs:int"/>
<xs:attribute name="max" type="xs:int"/>
</xs:complexType>
<xs:assert test="@min le @max"/>
<!--s4s-elt-must-match.1: The content of 'data' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: assert.-->
</xs:element>
</xs:schema>
编辑:这里将assert放在complexType中,显示不同的错误。
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
vc:minVersion="1.1">
<xs:element name="data">
<xs:complexType>
<xs:attribute name="min" type="xs:int"/>
<xs:attribute name="max" type="xs:int"/>
<xs:assert test="@min le @max"/>
<!-- s4s-elt-invalid-content.1: The content of '#AnonType_data' is invalid. Element 'assert' is invalid, misplaced, or
occurs too often. -->
</xs:complexType>
</xs:element>
</xs:schema>