是否可以为 XSD 属性定义选项?我希望元素“where”具有属性“logic”,并且只能具有值“OR”或“AND”。
例子:
<where logic="OR"> <!-- valid -->
...
</where>
<where logic="XPTO"> <!-- invalid -->
...
</where>
这可能吗?
是的,这是可能的。
首先你必须定义一个简单的类型:
<xs:simpleType name="boolString">
<xs:restriction base="xs:string">
<xs:enumeration value="AND"/>
<xs:enumeration value="OR"/>
</xs:restriction>
</xs:simpleType>
然后你必须定义一个where
包含logic
type 属性的元素boolString
:
<xs:element name="where">
<xs:complexType>
<xs:attribute name="logic" type="boolString" />
</xs:complexType>
</xs:element>