l'élément schema de XML Schema
définition et utilisation
l'élément schema définit le point racine du schéma.
information de l'élément
fois | une |
parentElement | (无父元素) |
contenu | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
grammaire
<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éfinir l'ID unique de cet élément.
attributeFormDefault
Optionnel. Forme des attributs déclarés 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 des éléments déclarés 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éfinir 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 l'utilisation de types complexes (ou d'éléments) dérivés spécifiés pour remplacer les types complexes (ou éléments) hérités. Cette valeur peut contenir #all ou une liste contenant des éléments de la sous-ensemble extension, restriction ou substitution :
- extension - Empêcher l'utilisation de types complexes dérivés par extension pour remplacer ce type complexe.
- restriction - Empêcher l'utilisation de types complexes dérivés par restriction pour remplacer ce type complexe.
- substitution - Empêcher le remplacement des éléments.
- #all - Empêcher tous les types complexes dérivés d'être utilisés pour remplacer ce type complexe.
finalDefault
Optionnel. Définir la valeur par défaut des attributs final des éléments element, simpleType et complexType dans l'espace de nom cible de l'architecture. L'attribut final empêche la dérivation de types spécifiés pour element, simpleType ou complexType. Pour element et complexType, cette valeur peut contenir #all ou une liste qui est un sous-ensemble de extension ou restriction. Pour les éléments simpleType, cette valeur peut également contenir list et union :
- extension - Par défaut, les éléments de ce schéma ne peuvent pas être dérivés par extension. Se applique uniquement aux éléments element et complexType.
- restriction - Empêche la dérivation par restriction.
- list - Empêche la dérivation par liste. Se applique uniquement aux éléments simpleType.
- union - Empêche la dérivation par union. Se applique uniquement aux éléments simpleType.
- #all - Par défaut, les éléments de ce schéma ne peuvent pas être dérivés par aucun moyen.
targetNamespace
La référence URI de l'espace de nom du schéma. Il est également possible d'attribuer un préfixe à cet espace de nom. Si aucun préfixe n'est attribué, le composant schema de cet espace de nom peut être utilisé avec des références non limitées.
version
Optionnel. Définir la version du schéma.
xmlns
Définir une ou plusieurs références URI d'espace de nom utilisées dans ce schéma. Si aucun préfixe n'est attribué, le composant schema de cet espace de nom peut être utilisé avec des références non limitées.
any attributes
Optionnel. Définir toute autre propriété avec un espace de nom 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 nom http://www.w3.org/2001/XMLSchema n'est pas 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>