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

Subject: Re: [xsl] Nicer way to change context-node than xsl:for-each ?
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Mon, 7 Dec 2009 10:45:20 +0000
>>> Didn't you know that <xsl:apply-templates> can be used in pull-style
>>> processing? Modes and uniquely namespaced nodes should light a bulb :)
>> I am not sure, if that's entirely correct. Working on
>> xsl:apply-templates with modes looks to me semi pull style, and not a
>> pull style in entirety!
> It is not "semi pull style". Its pull style when only one template has
> that mode or matches a node from a uniquely defined namespace (used
> only for the purpose of identifying its matching template).

Hmm, an empty <xsl:apply-templates/> is always push, regardless of
mode or namespaces.  If a select attribute is used, then it becomes

I can't see how the number of templates involved, the modes or
namespaces have any affect on whether its pull or push...?   For
example, are you saying:

<xsl:apply-templates mode="foo"/> pull when only a single template exists with that mode, but push

Andrew Welch

Current Thread