RE: [xsl] Equivalence between XSL and XPath expression

Subject: RE: [xsl] Equivalence between XSL and XPath expression
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sat, 11 Dec 2004 00:26:20 -0000
> How can the XPath return 0, if has a context node (.) and has 
> the self 
> axis in ancestor-or-self? This way it has to return at least 1!

I think you are assuming the context node is a menu element. There's no
reason to assume that. If the context node is the root (document) node (for
example) the XPath expression will return 0.

Michael Kay
http://www.saxonica.com/
> 
> 
> Michael Kay wrote:
> 
> >>And the question is: Is this XPath expression
> >>
> >>count(./ancestor-or-self::menu)+count(./preceding::menu)
> >>
> >>equivalent to this XSL expression?
> >>
> >>		<xsl:variable name="position">
> >>			<xsl:number level='any' count="menu"/>
> >>		</xsl:variable>
> >>
> >>    
> >>
> >
> >Almost. xsl:number will never return 0, but the XPath 
> expression might. Take
> >a look at the XSLT 2.0 spec which defines xsl:number in 
> terms of equivalent
> >XPath expressions.
> >
> >Michael Kay
> >http://www.saxonica.com/

Current Thread