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:
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
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>
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>
Partager