XSD: solo elemento complejo

Solo elementos complejos solo puede tener otros elementos. Vea el siguiente ejemplo:

<student>	 
   <firstname>Vaneet</firstname>
   <lastname>Gupta</lastname>
   <nickname>Vinni</nickname>
   <marks>95</marks>
</student>

Podemos declarar un elemento complejo de solo elemento usando los siguientes métodos:

Usar atributo de tipo

Defina un elemento de tipo complejo "StudentType" y luego cree un elemento llamado student de tipo StudentType.

<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' />

En el ejemplo anterior, usamos sequence. Se utiliza para mantener el orden en el que los elementos deben estar presentes en el XML. Si no se mantiene el orden, XML no se validará.

Utilice ComplexType solo

Defina un elemento de complexType solo con el elemento de atributo requerido.

<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>