Xml 通过XSD限制具有属性的元素数?
有一段XMLXml 通过XSD限制具有属性的元素数?,xml,xsd,xsd-validation,xml-validation,Xml,Xsd,Xsd Validation,Xml Validation,有一段XML <items> <itemUID>uid-1</itemUID> <itemUID>uid-2</itemUID> <itemUID key="true">uid-3</itemUID> <itemUID>uid-4</itemUID> <itemUID>uid-5</itemUID> <itemU
<items>
<itemUID>uid-1</itemUID>
<itemUID>uid-2</itemUID>
<itemUID key="true">uid-3</itemUID>
<itemUID>uid-4</itemUID>
<itemUID>uid-5</itemUID>
<itemUID key="true">uid-6</itemUID>
<itemUID>uid-7</itemUID>
</items>
uid-1
uid-2
uid-3
uid-4
uid-5
uid-6
uid-7
规则:元素项
可以包含1到无界元素itemUID
,但只有0或2或3个具有属性键的元素
我可以仅使用XSD限制来定义此规则吗?您不能在XSD 1.0中表达您的约束,但在XSD 1.1中,您可以使用
xs:assert
将itemUID
元素和key
属性限制为0、2、3个元素,如下所示:
<xs:assert test="count(itemUID[@key]) = (0, 2, 3)"/>
这里是完整XSD中的上下文:
XSD 1.1
您不能在XSD 1.0中表达您的约束,但在XSD 1.1中,您可以使用
xs:assert
将itemUID
元素和key
属性限制为0、2、3个元素,如下所示:
<xs:assert test="count(itemUID[@key]) = (0, 2, 3)"/>
这里是完整XSD中的上下文:
XSD 1.1