XSD - Elemento de mezcla compleja
El elemento de mezcla complejo puede tener texto, atributos y elementos. Vea el siguiente ejemplo:
<student rollno = "393">
Dear <firstname>Dinkar</firstname>
<lastname>Kad</lastname>
<nickname>Dinkar</nickname>
<marks>85</marks>
</student>
Podemos declarar dicho texto complejo de las siguientes formas:
Utilice mixto = verdadero
Defina complexType con el atributo "mixto" establecido en verdadero. El atributo "mixto" permite tener datos de caracteres entre elementos.
<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' />
Utilice ComplexType solo
Defina un elemento de complexType solo con el elemento de atributo requerido.
<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>