XSD 空元素概述

大雄45發表於2022-11-25
導讀 空的複合元素不能包含內容,只能含有屬性。
複合空元素

一個空的 XML 元素:

<product prodid="1345" />

上面的 "product" 元素根本沒有內容。為了定義無內容的型別,我們就必須宣告一個在其內容中只能包含元素的型別,但是實際上我們並不會宣告任何元素,比如這樣:

<xs:element name="product">
  <xs:complexType>
    <xs:complexContent>
      <xs:restriction base="xs:integer">
        <xs:attribute name="prodid" type="xs:positiveInteger"/>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

在上面的例子中,我們定義了一個帶有複合內容的複合型別。complexContent 元素給出的訊號是,我們打算限定或者擴充某個複合型別的內容模型,而 integer 限定則宣告瞭一個屬性但不會引入任何的元素內容。

但是,也可以更加緊湊地宣告此 "product" 元素:

<xs:element name="product">
  <xs:complexType>
    <xs:attribute name="prodid" type="xs:positiveInteger"/>
  </xs:complexType>
</xs:element>

或者您可以為一個 complexType 元素起一個名字,然後為 "product" 元素設定一個 type 屬性並引用這個 complexType 名稱(透過使用此方法,若干個元素均可引用相同的複合型別):

<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
  <xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2920303/,如需轉載,請註明出處,否則將追究法律責任。

相關文章