一個空的複合元素不能有內容,只有屬性。
複雜的空元素
一個空的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>
在上面的例子中,我們定義一個複雜類型具有複雜的內容。 我們打算在複雜內容元素的信號來限制或擴展複雜類型的內容模型和整數的約束聲明一個屬性,但不引入任何元素內容。
但是,可以聲明"product"更簡潔的元素,就像這樣:
<xs:element name="product">
<xs:complexType>
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
或者你可以給complexType元素的名稱,讓"product"元素有指複雜類型的名稱(如果你使用這種方法,幾個元素可以參考同一複雜類型)一個類型的屬性:
<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
<xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>