[XSLT] trier et grouper des données
Bonjour à tous, je cherche à afficher le contenu d'un fichier xml qui contient des rubriques et des articles, comme suit :
Code:
1 2 3 4 5 6 7 8
|
<EXPORT>
<ARTICLES>
<ARTICLE ID="1"><IDRUBRIQUE>5</IDRUBRIQUE> <LIBRUBRIQUE></LIBRUBRIQUE><CONTENU>blablabla</CONTENU></ARTICLE>
<ARTICLE ID="2"><IDRUBRIQUE>2</IDRUBRIQUE> <LIBRUBRIQUE></LIBRUBRIQUE><CONTENU>blablabla</CONTENU></ARTICLE>
<ARTICLE ID="1"><IDRUBRIQUE>5</IDRUBRIQUE> <LIBRUBRIQUE></LIBRUBRIQUE><CONTENU>blablabla</CONTENU></ARTICLE>
</ARTICLES>
</EXPORT> |
Je voudrais faire apparaître le nom de la rubrique une seule fois puis le titre de chaque article rattaché à la rubrique. En utilisant for-each avec ou sans xsl:sort, il ne regroupe pas les rubriques. Quelqu'un aurait une idée?
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?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"/>
<xsl:template match="/">
<xsl:for-each select="EXPORT/ARTICLES_SEMAINE/ARTICLE">
<xsl:sort select="ID_RUBRIQUE"/>
<p><xsl:value-of select="LIB_RUBRIQUE"/><br/><xsl:value-of select="TITRE"/></p>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet> |
Merci. Autre sujet : xsl et cdata
Merci, Erwy, mais j'ai essayé cette méthode, mon parseur ne l'accepte pas pas, il rame et me sort une erreur.
Merci tout de même.
Autre sujet : xsl et cdata
Saurais-tu comment afficher une section cdata en html (interprétation du html pour rendre la mise en forme.)
J'ai regardé la FAQ ( http://xml.developpez.com/faq/?page=3#xslt_cdata) et dans :
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" cdata-section-elements="a e"/> , j'ai remplacé method="xml" par method="html"
Je continue à voir les balises sans mise en forme. Connais-tu la solution? merci d'avance,
kd