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

Re: [xsl] Identity Transform


Subject: Re: [xsl] Identity Transform
From: Ragulf Pickaxe <ragulf.pickaxe@xxxxxxxxx>
Date: Mon, 7 Nov 2005 12:40:59 +0100

Hi Christian,

> However, XSLT specifies that first, one has to add attributes to a node
> before appending any children. Doesn't Form 2 first append child nodes
> and then attributes, which should either result in an error or silently
> discard the attributes?

When you have
<xsl:apply-templates select="a|b"/>
the XSL parser does not make a nodeset first with all a elements, then
with all b elements. It selects a combined nodeset of all a and b
elements encountered - in document order.

> Has this something to do with document traversal order, i.e. while
> building the list of selected items using "node()|@*", the attribute
> nodes (satisfying the expression) are found first and are therefore
> added first to the list of items to be copied, in consequence satisfying
> the "attribute-before-children" requirement?

As you said (answering your first question yourself), attributes of an
element seems to comes before the children of the element, and are
therefore encountered first :-)

Regards,
Ragulf Pickaxe :-)


Current Thread
Keywords