Bonjour,
je ne comprend pas le fonctionnement de l'appel et la création de template avec paramètres, l'exemple ci desous ne fonctionne pas comme je le voudrais :
Fichier xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="ex.xslt"?> <annuaire> <personne name="VC"> <nom>Victor condor</nom> </personne> <personne name="AR"> <nom>Aurélien REINA</nom> </personne> </annuaire>
FIchier xslt:
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 <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version="1.0"> <xsl:output method="text"/> <xsl:template match="annuaire/personne"> <xsl:apply-templates select="personne"/> <xsl:call-template name="printName"> <xsl:with-param name="a" select="VC" /> <xsl:with-param name="b"/> </xsl:call-template> </xsl:template> <!--fonction--> <xsl:template name="printName"> <xsl:param name="a"/> <xsl:param name="b" select="nom" /> <xsl:choose> <xsl:when test="@name = $a"> <xsl:value-of select="$b"/> </xsl:when> <xsl:otherwise> <xsl:text>N/A</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>
J'obtiens le résultat suivant apres processing :
Je devrais voir affiché "Victor condor" et c'est tout non? En tout cas c'est ce que je voudraisN/A
N/A
Merci de m'aider
![]()
Partager