XML Schema schema 元素
定义和用法
schema 元素定义 schema 的根元素。
元素信息
出现次数 | 一次 |
父元素 | (无父元素) |
内容 | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
语法
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union)) targetNamespace=anyURI version=token xmlns=anyURI any attributes > ((include|import|redefine|annotation)*,(((simpleType|complexType| group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
attribut
id
Optionnel. Définit l'ID unique de cet élément.
attributeFormDefault
Optionnel. Forme de l'attribut déclaré dans l'espace de noms cible de ce schéma. Cette valeur doit être l'une des chaînes suivantes : "qualified" ou "unqualified". La valeur par défaut est "unqualified".
- "unqualified" indique que les attributs de l'espace de noms cible ne doivent pas être qualifiés par un préfixe de nom d'espace.
- "qualified" indique que les attributs de l'espace de noms cible doivent être qualifiés par un préfixe de nom d'espace.
elementFormDefault
Optionnel. Forme de l'élément déclaré dans l'espace de noms cible de ce schéma. Cette valeur doit être l'une des chaînes suivantes : "qualified" ou "unqualified". La valeur par défaut est "unqualified".
- "unqualified" indique que les éléments de l'espace de noms cible ne doivent pas être qualifiés par un préfixe de nom d'espace.
- "qualified" indique que les éléments de l'espace de noms cible doivent être qualifiés par un préfixe de nom d'espace.
blockDefault
Optionnel. Définit la valeur par défaut de l'attribut block sur les éléments element et complexType dans l'espace de noms cible. L'attribut block empêche les types complexes (ou éléments) avec un type dérivé spécifié d'être utilisés pour remplacer les types complexes (ou éléments) hérités. Cette valeur peut inclure #all ou une liste, qui est un sous-ensemble d'extension, de restriction ou de substitution :
- extension - Empêche les types complexes dérivés par extension d'être utilisés pour remplacer ce type complexe.
- restriction - Empêche les types complexes dérivés par restriction d'être utilisés pour remplacer ce type complexe.
- substitution - Empêche le remplacement de l'élément.
- #all - Empêche tous les types complexes dérivés d'être utilisés pour remplacer ce type complexe.
finalDefault
Optionnel. Définit la valeur par défaut de l'attribut final des éléments element, simpleType et complexType dans l'espace de noms cible de cette architecture. L'attribut final empêche l'élément, le simpleType ou le complexType d'être remplacé par un type dérivé spécifié. Pour les éléments et les éléments complexType, cette valeur peut inclure #all ou une liste, qui est un sous-ensemble d'extension ou de restriction. Pour les éléments simpleType, cette valeur peut également inclure list et union :
- extension - Par défaut, les éléments de ce schema ne peuvent pas être dérivés par extension. Se rapporte uniquement aux éléments element et complexType.
- restriction - Empêche la dérivation par restriction.
- list - Empêche la dérivation par liste. Se rapporte uniquement aux éléments simpleType.
- union - Empêche la dérivation par union. Se rapporte uniquement aux éléments simpleType.
- #all - Par défaut, les éléments de ce schema ne peuvent pas être dérivés par aucune méthode.
targetNamespace
La référence URI de l'espace de noms de ce schema. Il est également possible d'attribuer un préfixe à cet espace de noms. Si aucun préfixe n'est attribué, les composants schema de cet espace de noms peuvent être utilisés avec des références non limitées.
version
Optionnel. Définir la version du schema.
xmlns
Définir une ou plusieurs références URI d'espace de noms utilisés dans ce schema. Si aucun préfixe n'est attribué, le composant schema de cet espace de noms peut être utilisé avec des références non limitées.
any attributes
Optionnel. Définir toute autre propriété avec un espace de noms non schema.
Exemple
Exemple 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Exemple 2
Dans cet exemple, le composant schema (nom de l'élément, type) dans l'espace de noms http://www.w3.org/2001/XMLSchema est non limité, tandis que http://www.codew3c.com/codew3cschema (mystring) est limité par le préfixe wsc :
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"> xmlns:wsc="http://www.codew3c.com/codew3cschema" <element name="fname" type="wsc:mystring"/> </schema>