Subject: RE: [xsl] How can I get context node in this complex expresion? (current( ) didn't work) From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 4 May 2005 22:26:50 +0100 |
Can't be done in a single XPath 1.0 expression - you need to build up the result of the XPath expression in a series of variables declared at the XSLT level. In XPath 2.0 you use the "for" expression to bind variables at any level of nesting, for example, <xsl:apply-templates select="ROW[for $x in COB_ID return $x = $cob_rowset[CXC_CAD_ID=key('cad_key_ori', $cob_rowset[COB_ID = $x]/CXC_CAD_ID)/CAD_REL_ID]/COB_ID]"> I'm assuming a ROW has only one COB_ID, otherwise these aren't equivalent. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Jaime Stuardo [mailto:jstuardo@xxxxxxxxxxx] > Sent: 04 May 2005 22:10 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] How can I get context node in this complex > expresion? (current( ) didn't work) > > Hi all... > > This is the real case I have: > > <xsl:apply-templates > select="ROW[COB_ID=$cob_rowset[CXC_CAD_ID=key('cad_key_ori', > $cob_rowset[COB_ID = 2]/CXC_CAD_ID)/CAD_REL_ID]/COB_ID]"> > > where: > $cob_rowset : a nodeset that I assign previously. It is > correctly assigned. > 'cad_key_ori' a key that is correctly defined as well. > > That expresion works the way I want (showing some records > according to the predicate). But that is a particular case. > The general case is replacing the '2' above for the node > COB_ID whose parent is ROW. For instance, I tried: > > <xsl:apply-templates > select="ROW[COB_ID=$cob_rowset[CXC_CAD_ID=key('cad_key_ori', > $cob_rowset[COB_ID = > current()/COB_ID]/CXC_CAD_ID)/CAD_REL_ID]/COB_ID]"> > > The call to current() didn't work (it didn't show anything > and I know that 'COB_ID=2' is present in ROW nodeset). I > think it is because current() is pointing to $cob_rowset context node. > > Any help would be greatly appreciated. > > Thanks > Jaime
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] How can I get context node in, Jaime Stuardo | Thread | RE: [xsl] How can I get context nod, Jaime Stuardo |
Re: [xsl] variables and inline tags, Wendell Piez | Date | RE: [xsl] How can I get context nod, Jaime Stuardo |
Month |