élément anyAttribute de XML Schema

définition et utilisation

L'élément anyAttribute permet aux créateurs d'étendre le document XML via des attributs non spécifiés par le schéma.

informations sur l'élément

élément explication
nombre d'apparitions sans restriction
élément parent complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
Contenu annotation

Grammaire

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
Attributs any
>
(annotation?)
</anyAttribute>

(? Le symbole indique que cet élément peut apparaître zéro ou une fois à l'intérieur de l'élément anyAttribute.)

Attributs

id

Optionnel. Définir l'ID unique de cet élément.

namespace

Optionnel. Définir l'espace de noms contenant les éléments utilisables. Si l'espace de noms n'est pas spécifié, ##any est la valeur par défaut. Si un espace de noms est spécifié, il doit être l'une des valeurs suivantes.

  • ##any - Les éléments provenant de tout espace de noms peuvent apparaître (par défaut).
  • ##other - Les éléments provenant de tout autre espace de noms que celui de l'élément parent peuvent apparaître.
  • ##local - Les éléments non limités par un espace de noms peuvent apparaître.
  • ##targetNamespace - Les éléments provenant de l'espace de noms cible du parent de l'élément contenant cet élément peuvent apparaître.
  • Liste des références URI des espaces de noms, ##targetNamespace, ##local - Les éléments provenant de la liste d'espaces de noms séparés par des espaces peuvent apparaître. Cette liste peut inclure ce qui suit : les références URI des espaces de noms ##targetNamespace et ##local.

processContents

Optionnel. Un indicateur indiquant comment l'application ou le processeur XML doit traiter la validation du document XML en fonction de l'élément spécifié par cet élément any. Si l'attribut processContents n'est pas spécifié, la valeur par défaut est strict. Si processContents est spécifié, il doit être l'une des valeurs suivantes.

  • Strict - Le processeur XML doit obtenir l'architecture de l'espace de noms nécessaire et doit vérifier tous les éléments venant de ces espaces de noms. (par défaut)
  • Lax - Comme strict ; mais, même si l'architecture n'est pas disponible, il ne se produit pas d'erreur.
  • Skip - Le processeur XML ne vérifie pas les éléments venant de l'espace de noms spécifié.

Attributs any

Optionnel. Définir toute autre propriété avec l'espace de noms non-schématique.

Exemple

L'exemple suivant montre une déclaration pour l'élément "person". En utilisant l'élément <anyAttribute>, le créateur peut ajouter un nombre illimité d'attributs à l'élément "person":

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