Comment faire pour récupérer un paramètre passé dans l'URL d'un fichier XML pour modifier le comportement du script XSLT associé?
Voici un exemple:
Fichier "param_url.xml":
Code :
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <?xml-stylesheet href="param_url.xsl" type="text/xsl"?>
- <document>
- <item id="1">ITEM 1</item>
- <item id="2">ITEM 2</item>
- <item id="3">ITEM 3</item>
- </document>
|
Fichier "param_url.xsl":
Code :
- <?xml version="1.0"?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output method="text"/>
- <xsl:param name="nombre" select="1"/>
-
- <xsl:template match="item">
- <xsl:choose>
- <xsl:when test="@id=$nombre">
- Item : <xsl:value-of select="."/>
- Id : <xsl:value-of select="@id"/>
- Param: <xsl:value-of select="$nombre"/>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
- </xsl:stylesheet>
|
Avec ces deux fichiers, le comportement que j'attends est le suivant:
quand je saisi (...)/param_url.xml?nombre=2 dans la "location bar" de mon navigateur web, je souhaite obtenir ceci:
Code :
- Item : ITEM 2
- Id : 2
- Param: 2
|
Or j'obtiens ceci:
Code :
- Item : ITEM 1
- Id : 1
- Param: 1
|
Il doit y avoir un truc que je n'ai pas pigé avec les param...
Rassurez-moi: c'est bien possible d'obtenir un comportement différent d'une feuille de transformation en ne changeant que les paramètres passés par l'URL, non?
Sinon, ça limite salement l'intérêt de gérer XSLT dans les navigateurs web...