[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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.

<quote>
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.
</quote>

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
> http://andrewjwelch.com
> Kernow: http://kernowforsaxon.sf.net/


-- 
Regards,
Mukul Gandhi


Current Thread
Keywords