给出以下XML:
<category>1000</category>
<type>a</type>
此XSD用于验证:
<xs:element name="category" type="categoryType"/>
<xs:element name="type" type="xs:string">
<xs:simpleType name="categoryType">
<xs:restriction base="xs:string">
<xs:enumeration value="1000"/>
<xs:enumeration value="1010"/>
<xs:enumeration value="1020"/>
<xs:enumeration value="1030"/>
<xs:enumeration value="1040"/>
</xs:restriction>
</xs:simpleType>
如果出现以下情况,如何检查类型值:
答案 0 :(得分:0)
如果不重新设计XML,以便通过元素名称而不是@type
属性来传递类型差异,则不可能。
通过对categoryType
中的每个b, c, d
进行限制来定义新类型,然后使用Conditional Type Assignment来允许每个@type
改变类型。
另请参阅:How to make type depend on attribute value using Conditional Type Assignment