| 
 
Subject: [xsl] selecting a node inside <xsl:for-each> fails? From: "Rene Ladan" <r.c.ladan@xxxxxxxxx> Date: Tue, 6 Jun 2006 11:55:50 +0200  | 
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.Regards. Rene
<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
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| AW: [xsl] url encoding gets wrong w, Merico Raffaele | Thread | RE: [xsl] selecting a node inside <, Michael Kay | 
| RE: [xsl] Generating an XSLT styles, Michael Kay | Date | RE: [xsl] selecting a node inside <, Michael Kay | 
| Month |