[XSLT] Comment préciser la localisation via la fonction count() ?
Bonjour,
Voici la suite de mes aventures !
J'ai le code XML ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| <?xml version="1.0" encoding="UTF-8"?>
<enregistrements>
<audios>
<enseignements>
<auteur nom="Dess">
<album titre="Un sens à sa vie !">
<largeur>462</largeur>
<regroupement sous_titre="Etes-vous heureux ?">
<ligne>Certainement !</ligne>
<ligne>Assurément !
<plus>texte1</plus>
</ligne>
<ligne>Ca c'est sûr !</ligne>
</regroupement>
</album>
</auteur>
<auteur nom="Joe">
<album titre="Vive la vie !">
<largeur>500</largeur>
<regroupement sous_titre="One">
<ligne>A
<plus>texte2</plus>
</ligne>
<ligne>B
<plus>texte3</plus>
</ligne>
<ligne>C</ligne>
</regroupement>
</album>
</auteur>
</enseignements>
</audios>
</enregistrements> |
et le code XSL suivant, utilisé pour afficher le numéro d'apparition des balises <plus> du 2ème album (Enfin, c'est ce que j'aimerais) :( :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
encoding="utf-8"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Audio</title>
</head>
<body bgcolor="#FFFFFF">
<xsl:apply-templates select="enregistrements/audios/enseignements/auteur[2]/album[1]/regroupement" />
</body>
</html>
</xsl:template>
<xsl:template match="regroupement">
<xsl:apply-templates select="ligne"/>
</xsl:template>
<xsl:template match="ligne">
<xsl:if test="plus">
<xsl:value-of select="count(preceding::plus)+1"/>
<br />
</xsl:if>
</xsl:template>
</xsl:stylesheet> |
Et voilà ce qui s'affiche à l'écran, en conséquence :
-> Or, j'aurais bien aimé qu'il m'affiche :
C'est à dire, qu'il me donne la chronologie d'apparition des balises <plus> concernant uniquement le 2ème album ("Vive la vie !"), et nom l'ordre d'apparition dans la totalité des albums :fleche: Comment puis-je faire, SVP ?
Par avance Merci pour toute suggestion que vous pourriez me faire ! :)
PS: J'ai pensé utiliser à la place la fonction "preceding-sibling" mais, à vrai dire, je n'ai pas trouvé comment faire, là non plus !