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(_at_)security(_dot_)cl]
Sent: 04 May 2005 22:10
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--