Re: [xsl] question about identity transform

Subject: Re: [xsl] question about identity transform
From: Abel Braaksma <>
Date: Wed, 01 Nov 2006 00:06:42 +0100
Dimitre Novatchev wrote:
If you would refers it, and make it, say: ` node ( ) | @* ' the nodes
would first be copied, resulting in the attributes ending up illegally:
you may not create an attribute node after you create an element node in
the result tree. However, I'm not sure if this is really enforced by the

This is not true.

The order in which an <xsl:apply-templates> instruction is applied on
the nodes selected by the expression as specified in its select
attribute is not defined and may be in any order.

Thanks for pointing that out. Indeed, I always forget about this processing order, and tend to think in terms of result tree order...

What is important, is that the results of these applications are combined/ordered based on the document order of the processed nodes.

I see. Meaning that though it can be processes in any order, the actual order of the output is determined by a certain set of rules, which is based on the original document order and not the order of the xpath in the template or the template itself. And I was always so careful putting the right order for the " | " unioned items ;-)

-- Abel

Current Thread