XML Schema anyAttribute 元素
定义和用法
anyAttribute 元素使创作者可以通过未被 schema 规定的属性来扩展 XML 文档。
元素信息
项目 | 说明 |
---|---|
出现次数 | 无限制 |
父元素 | complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)、attributeGroup |
内容 | annotation |
语法
<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 dans l'élément anyAttribute .)
Attributs
id
Facultatif. Définir l'ID unique de cet élément.
espace de noms
Facultatif. Définir l'espace de noms des é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 de références d'URI de l'espace de noms, ##targetNamespace, ##local - Les éléments provenant de la liste d'espaces de noms séparés par des espaces peuvent apparaître. La liste peut contenir ce qui suit : les références d'URI des espaces de noms ##targetNamespace et ##local.
processContents
Facultatif. 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é, 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 le schéma 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 le schéma n'est pas accessible, aucune erreur ne se produira.
- Skip - Le processeur XML ne vérifie pas tous les éléments provenant de l'espace de noms spécifié.
Attributs any
Facultatif. Définir toute autre propriété d'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>