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 code
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>
Et 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 ?

Voilà j'espère que je vous voyez un peu mon problème et que vous saurez m'aiguiller.

Merci.