2014-10-22 30 views
2

我如何確保xml文檔中的列表具有來自允許的類型的至少一個值?如何使列表需要使用XSD的列表1值?

我一直在使用使用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"/> 

回答

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" /> 
相關問題