在 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>

例如,如果您想保证元素中至少存在 bc 属性之一,您可以使用

<xs:field xpath="@b | @c" />