最新的Web開發教程
 

XSD混合內容


混合複雜類型元件可以包含屬性,元素和文本。


複雜類型包含混合內容

XML元素, "letter" ,它包含文本和其他元素:

<letter>
  Dear Mr.<name>John Smith</name>.
  Your order <orderid>1032</orderid>
  will be shipped on <shipdate>2001-07-13</shipdate>.
</letter>

下面的模式聲明"letter"元素:

<xs:element name="letter">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="orderid" type="xs:positiveInteger"/>
      <xs:element name="shipdate" type="xs:date"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Note:為了使字符數據的子元素之間顯示的"letter" ,在mixed屬性必須設置為"true"<xs:sequence>標籤意味著定義的元素(name, orderid and shipdate)必須出現在裡面的順序"letter"的元素。

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

<xs:element name="letter" type="lettertype"/>

<xs:complexType name="lettertype" mixed="true">
  <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="orderid" type="xs:positiveInteger"/>
    <xs:element name="shipdate" type="xs:date"/>
  </xs:sequence>
</xs:complexType>