XSD - Solo elemento complesso

Solo elementi complessi può avere solo altri elementi. Vedere il seguente esempio:

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

Possiamo dichiarare un elemento solo elemento complesso utilizzando i seguenti metodi:

Usa l'attributo di tipo

Definire un elemento di tipo complesso "StudentType" e quindi creare un elemento chiamato student di 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' />

Nell'esempio sopra, abbiamo usato sequence. Viene utilizzato per mantenere l'ordine in cui gli elementi devono essere presenti nell'XML. Se l'ordine non viene mantenuto, XML non verrà convalidato.

Usa solo ComplexType

Definire un elemento di complexType solo con l'elemento di attributo richiesto.

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