Bonjour à tous,
J'essaie d'afficher une image avant et après après chaque élément d'un fichier XML par l'intermédiaire d'un transformation XSL. Le soucis c'est que si j'ai 3 élément, je veux
- image
- item 1
- image
- item 2
- image
- item 3
- image
donc l'image constamment après chaque item et une fois de plus avant le premier. C'est juste, non ?
Donc je me dis que je m'en sors avec un if. Je tente le coup et il ne passe jamais dans mon if.
Voici mon codeEt visiblement, il ne passe jamais dans mon if. Ce qui signifierait que la position de mon élément n'est pas de 1... JAMAIS !! Alors qu'il doit bien commencer à un moment par le premier non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE xsl:stylesheet> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/> <xsl:template match="/"> <xsl:apply-templates /> </xsl:template> <xsl:template match="sitenode"> <ul> <xsl:if test="position()=1"> <li class="img"><a href="index.php?level={@level}">{@name}</a></li> </xsl:if> <li> <xsl:value-of select="./@name" /> </li> <xsl:apply-templates/> <li class="img"><a href="index.php?level={@level}">{@name}</a> </li> </ul> </xsl:template> </xsl:stylesheet>
Voilà j'espère que je vous voyez un peu mon problème et que vous saurez m'aiguiller.
Merci.
Partager