<xsl:variable name="x" as="element()">
<x/>
</xsl:variable>
Yes. Actualy, I'm used to think about that as a tree whose the
root is not a document-node(). Mmh, yes, not really a tree.
a better example that I could have given would have been
<xsl:variable name="y" as="element()*">
<x/>
<x/>
</xsl:variable>
which isn't a tree at all: it is a variable with value a sequence of two
elements with no common ancestor.
xslt/xpath does use "tree" informally to include document fragments that do
not start with / eg xpath 2.4.1
An ordering called document order is defined among all the nodes
accessible during processing of a given expression, which may consist of
one or more trees (documents or fragments).
In this sense $y consists of two (small) trees (each of which is a
fragment) but XSLT2 has a technical notion of "temporary tree" which is
the thing most often used for an in-memory tree constructed within the
stylesheet to which keys etc may be applied. These are constructed by
xsl:variable without an as attribute and they always construct a
sequence of a single / node, so never have root a parentless element.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--