XSD - Elemento vazio complexo

O elemento vazio complexo só pode ter atributo, mas nenhum conteúdo. Veja o seguinte exemplo -

<student rollno = "393" />

Podemos declarar elementos Complex Empty usando os seguintes métodos -

Use o atributo de tipo

Defina um elemento de tipo complexo "StudentType" e, em seguida, crie o elemento student do tipo "StudentType".

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

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

Use ComplexContent

Defina um elemento de complexType com complexContent. ComplexContent especifica que o conteúdo do elemento deve ser restrito.

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

Use ComplexType sozinho

Defina um elemento de complexType apenas com o elemento de atributo obrigatório.

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