Derniers tutoriels de développement web
 

XML Schema complexType Element


<XML Schema Complete Reference

Définition et utilisation

L'élément complexType définit un type complexe. Un élément de type complexe est un élément XML qui contient d'autres éléments et / ou attributs.

Informations sur l'élément

  • Parent elements: élément, redéfinir le schéma

Syntaxe

<complexType
id=ID
name=NCName
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>

(annotation?,(simpleContent|complexContent|((group|all|
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))

</complexType>

(Le signe? Déclare que l'élément peut se produire zéro ou une fois, et le signe * déclare que l'élément peut se produire zéro ou plusieurs fois à l'intérieur de l'élément complexType)

Attribut La description
id Optionnel. Indique un identifiant unique pour l'élément
name Optionnel. Indique un nom pour l'élément
abstract Optionnel. Indique si le type complexe peut être utilisé dans un document d'instance. Vrai indique qu'un élément ne peut pas utiliser ce type complexe directement, mais doit utiliser un type complexe dérivé de ce type complexe. Par défaut est faux
mixed Optionnel. Indique si les données de caractère peuvent apparaître entre les éléments de cet élément de complexType enfant. Par défaut est faux. Si un élément simpleContent est un élément enfant, le mixed attribut est pas autorisé!
block Optionnel. Empêche un type complexe qui a un type de dérivation spécifié soit utilisé à la place de ce type complexe. Cette valeur peut contenir #all ou une liste qui est un sous-ensemble d'extension ou restriction:
  • l'extension - empêche les types complexes dérivés par extension
  • restriction - empêche les types complexes dérivés par restriction
  • #all - empêche tous les types complexes dérivés
final Optionnel. Prévient un mode particulier de dérivation de cet élément de type complexe. Peut contenir #all ou une liste qui est un sous-ensemble d'extension ou de restriction.
  • l'extension - empêche la dérivation par extension
  • restriction - empêche la dérivation par restriction
  • #all - empêche toute dérivation
any attributes Optionnel. Indique tous les autres attributs avec non-schema espace de noms

Exemple 1

L'exemple suivant présente un élément nommé "note" qui est d'un type complexe:

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
  <xs:element name="to" type="xs:string"/>
  <xs:element name="from" type="xs:string"/>
  <xs:element name="heading" type="xs:string"/>
  <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

exemple 2

L'exemple suivant présente un type complexe, "fullpersoninfo" , qui dérive d'un autre type complexe, "personinfo" , en étendant le type hérité avec trois éléments supplémentaires (address, city and country) :

<xs:element name="employee" type="fullpersoninfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

Dans l'exemple ci - dessus le "employee" élément doit contenir, dans l' ordre, les éléments suivants: "firstname" , "lastname" , "address" , "city" , et "country" .


<XML Schema Complete Reference