[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Reference to other node


Subject: Re: [xsl] Reference to other node
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Tue, 18 Jun 2002 11:14:06 +0200

Andrew Welch wrote:
<xsl:variable name="id-found"
select="generate-id(//GrilleSimple[local-name()=$name-to-find])"/>

Sorry Andrew,


but it should be

select="generate-id(//GrilleSimple[@Nom = $name-to-find])"

Alexandre,

it's maybe better to set up a key or at least to remove // from your XPATH:


<xsl:key name="gs" match="GrilleSimple" use="@Nom"/>


later in a template:
<xsl:variable name="id-found" select="generate-id(key('gs', $name-to-find))"/>


It does the same, but it's much faster, because the <GrilleSimple/>s are indexed and the file won't be searched every time.

Regards,

Joerg

-----Original Message-----
From: alexandre bord [mailto:alexandre.bord@xxxxxxxxxx]

How could i better do that ? :

<fo:block>
<xsl:variable name="id-found"><xsl:for-each select="//GrilleSimple[@Nom=$name-to-find]">
<xsl:value-of select="generate-id()"
/></xsl:for-each></xsl:variable>
This is on page <fo:page-number-citation ref-id="{$id-found}" />
</fo:block>



* name-to-find is a variable * xsl:for-each returns only one node

Thanks a lot.
Alexandre


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



Current Thread