Option 1: - Description 0 - Description 1 - Description 2 Option 2: - Description 0 - Description 3 - Description 4 Any idea to solve this? Thanks Jaime -----Mensaje original----- De: Michael Kay [mailto:mike@xxxxxxxxxxxx] Enviado el: Miircoles, 04 de Mayo de 2005 17:27 Para: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Asunto: RE: How can I get context node in this complex expresion? (current( ) didn't work) 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: 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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format