XSD - Élément complexe uniquement

Les éléments complexes uniquement ne peuvent avoir que d'autres éléments. Voir l'exemple suivant -

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

Nous pouvons déclarer un élément complexe uniquement en utilisant les méthodes suivantes -

Utiliser l'attribut type

Définissez un élément de type complexe "StudentType" puis créez un élément appelé student de type 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' />

Dans l'exemple ci-dessus, nous avons utilisé sequence. Il est utilisé pour maintenir l'ordre dans lequel les éléments doivent être présents dans le XML. Si l'ordre n'est pas maintenu, XML ne sera pas validé.

Utiliser ComplexType seul

Définissez un élément de complexType avec l'élément d'attribut requis uniquement.

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