L'élément <xsl:sort> permet d'effectuer un tri selon des critères spécifiés.
<xsl:sort select="pattern" lang="langue" data-type="text|number|nom" order="ascending|descending" case-order="upper-first|lower-first"/>
Cet élément ne peut apparaître que dans les éléments <xsl:for-each> ou <xsl:apply-templates>.
L'élément <xsl:sort> doit être contenu dans une règle de modèle <xsl:template> qui pointe un des éléments parents de la clé de tri sélectionné par <xsl:sort select="clé_de_tri">.
Le noeud pointé par cette clé sera traîté dans un autre template qui appliquera le tri.
Les attributs :<xsl:template match="élément_parent"> <xsl:apply-templates> <xsl:sort select="clé_de_tri"/> </xsl:apply-templates> </xsl:template> <xsl:template match="élément_fils"> <xsl:apply-templates select="clé_de_tri"/> </xsl:template>
Attribut | Description |
---|---|
select="pattern" | sélectionne des noeuds dans une arborescence source. |
lang="langue" | spécifie un bigramme désignant une langue. |
data-type="text|number|texte" | indique le type de tri à effectuer |
order="ascending|descending" | spécifie un ordre de tri, soit descendant, soit ascendant. |
case-order="upper-first|lower-first" | indique si les majuscules doivent apparaître en premier. |
Cet élément peut être contenu dans les instructions <xsl:apply-templates> et <xsl:for-each>.
Cet élément ne peut contenir aucunes instructions.
Exemple : [voir]<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" media-type="text/html; charset=ISO-8859-1"/> <xsl:template match="/"> <html> <head> <title> La logithèque : <xsl:value-of select="logitheque/categorie[position()=8]/@nom"/> </title> </head> <body> <h2> <xsl:value-of select="logitheque/categorie[position()=8]/@nom"/> </h2> <table border="0"> <tr> <th colspan="2">Logiciel</th> </tr> <tr> <th style="text-align:left">Editeur</th> <th>Langue</th> </tr> <xsl:apply-templates select="logitheque/categorie[position()=8]/logiciel"> <xsl:sort select="nom"/> </xsl:apply-templates> </table> </body> </html> </xsl:template> <xsl:template match="logitheque/categorie[position()=8]/logiciel"> <tr> <td colspan="2" class="c1"> <a href="{editeur/@lien}" target="_blank" style="font-size:10pt; font-weight:bold"> <xsl:apply-templates select="nom"/> </a> - <xsl:apply-templates select="commentaire"/> </td> </tr> <tr> <td> <a href="{editeur/@lien}" target="_blank"> <xsl:apply-templates select="editeur"/> </a> </td> <td> <xsl:apply-templates select="langue"/> </td> </tr> </xsl:template> </xsl:stylesheet> |