Re: XSL Abbreviations

Subject: Re: XSL Abbreviations
From: Matt Sergeant <matt@xxxxxxxxxxxx>
Date: Mon, 3 Jul 2000 13:50:13 +0100 (BST)
On Mon, 3 Jul 2000, Ben Pickering wrote:

> Hi
> 
> I have a really quick question.  What is the abbreviated equivalent of:
> 
> ../descendant-or-self::node()[generate-id(.) = $node]
> 
> The XPath docs say that '//' is equivalent to 'descendant-or-self::node()', 
> but if I try
> 
> ..//[generate-id(.) = $node]
> 
> I get an error, and
> 
> ..//*[generate-id(.) = $node]
> 
> is nearly there, but produces a different effect.  What do I use to replace 
> the '*', as I don't want to select the children of '..'s descendants, I want 
> the descendants themselves.  '.' doesn't work.
> 
> It seems to be that '//' is equivalent to 'descendant::node()', ie, 'self' 
> is not included.  What am I doing wrong?

Just reading the XPath docs wrong, that's all. // is equivalent to
/descendant-or-self::node()/ - note the leading and trailing slashes. You
could try ..//.[generate-id(.) = $node]

-- 
<Matt/>

Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org | AxKit: http://axkit.org



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread