RE: nodes order in union
Hello philippe! > <xsl:template match="child::node() | attribute::*" mode="copie"> > <xsl:copy> > <xsl:apply-templates select="@*|node()" > mode="copie"/> > </xsl:copy> > > </xsl:template> > > no error happens, and the copy is quite correct. > > Is the XSLT processor (Saxon, actually) cleaver enougth to process the > nodes in right order ? Or is there somewhere in Xpath or XSLT a rule > which says that in this particulary case, union must yield a node-set > where attributes are located before other nodes (I can't find it)? It's clear Saxon is very clever, but fortunately to others, "cleaver" processors :) there is distinct spec definition for this case. <xsl:apply-templates> processes nodes in document order, see http://www.w3.org/TR/xpath#dt-document-order and according to that order "The attribute nodes and namespace nodes of an element occur before the children of the element.". --- Oleg Tkachenko, Multiconn International, Israel XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format