"Roots" of confusion introduced at W3C

Given that the confusion about the "root" of an XML document has featured 
recently in discussion on the list I thought it might be useful to list 
members if I were to try and identify the profusion ... and confusion ... of 
terminology used in W3C documents.

The following represents my understanding. If I have misunderstood any part 
of this then I would welcome correction.

The following terms are used for the ROOT of the document (of which the 
"element root" or "root element" is a child) i.e. these are all different 
terms used for the same thing in W3C documents, as I understand it.

XML 1.0 - "document entity" (Section 4.8). The terms "root node" and 
"document root" do not occur in the XML 1.0 Recommendation.

In addition XML 1.0 confuses the issue by using the term "document entity" 
to, apparently, refer to both the root of the tree (Section 4.8) and also the 
whole serialised document.

XML 1.0 further confuses the issue by using the term "root" (with no 
qualifier) to refer to the "document element", a child of the "document 
entity".

DOM 1.0 - "root node" - makes a reference to XML 1.0 where the term "root 
node" is not used (Appendix B)

DOM 1.0 - "Document interface" roughly corresponds to the root node
The term "document root" does not occur in either DOM 1 Recommendation or DOM 
2 Candidate Recommendation.

XSLT - "root node" (Section 3.1)
XSLT - "document root" (Section 5.2)

XPath - "root node" (Section 5.1)
XPath - "document root" (Section 2)

XPointer (CR) - introduces the term of "root location" (Section 5.3.3)

SVG (CR) - "root object" (Section 5.10)
The term "root" is used in an unqualified way to refer to what I take to be 
the "element root" <svg> (e.g. Section 19.2.2).

Thus, for this foundational concept of the "root" of an XML document we find 
multiple terms being, apparently, used for the same thing and certain terms 
being used for more than one thing.

I cannot guarantee that I have identified every distinct term used for this 
foundational concept. There is certainly cause for concern about this 
inconsistent use of terminology within and between W3C documents.

It is unsurprising that there is significant confusion about what constitutes 
the "root" of an XML document.

Further confusion is introduced in the 27th March 2000 Working Draft of the 
Extensible Stylesheet Language (XSL) specification where the term "root node" 
is introduced in a way which is NOT the "root node" as used above (in XPath 
and XSLT) but is actually the "root element" or "element root". See, for 
example, the reference to the <fo:root> element in Section 6.4.1.

I would firmly suggest that the W3C needs to give some attention to this 
problem and introduce some consistency in terminology between W3C documents.

Andrew Watt

Received on Wednesday, 20 September 2000 14:06:11 UTC