L'élément complexType définit un type de données complexe pour des éléments XML.
<xsd:complexType abstract = booléen : false block = (#all | Liste de (extension | restriction)) final = (#all | Liste de (extension | restriction)) id = ID mixed = booléen : false name = NCName {tout attribut ayant un espace de noms différent de celui du schéma...}> Contenu : (annotation?, (simpleContent | complexContent | ((group | all | choice | séquence)?, ((attribute | attributeGroup)*, anyAttribute?)))) </xsd:complexType>
L'élément complexType possède plusieurs attributs destinés à définir les caractéristiques du type de données complexe.
Attributs | Description |
---|---|
abstract | provoque l'abstraction (true) de l'élément XML, devant être remplacé par un autre élément. |
block | spécifie une valeur de blocage du type dans des éléments attendant le type de base. |
default | précise une valeur par défaut pour l'élément. |
final | empêche la dérivation de type par restriction, extension ou les deux. |
id | précise un identificateur unique pour l'élément. |
mixed | indique un contenu mixte (true) ou un contenu à base d'éléments seuls (false) par défaut. |
name | indique le nom de l'élément XML. |
L'élément complexType ne peut être inclus que dans les éléments suivants :
Exemple [voir]<?xml version="1.0" encoding="ISO-8859-1"?> <element_racine attribut_racine="valeur" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="c:\schema.xsd"> <element_enfant attribut_enfant="valeur"> 10 000 000 euros </element_enfant> <element_enfant attribut_enfant="valeur" snd_attribut_enfant="valeur"> <element_petit_enfant attribut_petit_enfant="valeur"/> Chaîne de caractères... </element_enfant> <![CDATA[<p>Un texte...</p>]]> </element_racine> <?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:complexType name="element_enfantType" mixed="true"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="element_petit_enfant" type="element_petit_enfantType"/> </xsd:choice> <xsd:attribute name="attribut_enfant" type="xsd:string" use="required"/> <xsd:attribute name="snd_attribut_enfant" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="element_petit_enfantType"> <xsd:attribute name="attribut_petit_enfant" type="xsd:string" use="required"/> </xsd:complexType> <xsd:element name="element_racine"> <xsd:complexType mixed="true"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="element_enfant" type="element_enfantType"/> </xsd:choice> <xsd:attribute name="attribut_racine" type="xsd:string" use="required"/> </xsd:complexType> </xsd:element> </xsd:schema> |