复杂类型纯元素只包含其他元素。 请参阅以下示例 -
<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>