Définit si une image defond est fixe ou défile avec le reste de la page
Les espaces de noms XML (namespaces en anglais) sont une des spécifications XML les plus simples mais aussi les plus mal comprises.
Les espaces de noms XML (namespaces en anglais) sont une des spécifications XML les plus simples mais aussi les plus mal comprises.
Espaces de noms XML fournissent une méthode pour éviter les conflits de noms d’élément.
En XML, noms des éléments sont définis par le développeur. Cela aboutit
souvent à un conflit lorsque vous tentez de mélanger des documents XML
à partir de différentes applications XML.
Exemple 1 : voici un exemple pour comprendre le
problème de conflit de noms
Ce texte XML comporte des informations de la table HTML :
Exemple : Copier le code
<table> <tr> <td>Pommes</td> <td>Bananes</td> </tr> </table>
Ce texte XML comporte des informations sur une table (une pièce de mobilier) :
Exemple : Copier le code
<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
Si ces fragments XML ont été ajoutés ensemble, il y aurait un conflit
de nom. Les deux comportent un élément <table>, mais les
éléments ont des sens et contenu différent.
Exemple 2 : un second exemple pour comprendre encor
plus ce problème.
Imaginez que nous avons un document XML contenant une liste de livres.
Quelque chose comme ceci :
Exemple : Copier le code
<books> <book> <title>Le rouge et le noir</title> <author>Madame Bovarie</author> </book> ... </books>
Et Imaginez que nous voulons combiner le fichier XML ci-dessus avec la page HTML suivante :
Exemple : Copier le code
<html> <head> <title>Liste de livres intéressants </title> </head> <body> <h2>Liste de livres...</h2> <p>Livre 1 . .. </p> . . . (XML content goes here) </body> </html>
Nous rencontrerons un problème si nous essayons de combiner les
documents ci-dessus. C'est parce qu'ils ont tous deux un élément appelé
title. L'un est le titre du livre, l'autre est le titre de la
page HTML. Nous avons donc un conflit de nom.
Un analyseur XML ne saura pas comment gérer ces différences.
Ce que nous pouvons faire pour empêcher ce conflit de nom est, créer un
espace de noms pour le document XML.
Les conflits de nom XML peuvent facilement être évitées à l'aide d'un
préfixe de nom.
Ce fichier XML comporte des informations sur un tableau HTML et une
pièce de mobilier :
Exemple : Copier le code
<h:table> <h:tr> <h:td>Pommes</h:td> <h:td>Bananes</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
Dans l'exemple ci-dessus, il n'y aura aucun conflit parce que les deux éléments <table> ont des noms différents.
Lors de l'utilisation de préfixes en XML, un soi-disant espace
de noms pour le préfixe doit être défini.
L'espace de noms est défini par l'
attribut xmlns dans la balise de début
d'un élément.
La déclaration d'espace de noms a la syntaxe suivante. xmlns
:préfixe= "URI".
Exemple : Copier le code
<racine> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Pommes</h:td> <h:td>Bananes</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.site.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </racine>
Dans l'exemple ci-dessus, l'attribut xmlns dans la balise <table>
donnent les préfixes h: et f: un espace de noms qualifié.
Lorsqu'un espace de noms est défini pour un élément, tous les éléments
enfants avec le même préfixe sont associées avec le même espace de
noms.
Espaces de noms peuvent être déclarés dans les éléments où ils sont
utilisés ou dans l'élément racine XML :
Exemple : Copier le code
<racine xmlns:h="http://www.w3.org/TR/html4/" mlns:f=" http://www.site.com/furniture"> <h:table> <h:tr> <h:td>Pommes</h:td> <h:td>Bananes</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </racine>
Note : L'espace de noms URI n'est pas utilisée par
l'analyseur pour rechercher des informations. Le but est de donner à
l'espace de noms un nom unique. Toutefois, souvent les entreprises
utilisent l'espace de noms comme un pointeur vers une page web
contenant des informations de l'espace de noms.
Essayez d'aller à http://www.w3.org/TR/html4/.
L'Identificateur de ressource uniforme (URI : Uniform
Resource Identifier) est une chaîne de caractères qui identifie une
ressource Internet.
Le type d’URI la plus courante est le Uniform
Resource Locator (URL) qui identifie une adresse de
domaine Internet. Un autre type d'URI, pas tellement répandue est le
Nom de ressource universel (URN).
Définir un espace de noms par défaut pour un élément nous sauve de l'utilisation de préfixes dans tous les éléments de l'enfant. Il a la syntaxe suivante :
xmlns="namespaceURI"
Cette XML comporte des informations de la table HTML :
Exemple : Copier le code
<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Pommes</td> <td>Bananes</td> </tr> </table>
Cette XML comporte des informations sur une pièce de mobilier dans un site par exemple:
Exemple : Copier le code
<table xmlns="http://www.site.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
XSLT est un langage XML qui peut être utilisé pour transformer des
documents XML dans d'autres formats, comme le HTML.
Dans le document XSLT ci-dessous, vous pouvez voir que la plupart des
balises sont des balises HTML.
Les balises qui ne sont pas des balises HTML ont le préfixe xsl,
identifié par l'espace de noms xmlns = "http://www.w3.org/1999/XSL/Transform"
:
Exemple : Copier le code
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Si vous souhaitez en savoir plus sur XSLT, vous trouverez notre tutoriel XSLT à notre page d'accueil.
Cours precedent: XPATH operateurs et fonction |
Sommaire de : Le langage XML |