<table><tr><td>Pommes</td><td>Bananes</td></tr></table>
Ce document XML contient des informations sur une table (un meuble) :
<table><name>Table basse africaine</name><width>80</width><length>120</length></table>
Si ces deux documents XML sont utilisés ensemble, un conflit de noms se produira car les deux documents contiennent des éléments <table> avec un contenu et des définitions différents.
L'analyseur XML ne peut pas déterminer comment gérer de tels conflits.
Les conflits de noms en XML peuvent être facilement évités en utilisant des préfixes de noms.
Ce XML contient des informations sur un tableau HTML et un meuble :
<h:table><h:tr><h:td>Pommes</h:td><h:td>Bananes</h:td></h:tr></h:table><f:table ><f:name>Table basse africaine</f:name><f:width>80</f:width><f:length>120</f:length></f:table>
Dans l'exemple ci-dessus, il n'y a pas de conflit car les deux éléments <table> portent des noms différents.
Lors de l'utilisation de préfixes en XML, un espace de noms pour le préfixe doit être défini.
L'espace de noms est défini dans l'attribut xmlns de la balise d'ouverture de l'élément.
La syntaxe de la déclaration de l'espace de noms est la suivante. xmlns : préfixe =" URI ".
<root><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="//www.w3cschool.cn/furniture"><f:name>Café africain Tableau</f:name><f:width>80</f:width><f:length>120</f:length></f:table></root>
Dans l'exemple ci-dessus, l'attribut xmlns de la balise <table> définit l'espace de noms qualifié pour les préfixes h: et f:.
Lorsqu'un espace de noms est défini dans la balise d'ouverture d'un élément, tous les éléments enfants avec le même préfixe sont associés au même espace de noms.
Les espaces de noms peuvent être déclarés dans l'élément dans lequel ils sont utilisés ou dans l'élément racine XML :
<root xmlns:h="http://www.w3.org/TR/html4/"xmlns:f="//www.w3cschool.cn/furniture"><h:table><h:tr><h :td>Pommes</h:td><h:td>Bananes</h:td></h:tr></h:table><f:table><f:name>Café africain Tableau</f:name><f:width>80</f:width><f:length>120</f:length></f:table></root>
Remarque : Les URI des espaces de noms ne sont pas utilisés par l'analyseur pour rechercher des informations.
Son but est de donner à l'espace de noms un nom unique. Cependant, de nombreuses entreprises utilisent souvent des espaces de noms comme pointeurs vers des pages Web existantes contenant des informations sur l'espace de noms.
Veuillez visiter http://www.w3.org/TR/html4/.
Un Uniform Resource Identifier (URI) est une chaîne de caractères qui identifie une ressource Internet.
L'URI le plus couramment utilisé est une URL (Uniform Resource Locator ) utilisée pour identifier l'adresse d'un nom de domaine Internet. Un autre URI moins couramment utilisé est l’URN (Uniform Resource Name ).
Dans notre exemple, nous utilisons uniquement des URL.
Définir un espace de noms par défaut pour un élément nous évite d'avoir à utiliser un préfixe sur tous les éléments enfants. Sa syntaxe est la suivante :
xmlns="espace de nomsURI"
Ce XML porte les informations du tableau HTML :
<table xmlns="http://www.w3.org/TR/html4/"><tr><td>Pommes</td><td>Bananes</td></tr></table>
Ce XML contient des informations sur un meuble :
<table xmlns="//www.w3cschool.cn/furniture"><name>Table basse africaine</name><width>80</width><length>120</length></table>
XSLT est un langage XML utilisé pour transformer des documents XML dans d'autres formats, tels que HTML.
Dans le document XSLT ci-dessous, vous pouvez voir que la plupart des balises sont des balises HTML.
Les balises non HTML sont préfixées par xsl et identifiées par cet espace de noms :
xmlns:xsl="http://www.w3.org/1999/XSL/Transform":<?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>Mon CD Collection</h2><table><tr><th align="left">Titre</th><th align="left">Artiste</th></tr><xsl:for-each select=" catalog/cd"><tr><td><xsl:valeur de select="title"/></td><td><xsl:valeur de select="title"/></td><td><xsl:valeur de select="artist"/></td></tr></xsl:for-each></table></body></html></xsl:template></xsl:stylesheet>
Si vous souhaitez en savoir plus sur XSLT, retrouvez les didacticiels XSLT sur notre page d'accueil.