Vous êtes sur la page 1sur 8

Accueil   Documentation Eclipse 

Rational Software Architect Standard Edition 7.5.5


Guide d'utilisation pour développement d'application Web 
Modification des fichiers de langage de marquage  Utilisation des schémas XML 

Précédent Suivant

Espaces de nom XML


Rechercher dans tous les produits

Rechercher dans ce produit... 


 Table des matières Modifier la version ou le produit 

 Imprimer  PDF   Aide Présentation

Evaluez ce contenu
 Conception et modélisation

 Développement

 Gestion des modifications et des éditions

 Visites guidées

 Tutoriels

 Exemples

 Extension de la fonction du produit

 Identification et résolution des incidents et assistance

 Références

 Glossaire

 Documentation Eclipse

 Concepts de base du plan de travail

 Guide BIRT

 Guide d'utilisation de la plateforme d'outils de données

 Guide d'utilisation pour développeurs Java

 Guide des outils de développement JSDT (Javascript Development Toolkit)

 Guide d'utilisation des outils JSF (JavaServer Faces)

 Guide d'utilisation de l'environnement de développement de plug-in (PDE)


 Guide d'utilisation pour développement d'application Web

 Création d'applications Web

 Création d'applications Java EE et d'entreprise


Un espace de nom XML est une collection de noms, identifiés par une référence URI, et
 Modification des fichiers de langage de marquage
utilisés dans des documents XML comme types d'éléments et noms d'attributs.
 Editeur de texte structuré

Les 
espaces de nom
Utilisation XML sont définis
des définitions DTD par une recommandation W3C datant du 16 août
2006, appelée Namespaces in XML. Les noms de balise XML doivent être globalement
uniques, et courts pour des raisons de performances. Pour résoudre ce conflit, la
recommandation d'espace de nom W3C définit un attribut xmlns capable de modifier tout
élément XML. Si celui-ci existe dans un élément, il identifie l'espace de nom de cet
élément.
L'attribut xmlns possède la syntaxe suivante :

xmlns :préfixe=espace de nom

où espace de nom est un identificateur URI unique (tel que www.ibm.com) et où préfix
e représente l'espace de nom et fournit un pointeur le désignant.

Dans la définition d'élément de client suivante, un nom d'espace comptable est défini pour
pouvoir distinguer les balises d'élément de celles qui apparaissent dans les archives du
client créées via d'autres applications de gestion :

Evaluez ce contenu
<acct:customer xmlns:acct="http://www.my.com/acct-REV10">
<acct:name>Corporation</acct:name>
<acct:order acct:ref="5566"/>
<acct:status>invoice</acct:status>
</acct:customer>

La définition de l'espace de nom de la première ligne attribue l'espace de nom


http://www.my.com/acct-REV10 au préfixe. Celui-ci est utilisé sur les noms d'élément tels
que le nom afin de les joindre à l'espace de nom. Une seconde application, par exemple, un
système de distribution, peut attribuer un espace de nom différent à ses éléments client :

<ful:customer xmlns:ful="http://www.your.com/ful">
<ful:name>Corporation</ful:name>
<ful:order ful:ref="A98756"/>
<ful:status>shipped</ful:status>
</ful:customer>

Une application traitant les deux structures de données peut désormais traiter
différemment les données comptables et de distribution. Il existe un espace de nom par
défaut Il est défini si aucun nom local n'est affecté dans la définition d'espace de nom :
défaut. Il est défini si aucun nom local n est affecté dans la définition d espace de nom :

<acct:customer xmlns="http://www.my.com/acct-REV10" xmlns:acct="http://ww


<name>Corporation</name>
<order acct:ref="5566"/>
<status>invoice</status>
</customer>

Dans cet exemple, toutes les balises de l'archive du client peuvent être localisées dans
l'espace de nom http://www.my.com/acct-REV10. Aucun préfixe explicite n'est requis car
l'espace de nom par défaut est utilisé. Notez que l'espace de nom par défaut s'applique à
toutes les définitions d'attributs.

Schémas et espaces de nom XML


Dans le schéma XML suivant, l'espace de nom par défaut du schéma est défini comme
l'espace de nom standard du schéma XML http://www.w3.org/2001/XMLSchema. Il existe
également un espace de nom spécifique au schéma http://www.ibm.com.

<?xml version="1.0"?>

Evaluez ce contenu
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://
<simpleType name="ZipCodeType">
<restriction base="integer">
<minInclusive value="10000"/>
<maxInclusive value="99999"/>
</restriction>
</simpleType>
<!--définitions d'élément ignorées -->
</schema>

En supposant que le précédent schéma XML est enregistré C:\temp\TestSchema.xsd, le


fichier XML échantillon validé par ce schéma est :

<?xml version="1.0"?>
<x:addressList xmlns:x="http://www.ibm.com" xmlns:xsi="http://www.w3.org/
xsi:schemaLocation="http://www.ibm.com file:///C:/temp/TestSchema.xsd">
<x:address>
<x:street>x:Vangerowstrasse</x:street>
<x:zipCode>69115</x:zipCode>
<x:city>x:Heidelberg</x:city>
y g / y
</x:address>
<x:address>
<x:street>x:Bernal Road</x:street>
<x:zipCode>90375</x:zipCode>
<x:city>x:San Jose</x:city>
</x:address>
</x:addressList>

Espace de nom cib


cible
L'espace de nom cible
cib sert à identifier l'espace de nom dans lequel existe l'association
entre l'élément et son nom. En cas de déclarations, cette association détermine l'espace de
nom des éléments dans des fichiers XML correspondant au schéma. Un fichier XML
important un schéma doit désigner son espace de nom cib
cible dans l'attribut
schemaLocation. Toute disparité entre l'espace de nom cible
cib et l'espace de nom réel d'un
élément sera considérée comme une erreur de validation du schéma. Dans notre exemple,
l'espace de nom cible
cib est http://www.ibm.com. Il est défini dans le fichier de schéma XML
et désigné deux fois dans le fichier XML. Toute disparité entre ces trois occurrences de

Evaluez ce contenu
l'espace de nom entraînent des erreurs de validation.

Les exemples suivants démontrent comment des espaces de nom cibles


cib et des préfixes
d'espace de nom sont utilisés dans des schémas XML et leurs documents d'instance XML
correspondants.

Exemple 1 : Un schéma comportant à la fois un nom


d'espace par défaut et cible
cib et des éléments locaux non
qualifiés
Le schéma XML :

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://
<complexType name="AddressType">
<sequence>
<element name="name" type="string"></element>
</sequence>
</complexType>
<element name="MyAddress" type="x:AddressType"></element>
</schema>
Voici un exemple de document d'instance XML valide créé à partir de ce schéma. Les
éléments et attributs locaux ne sont pas qualifiés.

<?xml version="1.0"?>
<x:MyAddress xmlns:x="http://www.ibm.com" xmlns:xsi="http://www.w3.org/20
<name>Peter Smith</name>
</x:MyAddress>

Lorsque des éléments (tel que l'élément "nom") et des attributs locaux ne sont pas
qualifiés dans un fichier XML, seul l'élément principal est alors qualifié. Ainsi, dans cet
exemple, le préfixe d'espace de nom "x" est affecté à l'élément principal "MyAddress", ce
qui l'associe à l'espace de nom "http://www.ibm.com", mais le préfixe "x" n'est pas affecté à
l'élément local "nom".

Exemple 2 : Un schéma comportant à la fois un nom


d'espace par défaut et cible
cib et des éléments locaux
qualifiés

Evaluez ce contenu
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://
<complexType name="AddressType">
<sequence>
<element name="name" type="string"></element>
</sequence>
</complexType>
<element name="MyAddress" type="x:AddressType"></element>
</schema>

Voici un exemple de document d'instance XML valide créé à partir de ce schéma. Les
attributs et éléments locaux sont qualifiés car l'attribut elementFormDefault est défini sur
la valeur "qualifié" dans le schéma XML.

<?xml version="1.0"?>
<x:MyAddress xmlns:x="http://www.ibm.com" xmlns:xsi="http://www.w3.org/
xsi:schemaLocation="http://www.ibm.com x.xsd ">
<x:name>Peter Smith</x:name>
</x:MyAddress>
</x:MyAddress>

Dans cet exemple, le préfixe d'espace de nom "x" est affecté à l'élément principal
"MyAddress" et à l'élément local "nom", ce qui les associe à l'espace de nom
"http://www.ibm.com".

Exemple 3 : Schéma comportant un espace de nom


cible et définissant de façon explicite xmlns:xsd
cib
Ce schéma XML ajoute cet attribut :

xmlns:xsd="http://www.w3.org/2001/XMLSchema
Cela signifie que chaque construction définie par le langage du schéma XML devra être
qualifiée par le préfixe "xsd". Par exemple, xsd:complexType et xsd:string

. Notez que vous pouvez choisir d'autres préfixes, tels que "xs" ou "foobar" dans votre
déclaration et syntaxe.

Vous pouvez spécifier ce préfixe dans la page des préférences du schéma XML. Pour plus
d'informations, voir Tâches connexes.

Evaluez ce contenu
Tous les types définis par l'utilisateur appartiennent à l'espace de nom
http://www.ibm.com, tel que le définit l'attribut targetNamespace, et le préfixe est "x", tel
que le définit l'attribut xmlns:x.

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace=
<xsd:complexType name="AddressType">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"></xsd:element
</xsd:sequence>
</xsd:complexType>
<xsd:element name="MyAddress" type="x:AddressType"></xsd:element>
</xsd:schema>

Voici un exemple de document d'instance XML valide créé à partir de ce schéma. Les
éléments et attributs locaux ne sont pas qualifiés. La sémantique de qualification est la
même que celle de l'exemple 1.

<?xml version="1.0"?>
<x:MyAddress xmlns:x="http://www.ibm.com" xmlns:xsi="http://www.w3.org/2
<name>Peter Smith</name>
</x:MyAddress>

Exemple 4 : Schéma comportant un espace de nom


cible non déclaré définissant de façon explicite
cib
xmlns:xsd
Ce schéma XML ne possède aucun espace de nom cib
cible. Dans ce cas, il est fortement
recommandé que toutes les constructions du schéma XML soient explicitement qualifiées
par un préfixe tel que "xsd". Les définitions et les déclarations issues de ce schéma (telles
que AddressType) sont désignées sans aucune qualification d'espace de nom car il n'existe
aucun préfixe d'espace de nom.

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="AddressType">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"></xsd:element>
<xsd:element name="name" type="xsd:string"></xsd:element>

Evaluez ce contenu
<xsd:element name="name" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="MyAddress" type="AddressType"></xsd:element>
</xsd:schema>

Voici un exemple de document d'instance XML valide créé à partir du schéma. Tous les
éléments sont non qualifiés.

<?xml version="1.0"?>
<MyAddress xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNa
<name>name</name>
</MyAddress>

Please note that DISQUS operates this forum. When you sign in to comment, IBM will provide your
email, first name and last name to DISQUS. That information, along with your comments, will be
governed by DISQUS’ privacy policy. By commenting, you are accepting the DISQUS terms of
service.

Connexion

0 Comments 🔒 Disqus' Privacy Policy

t Tweet f Share Sort by Best

Nothing in this discussion yet.

⚠ Do Not Sell My Data

Voulez-vous...
Ouvrir un ticket et télécharger les correctifs Trouver une meilleure pratique pour
depuis le portail de support IBM l'intégration de technologies dans IBM

Evaluez ce contenu
Trouver un tutoriel technique dans IBM Redbooks

Developer Explorer, apprendre et réussir grâce aux


formations sur IBM Skills Gateway

Contact Confidentialité Conditions d'utilisation Accessibilité Commentaires en retour

Français 

Vous aimerez peut-être aussi