What makes this confusing is "only" terminological.
The term "root" or "root element" was widely used in SGML/XML for the
outermost element. (Including in the XML Recommendation [2.1].) But when
XPath was designed, a notional "root" was introduced that contains all
elements, including this one (plus any top-level comments and PIs, which
would have no parent in a tree whose root is the document element). Hence
XSLT makes the distinction between the "root" of its kind of XML document
tree (which is a node, but not an element) and the "document element",
which is the only element child of the root in a well-formed XML document
(and hence can be dependably reached by the XPath "/*").
In the XSLT context it's good practice to avoid confusion by using the
terms "document element" and "root" (or "root node"), but not "root
element". Even though the rest of XML does, or used to....
Regards,
Wendell
At 05:13 PM 3/4/2005, Mike wrote:
The top of the tree is a root node (1.0 terminology) or document node (2.0).
This is what "/" refers to. It's not an element: it's the parent of the
outermost element (and any comments and processing instructions that precede
or follow the outermost element). The root node has no name.
The outermost element can be obtained using /*, and its name is name(/*).
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
--~------------------------------------------------------------------
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>
--~--