RE: [xsl] XML Root Element

Subject: RE: [xsl] XML Root Element
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 04 Mar 2005 17:39:44 -0500
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@xxxxxxxxxxxxxxxx
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
======================================================================

Current Thread