2017-09-13 167 views
1

如何爲也對元素有限制的元素添加屬性。如何爲元素設置屬性xsd

   <xs:restriction base="xs:string"> 
        <xs:enumeration value="Spring"/> 
        <xs:enumeration value="Summer"/> 
        <xs:enumeration value="Autumn"/> 
        <xs:enumeration value="Fall"/> 
        <xs:enumeration value="Winter"/> 
       </xs:restriction> 
      <xs:complexType> 
       <xs:attribute name="id"/> 
      </xs:complexType> 
      </xs:simpleType> 

我要設置到元素屬性都和限制。但使用這種方式,即使使用simpleContent & complexContent也無法正常工作。那麼該怎麼做呢?

回答

1

你需要做這兩個步驟:

  • 定義一個簡單類型與限制值空間
  • 定義具有簡單內容複雜類型擴展了這個簡單的類型(用於它的內容)屬性

像這樣:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema 
     xmlns:xs="http://www.w3.org/2001/XMLSchema" 
     elementFormDefault="qualified"> 
    <xs:simpleType name="restrictedsimpletype"> 
     <xs:restriction base="xs:string"> 
      <xs:enumeration value="Spring"/> 
      <xs:enumeration value="Summer"/> 
      <xs:enumeration value="Autumn"/> 
      <xs:enumeration value="Fall"/> 
      <xs:enumeration value="Winter"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:complexType name="restrictedwithattributes"> 
     <xs:simpleContent> 
      <xs:extension base="restrictedsimpletype"> 
       <xs:attribute name="id" type="xs:string"/> 
      </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
    <xs:element name="a" type="restrictedwithattributes"/> 
</xs:schema> 
+0

非常感謝Ghislain的Fourny它重新阿利的作品。 – user7549997