如何确保xml doc中的列表至少包含允许类型中的一个值?
我尝试过使用minlength = 1,但这没效果:
<xs:simpleType name="FeatureOption">
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:enumeration value="F0"/>
<xs:enumeration value="F0A"/>
<xs:enumeration value="F0B"/>
<xs:enumeration value="F0C"/>
<xs:enumeration value="F1"/>
<xs:enumeration value="F2"/>
<xs:enumeration value="F2A"/>
<xs:enumeration value="F3"/>
<xs:enumeration value="F3A"/>
<xs:enumeration value="F3B"/>
<xs:enumeration value="F3C"/>
<xs:enumeration value="DataOnly"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
我也试过这个:
<xs:element name="Feature" type="FeatureOption" nillable="false" minOccurs="1"/>
答案 0 :(得分:3)
可能的解决方案应该是
<xs:simpleType name="FeatureOptionType">
<xs:restriction base="FeatureOption">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FeatureOption">
<xs:list>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="F0"/>
<xs:enumeration value="F0A"/>
<xs:enumeration value="F0B"/>
<xs:enumeration value="F0C"/>
<xs:enumeration value="F1"/>
<xs:enumeration value="F2"/>
<xs:enumeration value="F2A"/>
<xs:enumeration value="F3"/>
<xs:enumeration value="F3A"/>
<xs:enumeration value="F3B"/>
<xs:enumeration value="F3C"/>
<xs:enumeration value="DataOnly"/>
</xs:restriction>
</xs:simpleType>
</xs:list>
</xs:simpleType>
以这种方式使用
<xs:element name="Feature" type="FeatureOptionType" />