[XSLT] Récupération d'un paramètre dans l'URL

Récupération d'un paramètre dans l'URL [XSLT] - XML/XSL - Programmation

Marsh Posté le 22-01-2004 à 12:55:05    

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 :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <?xml-stylesheet href="param_url.xsl" type="text/xsl"?>
  3. <document>
  4.   <item id="1">ITEM 1</item>
  5.   <item id="2">ITEM 2</item>
  6.   <item id="3">ITEM 3</item>
  7. </document>


 
Fichier "param_url.xsl":

Code :
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.   <xsl:output method="text"/>
  4.   <xsl:param name="nombre" select="1"/>
  5.  
  6.   <xsl:template match="item">
  7.     <xsl:choose>
  8.       <xsl:when test="@id=$nombre">
  9.         Item : <xsl:value-of select="."/>
  10.         Id   : <xsl:value-of select="@id"/>
  11.         Param: <xsl:value-of select="$nombre"/>
  12.       </xsl:when>
  13.     </xsl:choose>
  14.   </xsl:template>
  15. </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 :
  1. Item : ITEM 2
  2.         Id   : 2
  3.         Param: 2


Or j'obtiens ceci:

Code :
  1. Item : ITEM 1
  2.         Id   : 1
  3.         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...

Reply

Marsh Posté le 22-01-2004 à 12:55:05   

Reply

Marsh Posté le 23-01-2004 à 11:29:07    

Amis iksesseltistes, à vot' bon coeur, siouplaît...

Reply

Marsh Posté le 04-03-2004 à 21:10:07    

il faut passer par le code (java, php, ...)
 

Reply

Marsh Posté le 09-03-2004 à 13:51:24    

Donc il faut nécessairement avoir un serveur derrière? C'est nul!
 
Il va falloir que je passe par du javascript... :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed