This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Dynamic XPATH problem


Hi Lea,

> I have a piece of code that goes like this:
>
> <xsl:for-each select="LIBRARY/*/TRAVELINFO/*">
>         <TR valign="center">
>                         <TD>
>                         <xsl:value-of select="NAME" />
>                 </TD>
>         </TR>
> </xsl:for-each>
>
> and I want to swap-out the TRAVELINFO node for the content of:
>
> //LIBRARY/CURRENTNODE 

Do you mean that the CURRENTNODE element within your source document
holds the string 'TRAVELNODE', and you want to find the element named
that, and process its children?

If so, then you need:

  <xsl:for-each
    select="LIBRARY/*/*[name() = //LIBRARY/CURRENTNODE]/*">
    <TR valign="center">
      <TD>
        <xsl:value-of select="NAME" />
      </TD>
    </TR>
  </xsl:for-each>

Alternatively, especially if what's held in the CURRENTNODE element is
more complicated than just the name of an element, you can use an
extension evaluate() function, but I'd avoid those if you can.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]