複雜型別純元素只包含其他元素。 請參閱以下範例 -
<student>
<firstname>Machine</firstname>
<lastname>Su</lastname>
<nickname>Machine</nickname>
<marks>99</marks>
</student>
我們可以使用以下方法宣告XSD複雜型別-純元素 -
1. 使用type屬性
定義複雜型別元素StudentType
,然後建立一個StudentType
型別的student
元素。
<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:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name = 'student' type = 'StudentType' />
在上面的例子中,我們使用了序列。 它用於維護元素在XML中的存在順序。 如果未維護順序,則不會驗證XML。
2. 僅使用ComplexType
僅使用required
屬性定義complexType
元素。
<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:string"/>
</xs:sequence>
<xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
</xs:complexType>
</xs:element>