Software is like sex... It's better when it's free.

Blog - Former une expression xPath dynamiquement

Former une expression xPath dynamiquement

Pour les amateurs du combo XML/XSL/xPath, une petite astuce lorsque l'on pousse le générique assez loin pour former une expression xPath dynamiquement.

Supposons qu'une variable xsl contienne un "bout" de l'expression xPath, cela nous donnerait ça :

<!--
  - Selectionne un noeud XML à l'aide d'une expression xPath formée dynamiquement
  -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl" xmlns="http://www.w3.org/1999/xhtml">
  <xsl:template match="root">
    <xsl:variable name="dynamicNode" select="'user_name'" />

    <!-- xPath formé = "//root/bdd/users[1]/user_name" -->
    <xsl:value-of select="bdd/users[1]/*[name()=$dynamicNode]" />

  </xsl:template>
</xsl:stylesheet>
Tags:  xmlxpathxsl.
Posté le Mardi 28 avril 2009 20:39:02