Subject: Re: [xsl] selecting a node inside <xsl:for-each> fails? From: "Rene Ladan" <r.c.ladan@xxxxxxxxx> Date: Tue, 6 Jun 2006 12:46:42 +0200 |
Regards, Rene
The value of "." changes inside a predicate. Use current() instead, or an explicit variable.
Michael Kay http://www.saxonica.com/
> -----Original Message----- > From: Rene Ladan [mailto:r.c.ladan@xxxxxxxxx] > Sent: 06 June 2006 10:56 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] selecting a node inside <xsl:for-each> fails? > > Hi, > > I'm trying to select a node which has attribute c set to '2', > but the selection $root//*[@c=.] (where . is an iterator over > the sequence ('1', '2', '3')) returns nothing instead of node <b>. > Changing this into $root//*[@c=string(.)] does not work either. > > The 'explicit' expression and the two expressions ('outside' and > 'direct') after the <xsl:for-each> do work. > > Any ideas? > > I'm using Saxon B-8.7-Java. > > Regards. > Rene > > -- test-select.xml -- > > <a> > <b c="2" e="f"> > <g/> > </b> > </a> > > -- test-select.xsl -- > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <xsl:variable name="root" as="node()" select="/"/> > <xsl:template match="*"> > <xsl:variable name="nums" as="xs:string*" select="'1','2','3'"/> > <xsl:for-each select="$nums"> > value=<xsl:value-of select="."/> > <xsl:if test=".='2'">found</xsl:if> > <!--both [@c=.] and [@c='{.}'] and [@c=string(.)] > return nothing--> > node=<xsl:copy-of select="$root//*[@c=.]"/> > explicit=<xsl:copy-of select="$root//*[@c='2']"/><!--ok--> > </xsl:for-each> > outside=<xsl:copy-of select="$root//*[@c='2']"/><!--ok--> > direct=<xsl:copy-of select="//*[@c='2']"/><!--ok--> > </xsl:template> > </xsl:stylesheet> > > -- > GPG fingerprint = E738 5471 D185 7013 0EE0 4FC8 3C1D 6F83 12E1 84F6 > (subkeys.pgp.net) > > "It won't fit on the line." > -- me, 2001
-- GPG fingerprint = E738 5471 D185 7013 0EE0 4FC8 3C1D 6F83 12E1 84F6 (subkeys.pgp.net)
"It won't fit on the line." -- me, 2001
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] selecting a node inside <, Michael Kay | Thread | [xsl] RE : [xsl] selecting a node i, Florent Georges |
[xsl] RE : [xsl] selecting a node i, Florent Georges | Date | Re: [xsl] Keys and select distinct , Christian Rasmussen |
Month |