[no subject]

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: [xsl] 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: [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