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