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