transformation non desiree
Bonjour ,je vous met dabord le code ,après on discute ...
1) le fichier xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0" encoding="iso-8859-1"?>
<RECETTES>
<INGREDIENT nom="Ail">
<EFFET>degats<DOMAINE>agilité</DOMAINE></EFFET>
<EFFET>resistance<DOMAINE>maladie</DOMAINE></EFFET>
<EFFET>bouclier<DOMAINE>froid</DOMAINE></EFFET>
</INGREDIENT>
<INGREDIENT nom="Citrouille">
<EFFET>degats<DOMAINE>agilité</DOMAINE></EFFET>
<EFFET>degats<DOMAINE>personalité</DOMAINE></EFFET>
</INGREDIENT>
</RECETTES> |
2) le fichier xsl
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<!-- affichage de tous les ingrédients -->
<xsl:template match="/">
<html>
<head><title>Les ingrédients de l'alchimiste</title>
</head>
<body>
<ul>
<xsl:for-each select="RECETTES/INGREDIENT">
<li>
<xsl:choose>
<xsl:when test="@forme">
<xsl:value-of select="@forme"/> de <xsl:value-of select="@nom"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@nom"/>
</xsl:otherwise>
</xsl:choose>
<ul>
<xsl:for-each select="./EFFET">
<li>
<xsl:value-of select="./text"/> de <xsl:value-of select="./DOMAINE"/>
</li>
</xsl:for-each>
</ul>
</li>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |
voilà : l'affichage n'est pas celui attendu .... pour ceux qui prendront la peine
de l'essayer il manque le texte de la balise Le tout c'est de savoir pourquoi ??