复杂混合元素可以包含文本,属性和元素。 请参阅以下示例 -
<student rollno = "10010">
Dear <firstname>Susen</firstname>
<lastname>Su</lastname>
<nickname>Susen</nickname>
<marks>95</marks>
</student>
我们可以使用以下方式声明这样的复杂文本 -
1. 使用mixed = true
将属性mixed
设置为true
来定义complexType
。 mixed
属性允许在元素之间包含字符数据。如下所示 -
<xs:complexType name = "StudentType" mixed = "true">
<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' />
2. 仅使用ComplexType
仅使用required
属性来定义complexType
元素。如下所示 -
<xs:element name = 'student'>
<xs:complexType mixed = "true">
<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>