Re: [xsl] the nearest ancestor with the attribute

>(b) between two runs of a stylesheet?
>(c) between two XSLT processors?
either of those
>I'm pretty sure that it's only the latter; on a quick scan I can't
>find anything that says that the attributes must be in the same order
>even within a run,
Within a run the order is fixed.
The input to XSL is a tree in which there is a complete order applied to
the set of nodes. This ordered input tree does not change during a run.
The "implementation defined" variability is in the way the ordered tree
is built from a linear XML syntax. As Mike commented Saxon will give
different results with different parsers, as the XSL engine will have
effectively been handed different ordered trees. (In fact its probably
the XSL code building the tree from sax events rather than really being
passed an XPath tree model, but that is an implementation detail)
Of course there need never have been any linear input at all. MSXML
for example gets its input from a DOM object, that may have been
manipulated in memory with attributes added/changed/deleted etc.
Again the end result has to be ordered somehow before XSL starts work
but it isn't specified how that ordering is done. Once MSXSL gets that
tree though, it is fixed for the duration of the stylesheet.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list