Salut,
Il doit y avoir quelque chose que je ne saisi pas, j'ai bien lu la page d'erwy traitant du current() mais il y a un petit je-ne-sais-quoi qui manque à m'allumer...

Bon, maintenant que j'ai mon noeud dans une variable, disons $monNoeud. Je voudrais connaître son name(). Bon, j'ai essayé $monNoeud[name()], $monNoeud/name(), $monNoeud::name() et j'évite de parler de tout les arrangements de /parent::* et de /child::* que j'ai essayé...

Dans ce même noeud, j'ai des attributs. Là aussi, je ne comprend pas, j'essaie d'accéder à ces attributs avec $monNoeud[@monAttribut] et toujours rien...

Voici une version allégée de mon code:

xml:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
<list>
  <itemDescription>
    <title displayText="Titre" />
    <description displayText="Description" />
    <link displayText="Lien" />
    <attachment displayText="Document" />
    <id displayText="Identifiant" />
    <name displayText="Nom" />
    <language displayText="Langue" />
    <date displayText="Date" />
    <priority displayText="Priorité" />
  </itemDescription>
  <item>
    <title>Titre 1</title>
    <description>Description 1</description>
    <link>Lien 1</link>
    <attachment>Document 1</attachment>
    <id>ID1</id>
    <name>Nom 1</name>
    <language>FR</language>
    <date>01/01/1950</date>
    <priority>1</priority>
  </item>
  <item>
    <title>Titre 2</title>
    <description>Description 2</description>
    <link>Lien 2</link>
    <attachment>Document 2</attachment>
    <id>ID2</id>
    <name>Nom 2</name>
    <language>FR</language>
    <date>02/01/1950</date>
    <priority>2</priority>
  </item>
  <item>
    <title>Titre 3</title>
    <description>Description 3</description>
    <link>Lien 3</link>
    <attachment>Document 3</attachment>
    <id>ID3</id>
    <name>Nom 3</name>
    <language>EN</language>
    <date>03/01/1950</date>
    <priority>3</priority>
  </item>
</list>
xsl:
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
 
<xsl:template name="HEADER">
  <tr>
    <xsl:for-each select="//itemDescription/*">
      <xsl:call-template name="FILTER">
        <xsl:with-param name="itemNode" select="current()" />
      </xsl:call-template>
    </xsl:for-each>
</xsl:template>
 
<xsl:template name="FILTER">
<xsl:param name="itemNode" />
  <xsl:value-of select="$itemNode[@displayText]"/>  <-------- ICI
  <xsl:value-of select="$itemNode[name()]"/>  <-------- ICI
</xsl:template>