Xsl : trier et grouper des éléments
kd
-
slooptoo -
slooptoo -
XSL : for-each : afficher un élément une fois
Bonjour à tous, je cherche à afficher le contenu d'un fichier xml qui contient des rubriques et des articles, comme suit :
<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?
<?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>
Bonjour à tous, je cherche à afficher le contenu d'un fichier xml qui contient des rubriques et des articles, comme suit :
<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?
<?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>