Re: [xsl] self axis vs .

Subject: Re: [xsl] self axis vs .
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Fri, 6 Jun 2008 18:44:05 +0530
Following are the relevant definitions from the XPath 2.0 spec.

the self axis contains just the context node itself

. is known as, "context item expression".
A context item expression evaluates to the context item, which may be
either a node (as in the expression
fn:doc("bib.xml")/books/book[fn:count(./author)>1]) or an atomic value
(as in the expression (1 to 100)[. mod 5 eq 0]).

The context item is the item currently being processed. An item is
either an atomic value or a node. When the context item is a node, it
can also be referred to as the context node.

I am able to understand this. You could point to sections worth discussing.

On 6/6/08, Andrew Welch <andrew.j.welch@xxxxxxxxx> wrote:
> An interesting practice I've come across at a client's site is instead
> of using . they use self:: instead...
> So instead of:
> <xsl:apply-templates select="." mode="other"/>
> you have
> <xsl:apply-templates select="self::elem" mode="other"/>
> and instead of:
> .//whatever
> you have:
> self::elem//whatever
> While it seemed a little odd to start with, their argument of it helps
> locate where you are (especially when . is far away from the match
> pattern that's normally used to discover the current node) is
> beginning to grow on me...
> --
> Andrew Welch
> Kernow:

Mukul Gandhi

Current Thread