Le fichier des changements est un fichier un peu différent. En effet, celui-ci est encore plus simple: il ne contient qu'un numéro de version et la liste des changements. De plus, la liste des changements n'étant jamais écrite en plusieurs langues, nous n'avons même pas ce problème à traiter. Dois-je vous donner la feuille de style correspondante ? Je vais tout simplement vous la laisser, et vous tâcherez de deviner son format d'après la feuille de style:
1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 4 <xsl:output method="xml" 5 encoding="ISO-8859-1" 6 doctype-public="-//W3C//DTD XHTML 1.1//EN" 7 doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" 8 indent="yes" 9 /> 10 <xsl:param name="nb_changes">20</xsl:param> 11 12 <xsl:variable name="langs" 13 select="//span[not(@xml:lang=preceding::span/@xml:lang)]/@xml:lang"/> 14 15 <xsl:template match="/changes"> 16 <body> 17 <xsl:apply-templates select="./title" mode="title"/> 18 <table class="changes"> 19 <xsl:apply-templates select="./item[$nb_changes >= position()]"/> 20 </table> 21 </body> 22 </xsl:template> 23 24 <xsl:template match="/changes/item"> 25 <tr> 26 <td class="changes"> 27 <xsl:apply-templates select="version"/> 28 </td> 29 <td class="changes"> 30 <xsl:apply-templates select="text"/> 31 </td> 32 </tr> 33 </xsl:template> 34 35 <xsl:template match="/changes/title" mode="title"> 36 <h1> 37 <xsl:apply-templates select="@*|node()"/> 38 </h1> 39 </xsl:template> 40 41 <xsl:template match="@*|node()"> 42 <xsl:copy> 43 <xsl:apply-templates select="@*|node()"/> 44 </xsl:copy> 45 </xsl:template> 46 47 </xsl:stylesheet>
No comment!
© 2003 Yves Mettier