複雜元素是一個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> 屬性用於未由架構定義的屬性。 |