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

Élément Explication
Nombre d'apparitions Illimité
Élément parent choice、sequence
Contenu annotation

Grammaire

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
any attributes
>
(annotation?)
</any>

(? L'élément de déclaration de symbole peut apparaître zéro ou une fois dans n'importe quel élément.)

Propriété

id

Optionnel. Définir un ID unique pour cet élément.

maxOccurs

Optionnel. Définir le nombre maximum 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 ne pas poser de limite à la fréquence maximale, utilisez la chaîne "unbounded". La valeur par défaut est 1.

minOccurs

Optionnel. 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 optionnel, configurez cette propriété à zéro. La valeur par défaut est 1.

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 utilisé 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 espace de noms autre que l'espace de noms cible du parent de l'élément 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 les éléments suivants : 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 l'élément any. Si l'attribut processContents n'est pas spécifié, strict est utilisé par défaut. Si processContents est spécifié, il doit être l'un 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, aucun erreur ne se produira.
  • skip - Le processeur XML ne vérifie pas la validité de tous les éléments venant de l'espace de noms spécifié.

any attributes

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

Exemple

L'exemple suivant montre une déclaration d'élément "person". 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>