Re: XML + XSL + ':'

Stephane Bonhomme <[email protected]> Tue, 29 May 2007 15:54:28 +0200
Newsgroups gmane.text.xml.french.tech
Organization exselt services
Message-ID <1180446868.19970.52.camel@citrouille>
Bonjour,

Le "n:" comme tu l'appelles correspond à l'utilisation d'un préfixe
associé à un namespace. Dans ton document source tu as la déclaration du
préfixe (xmlns:n="..."),

pour pouvoir utiliser le namespace dans la feuille xslt, il faut
également le déclarer :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsmlns:n="...">

(avec le meme ... que dans ton document source)
tu pourras ainsi utiliser le préfixe n dans te expressions xpath et
faire par exemple un <xsl:for-each select="n:TRUC">..

Stéphane.

Le mardi 29 mai 2007 à 15:30 +0200, CHARLIER Cyril a écrit :
> Bonjour à tous,
> 
> je viens vous demander un coup de main car je suis actuellement en
> stage et je dois présenter un fichier XML généré automatiquement via
> XSL.
> 
> Mais le problème vient du fait que la balise racine est de la forme :
> 
> <n:TRUC_ALLER xsi:schemaLocation='...'  xmlns:n='...'  ....>
>  <a>
>    <b>bbbb</b>
>    <c>cccc</c>
>  </a>
> </n:TRUC_ALLER>
> 
> 
> Ensuite j'essaie d'appliquer ceci  :
> 
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> 
> <xsl:template match="/">
>  <html>
>  <body>
>    <h2>Présentation du fichier</h2>
>    <table border="1">
>    <tr bgcolor="#9acd32">
>      <th align="left">1ère Colonne</th>
>      <th align="left">2ième Colonne</th>
>    </tr>
>    <xsl:for-each select="n:TRUC_ALLER/a">
>    <tr>
>      <td><xsl:value-of select="b"/></td>
>      <td><xsl:value-of select="c"/></td>
>    </tr>
>    </xsl:for-each>
>    </table>
>  </body>
>  </html>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> 
> Est-ce que les ":" de la balise racine posent problèmes ?
> Car dès que j'enlève le for-each je n'ai plus d'erreur...
> 
> Merci
> --
> Cyril
> 
-- 
   Stéphane Bonhomme           --           Exselt Services

Formations, Conseil et Réalisations en Ingénierie Documentaire,
            Technologies Web et Logiciels Libres
     [email protected]   -   http://www.exselt.com
        04 57 39 30 78        /      06 88 57 27 08