Élément any du schéma XML
Définition et utilisation
L'élément any permet à n'importe quel élément de l'espace de noms spécifié de s'afficher dans un élément contenant sequence ou choice.
Cet élément permet aux créateurs d'étendre le document XML à l'aide d'éléments non spécifiés par le schéma.
Informations sur l'élément
Projet | Description |
---|---|
Nombre d'apparitions | Illimité |
Élément parent | choice, sequence |
Contenu | annotation |
Syntaxe
<any id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger namespace=namespace processContents=lax|skip|strict Attributs any > (annotation?) </any>
(? Le symbole indique que l'élément peut apparaître zéro ou une fois dans n'importe quel élément.)
Attribut
id
Facultatif. Définit l'ID unique de cet élément.
maxOccurs
Facultatif. Définit le nombre maximum d'apparitions d'un élément parent. Cette valeur peut être un entier non négatif ou nul. Si vous ne souhaitez pas poser de limite sur le nombre maximum, utilisez la chaîne "unbounded". La valeur par défaut est 1.
minOccurs
Facultatif. Définir le nombre minimum d'apparitions de l'élément any dans l'élément parent. Cette valeur peut être un entier supérieur ou égal à zéro. Pour spécifier que ce groupe any est facultatif, configurez cet attribut à zéro. La valeur par défaut est 1.
namespace
Facultatif. Définir l'espace de noms des éléments utilisables. Si l'espace de noms n'est pas spécifié, la valeur par défaut est ##any. Si un espace de noms est spécifié, il doit être l'une des valeurs suivantes :
- ##any - Les éléments provenant de tout namespace peuvent apparaître (par défaut).
- ##other - Les éléments provenant de tout autre namespace que l'espace de noms cible du parent de l'élément peuvent apparaître.
- ##local - Les éléments non limités par un namespace 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 de références d'URI de namespaces, ##targetNamespace, ##local - Les éléments provenant de la liste de namespaces séparés par des espaces peuvent apparaître. Cette liste peut inclure les éléments suivants : les références d'URI des namespaces ##targetNamespace et ##local.
processContents
Facultatif. Un indicateur indiquant comment l'application ou le traitementur XML doit traiter la validation du document XML en fonction des éléments spécifiés par l'é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 traitementur XML doit obtenir l'architecture nécessaire de l'espace de noms et doit vérifier tous les éléments provenant de ces espaces de noms. (par défaut)
- Lax - Comme strict ; mais, même si l'architecture ne peut pas être obtenue, il ne se produira pas d'erreur.
- Skip - Le traitementur XML ne vérifie pas les éléments provenant de l'espace de noms spécifié.
Attributs any
Facultatif. Définir toute autre propriété portant une namespace non-schématique.
Exemple
L'exemple suivant montre une déclaration d'élément "person" d'exemple. En utilisant l'élément <any>, le créateur peut étendre le contenu de "person" avec n'importe quel élément (après <lastname>):
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>