Re: [xsl] Question about predicate

Subject: Re: [xsl] Question about predicate
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Mon, 05 May 2003 12:35:37 -0400

You want the current() function, which returns the current node (typically the node that has matched the template) irrespective of what the context node happens to be (e.g. inside a predicate, where the context node has changed).

<xsl:apply-templates select="//rdf:description[@about=current()/@xlink:href]" />

But you'd get better performance using a key:

<xsl:key name="descs-by-about" match="rdf:description" use="@about"/>


<xsl:apply-templates select="key('descs-by-about',@xlink:href)"/>


At 12:07 PM 5/5/2003, you wrote:

I didn't wrote a stylesheet since quite a long time and I am completely
rusted. Since this morning I am trying to match certain templates without
I want to do:
 <xsl:apply-templates select="//rdf:description[@about="the unknown
expression here."]" /> my problem is with the second part of the equation
("the unknown expression here"). I want it to match with any rdf:description
element having its attribute "about" equal to the value of ./@xlink:href
(the currently matched node having an xlink:href attribute). I tried
different expressions without success. Any help on that will be greatly

Many thanks
Didier PH Martin

XSL-List info and archive:

Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.      
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
  Mulberry Technologies: A Consultancy Specializing in SGML and XML

XSL-List info and archive:

Current Thread