[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Nicer way to change context-node than xsl:for-each

Subject: Re: Nicer way to change context-node than xsl:for-each ?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Mon, 7 Dec 2009 06:33:28 -0800
Re:  Nicer way to change context-node than xsl:for-each
On Mon, Dec 7, 2009 at 2:45 AM, Andrew Welch <andrew.j.welch@xxxxxxxxx>
wrote:
>
> Hmm, an empty <xsl:apply-templates/> is always push, regardless of
> mode or namespaces. B If a select attribute is used, then it becomes
> pull.

Yes, the select attribute is important. Thanks for reminding this.

>
> I can't see how the number of templates involved, the modes or
> namespaces have any affect on whether its pull or push...? B  For
> example, are you saying:
>
> <xsl:apply-templates mode="foo"/>
>
> ...is pull when only a single template exists with that mode, but push
> otherwise?

Yes, if we know (or it is guaranteed) that only one template is in the
mode "foo", then

<xsl:apply-templates mode="foo"/>

is in "pull style" as we exactly know what particular template will be
selected for processing (as there is only one such template).

One could argue that even if this guarantee doesn't exist we still
have "push style" here. For me it is not "pure push style" if you are
not 100% sure which template will be selected for processing (and this
is the case when more than one templates could be selected: which one
depends on the individual nodes in the current node-list.


When we know that only one particular template will be selected for
processing and we know exactly which it is, then we "are in full
control" and this is "pull style" processing.


--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
I enjoy the massacre of ads. This sentence will slaughter ads without
a messy bloodbath.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.