cas concret [XSLT] - XML/XSL - Programmation
Marsh Posté le 05-02-2005 à 17:21:32
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:key name="getConsoleByFabricant" use="fabricant/text()" match="//console"/>
<xsl:template match="/">
<ul>
<xsl:apply-templates select="//fabricants/fabricant"/>
</ul>
</xsl:template>
<xsl:template match="fabricant">
<li>
<xsl:value-of select="nom"/> : <xsl:apply-templates select="key('getConsoleByFabricant', @id)"/>
</li>
</xsl:template>
<xsl:template match="console">
<xsl:value-of select="nom"/>
<xsl:if test="position() != last()">, </xsl:if>
</xsl:template>
</xsl:stylesheet>
Marsh Posté le 08-02-2005 à 22:08:31
merci beaucoup,
c'est exactement ce que je cherchais
Marsh Posté le 10-02-2005 à 15:09:58
je commence à comprendre, mais je bloque de nouveau,
je voudrais maintenant un résultat comme ceci:
(meme source xml mais avec des elements <console> en plus)
Code :
|
la méthode que j'ai trouvé fonctionne avec une nouvelle <key>
et ceci : <xsl:for-each select="/console[generate-id(.)=generate-id(key('key', yyy))]/xxx">
mais je n'arrive pas à l'appliquer correctement
Marsh Posté le 05-02-2005 à 14:52:40
Je débute en XML, et rebute sur le XSLT.
j'ai fait le tour des tutos, mais je ne trouve pas de solution,
et comme des lignes de codes valent mieux qu'un long discours...
XML:
mon XSL est à modifier:
le résultat attendu serait quelque chose qui ressemble à ca :
mais je n'arrive pas à afficher les articles de chaque fabricants.
Message édité par oirom le 10-02-2005 à 14:53:32