Élément <xsd:element>

Déclare un élément.

<element
  abstract = Boolean : false
  block = (#all | List of (extension | restriction | substitution))
  default = string
  final = (#all | List of (extension | restriction))
  fixed = string
  form = (qualified | unqualified)
  id = ID
  maxOccurs = (nonNegativeInteger | unbounded) : 1
  minOccurs = nonNegativeInteger : 1
  name = NCName
  nillable = Boolean : false
  ref = QName
  substitutionGroup = QName
  type = QName
  {any attributes with non-schema Namespace}...>
Content: (annotation?, ((simpleType | complexType)?, (unique | key |
keyref)*))
</element>

Attributs

  • abstract
    Indique si l'élément peut être utilisé dans un document d'instance. Si cette valeur est true, l'élément ne peut pas apparaître dans le document d'instance. Un autre élément dont l'attribut substitutionGroup contient le nom qualifié (QName) de cet élément devra apparaître à la place de cet élément. Plusieurs éléments peuvent faire référence à cet élément dans leur attribut substitutionGroup.

    La valeur par défaut est false.

    Facultatif.

  • block
    Type de dérivation. L'attribut block empêche d'utiliser un élément du type de dérivation spécifié à la place de cet élément. Cette valeur peut contenir #all ou une liste constituant un sous-ensemble de l'attribut extension, restriction ou substitution.

    extension

    Empêche d'utiliser des éléments dérivés par extension à la place de cet élément.

    restriction

    Empêche d'utiliser des éléments dérivés par restriction à la place de cet élément.

    substitution

    Empêche d'utiliser des éléments dérivés par substitution à la place de cet élément.

    #all

    Empêche d'utiliser tous les éléments dérivés à la place de cet élément.

    Facultatif.

  • default
    Valeur par défaut de l'élément si son contenu est de type simple ou textOnly.

    Les attributs fixed et default s'excluent mutuellement.

    Si l'élément contient un type simple, cette valeur doit être une valeur valide de ce type.

    Facultatif.

  • substitutionGroup
    Nom d'un élément pouvant se substituer à cet élément. Cet élément doit être du même type que l'élément spécifié, ou d'un type dérivé de ce type.

    L'attribut peut être utilisé sur n'importe quel élément si l'élément qui contient la référence est déclaré au niveau global (le parent est l'élément schema).

    Cette valeur doit être un nom qualifié (QName).

    Facultatif.

  • final
    Type de dérivation. L'attribut final définit la valeur par défaut de l'attribut final pour l'élément element. Cette valeur peut contenir #all ou une liste constituant un sous-ensemble de l'attribut extension ou restriction.

    extension

    Empêche d'utiliser des éléments dérivés par extension à la place de cet élément.

    restriction

    Empêche d'utiliser des éléments dérivés par restriction à la place de cet élément.

    #all

    Empêche d'utiliser tous les éléments dérivés à la place de cet élément.

    Interdit si l'élément conteneur n'est pas l'élément schema.

    Facultatif.

  • fixed
    Valeur prédéterminée et non modifiable de l'élément si son contenu est de type simple ou textOnly.

    Les attributs fixed et default s'excluent mutuellement.

    Facultatif.

  • form
    Forme de l'élément. La valeur par défaut est la valeur de l'attribut elementFormDefault de l'élément schema qui contient l'attribut. La valeur doit correspondre à l'une des chaînes suivantes : « qualified » ou « unqualified ».

    Si la valeur est « unqualified », cet élément ne doit pas nécessairement être qualifié par le préfixe d'espace de noms.

    Si la valeur est « qualified », cet élément doit être qualifié par le préfixe d'espace de noms.

    Facultatif.

  • id
    ID de cet élément. La valeur id doit être du type ID et unique dans le document contenant cet élément.

    Facultatif.

  • maxOccurs
    Nombre maximal d'occurrences de l'élément dans l'élément conteneur. La valeur peut être un entier supérieur ou égal à 0. Pour ne pas définir de nombre maximal, utilisez la chaîne « unbounded ».

    Interdit si l'élément conteneur est l'élément schema.

    Facultatif.

  • minOccurs
    Nombre minimal d'occurrences de l'élément dans l'élément conteneur. La valeur peut être un entier supérieur ou égal à 0. Pour spécifier que cet élément est facultatif, définissez cet attribut sur zéro.

    Interdit si l'élément conteneur est l'élément schema.

    Facultatif.

  • name
    Nom de l'élément. Ce nom doit être un NCName, comme défini dans la spécification sur les espaces de noms XML. Les attributs Name et ref ne peuvent pas être présents en même temps.

    Obligatoire si l'élément conteneur est l'élément schema.

    Facultatif.

  • nillable
    Indique si une valeur nulle explicite peut être assignée à l'élément. Cela s'applique au contenu de l'élément et non à ses attributs. La valeur par défaut est false.

    Si nillable a la valeur true, une instance de l'élément peut avoir l'attribut nil défini sur true. L'attribut nil est défini comme partie intégrante de l'espace de noms du schéma XML pour les instances.

    Par exemple, le fragment suivant définit un seul élément avec nillable défini sur true.

    <xs:element name="myDate" type="xs:date" nillable="true"/>
    

    Le fragment suivant utilise cet élément et fait figurer une valeur nulle explicite (attribut nil défini sur true).

    <myDate xsi:nil="true"></myDate>
    

    Facultatif.

  • ref
    Nom d'un élément déclaré dans ce schéma (ou autre schéma indiqué par l'espace de noms spécifié). La valeur ref doit être un nom qualifié (QName). L'attribut ref peut inclure un préfixe d'espace de noms.

    Interdit si l'élément conteneur est l'élément schema.

    Si l'attribut ref est présent, les éléments complexType, simpleType, key, keyref et unique et les attributs nillable, default, fixed, form, block et type ne peuvent pas être présents.

    <xs:element ref="comment"/>
    

    Facultatif.

  • type
    Soit le nom d'un type de données intégré, soit le nom d'un élément simpleType ou complexType défini dans ce schéma (ou autre schéma indiqué par l'espace de noms spécifié). La valeur fournie doit correspondre à l'attribut name de l'élément simpleType ou complexType auquel il est fait référence.

    Les attributs type et ref s'excluent mutuellement.

    Pour déclarer un élément à l'aide d'une définition de type simple ou complexe existante, utilisez l'attribut type pour spécifier le type existant.

    <xs:element name="name" type="xs:string"/>
    

    Facultatif.

Informations sur l'élément

Nombre d'occurrences

Nombre d'éléments définis dans le schéma.

Éléments parents

schema, choice, all, sequence

Contenu

simpleType, complexType, key, keyref, unique

Notes

Une déclaration d'élément associe un nom à une définition de type, qui peut être un type de données intégré, un type simple ou un type complexe.

Des déclarations d'éléments peuvent être présentes en tant qu'éléments enfants de l'élément schema (de portée globale) ou au sein de définitions de types complexes. Pour les types complexes, des déclarations d'éléments peuvent être présentes en tant que déclarations locales ou que références aux éléments de portée globale.

Les déclarations d'éléments de portée globale doivent définir directement des types complexes.

Un élément simpleType ou complexType peut être présent en tant qu'enfant uniquement si les attributs ref et type ne sont pas présents.

En outre, des éléments peuvent apparaître par référence dans des éléments choice, all, sequence et complexType.

Exemples

L'exemple suivant contient deux éléments qui peuvent faire office de substituts pour un autre élément.

Autres ressources

Pour plus d'informations, consultez le document du W3C sur les schémas XML, notamment le tome 1 relatif aux structures, à l'adresse www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all.

Voir aussi

Référence

Référence du schéma XML (XSD)
Éléments de schéma XML