最新的Web開發教程
 

XSD僅文本元素


複雜的純文本元素可以包含文本和屬性。


複雜文本僅元素

這種類型只包含簡單內容(text and attributes) ,因此我們添加一個simpleContent的元素周圍的內容。 當使用簡單的內容,必須定義一個擴展或者簡單文本元素中的限制,就像這樣:

<xs:element name="somename">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

OR

<xs:element name="somename">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Tip:使用擴展/ restriction元素擴展或限制基礎簡單類型的元素。

這裡是一個XML元素的一個例子, "shoesize"它包含純文本:

<shoesize country="france">35</shoesize>

下面的示例聲明一個複雜類型, "shoesize" 內容被定義為一個整數值,而"shoesize"元素還包含一個名為屬性"country"

<xs:element name="shoesize">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attribute name="country" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

我們也可以給complexType元素的名稱,讓"shoesize"元件有指複雜類型的名稱(如果你使用這種方法,幾個元素可以參考同一複雜類型)一個類型的屬性:

<xs:element name="shoesize" type="shoetype"/>

<xs:complexType name="shoetype">
  <xs:simpleContent>
    <xs:extension base="xs:integer">
      <xs:attribute name="country" type="xs:string" />
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>