xsl-list
[Top] [All Lists]

Re: [xsl] self axis vs .

2008-06-06 06:14:41
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(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> 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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>