在 XSD 模式 1.0 验证中,任何可用于检查元素的选项是否具有任何属性?
In XSD schema 1.0 validation, any option available to check an element has any attributes?
在 XSD 文件中,对于一个元素,很少有属性是可选的。
需要验证输入 XML 文件中是否有任何列出的属性可用。
在 XSD 1.0 你可以使用 xs:key 来保证一个元素至少有一个属性 .示例:
<xs:element name="elem">
<xs:complexType>
<xs:attribute name="a" type="xs:int" use="optional" />
<xs:attribute name="b" type="xs:int" use="optional" />
<xs:attribute name="c" type="xs:int" use="optional" />
<xs:attribute name="d" type="xs:int" use="optional" />
</xs:complexType>
<xs:key name="attributePresent">
<xs:selector xpath="." />
<xs:field xpath="@*" />
</xs:key>
</xs:element>
例如,如果您想保证元素中至少存在 b 或 c 属性之一,您可以使用
<xs:field xpath="@b | @c" />
在 XSD 文件中,对于一个元素,很少有属性是可选的。 需要验证输入 XML 文件中是否有任何列出的属性可用。
在 XSD 1.0 你可以使用 xs:key 来保证一个元素至少有一个属性 .示例:
<xs:element name="elem">
<xs:complexType>
<xs:attribute name="a" type="xs:int" use="optional" />
<xs:attribute name="b" type="xs:int" use="optional" />
<xs:attribute name="c" type="xs:int" use="optional" />
<xs:attribute name="d" type="xs:int" use="optional" />
</xs:complexType>
<xs:key name="attributePresent">
<xs:selector xpath="." />
<xs:field xpath="@*" />
</xs:key>
</xs:element>
例如,如果您想保证元素中至少存在 b 或 c 属性之一,您可以使用
<xs:field xpath="@b | @c" />