2012-01-13 41 views
0

我需要對「是或否」屬性進行限制 - 但不太確定如何構造它 - 我在下面嘗試但不知道如何正確或錯誤它是:(建議將不勝感激)謝謝在屬性上使用XML Schemas中的限制基礎

<xs:element name="DistinctiveMarks"> 
    <xs:ComplexType> 
    <xs:SimpleContent> 
     <xs:extension base="xs:string"> 
     <xs:attribute name="present" type="xs:string"> 
      <xs:restriction base="xs:string"> 
      <xs:pattern value="yes|no"/> 
      </xs:restriction> 
     </xs:attribute> 
     </xs:extension> 
    </xs:SimpleContent> 
    </xs:ComplexType> 
</xs:element> 

回答

1

這應該工作。如果你打算重用它,另一個選項是聲明一個簡單的類型。然後你可以做type = MY_YesNoType,如果你有一個名字空間前綴,就包含它。另一個可能適用的選項是使用枚舉。很不錯,如果你想挖掘xsd來建立一個數據錄入的選項列表,而不是通過正則表達式來驗證。

<xs:simpleType name="MY_YesNoType"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="no" /> 
     <xs:enumeration value="yes" /> 
    </xs:restriction> 
    </xs:simpleType> 
+0

感謝託尼,我只需要在這種情況下使用它一次,但方便知道未來。 – nevermind 2012-01-13 18:16:54