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 :-)
|