XSD - Elemento vacío complejo

El elemento vacío complejo solo puede tener atributo, pero no contenido. Vea el siguiente ejemplo:

<student rollno = "393" />

Podemos declarar elementos vacíos complejos usando los siguientes métodos:

Usar atributo de tipo

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

<xs:complexType name = "StudentType">
   <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>   
</xs:complexType>

<xs:element name = 'student' type = 'StudentType' />

Utilice ComplexContent

Defina un elemento de complexType con complexContent. ComplexContent especifica que el contenido del elemento debe restringirse.

<xs:element name = "student">
   <xs:complexType>
      <xs:complexContent>
         <xs:restriction base = "xs:integer">
            <xs:attribute name = "rollno" type = "xs:positiveInteger"/>
         </xs:restriction>
      </xs:complexContent>
   </xs:complexType>
</xs:element>

Utilice ComplexType solo

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

<xs:element name = "student">
   <xs:complexType>
      <xs:attribute name = "rollno" type = "xs:positiveInteger"/>
   </xs:complexType>
</xs:element>