XSD複雜類型
複雜元素是一個XML元素,可以包含其他元素和/或屬性。 我們可以用兩種方式創建一個複雜的元素 -
- 定義複雜類型,使用
type
屬性創建元素。 - 通過命名直接定義複雜類型。
定義複雜類型,然後使用type
屬性創建元素。如下所示 -
<xs:complexType name = "StudentType">
<xs:sequence>
<xs:element name = "firstname" type = "xs:string"/>
<xs:element name = "lastname" type = "xs:string"/>
<xs:element name = "nickname" type = "xs:string"/>
<xs:element name = "marks" type = "xs:positiveInteger"/>
</xs:sequence>
<xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
</xs:complexType>
<xs:element name = 'student' type = 'StudentType' />
通過命名直接定義複雜類型。如下所示 -
<xs:element name = "student">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string"/>
<xs:element name = "lastname" type = "xs:string"/>
<xs:element name = "nickname" type = "xs:string"/>
<xs:element name = "marks" type = "xs:positiveInteger"/>
</xs:sequence>
<xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
</xs:complexType>
<xs:element>
以下是XSD支持的複雜類型列表 -
序號
複雜類型
描述
1
空元素
複雜類型元素只能包含屬性但不能包含內容。
2
純元素
只有元素複雜類型元素只能包含元素
3
純文本
純文本複雜類型元素只能包含屬性和文本。
4
混合型
混合複雜類型元素可以包含元素,屬性和文本。
5
指示符
指示符控制元素在XML文檔中的組織方式。
6
any
<any>
元素用於未由架構定義的元素
7
anyAttribute
<anyAttribute>
屬性用於未由架構定義的屬性。