W3C home > Mailing lists > Public > www-xml-linking-comments@w3.org > January to March 2000

Off the cuff comments on XInclude

From: Tim Berners-Lee <timbl@w3.org>
Date: Tue, 21 Mar 2000 13:36:55 -0500
Message-ID: <000501bf9364$6eba9ec0$84001d12@politburo.w3.org>
To: <www-xml-linking-comments@w3.org>
A few comments on http://www.w3.org/XML/Group/2000/03/WD-xinclude-20000314

I feel the fact that XInclude is declared to be "orthogonal" to parsing and
validation is cheating.  Validation, I assume, can in practice be carried
out on the
document as a string of bytes or on the infoset. The validity of documents
before and after
XInclusion are both interesting, but after is more fundamental.  There isn't
much point in validating something when you have no idea what is going to
One needs to be careful that this specification redefined validity (schema
or DTD) to apply to the FINAL infoset.  This is the only thing which makes

This suggests to me that issuing an XML 1.1 which puts XML, NS and Xinclude
into a single framework would probably be useful to the user community.
After all, if you are using XInclude, processing of it is unlikely to be
optional.  We are raising the bar for XML processors - rightfully so IMHO.

2. Requirements

"The result of an inclusion shall accommodate XML 1.0 and XML Namespaces".
I am not sure what "accommodate" means. Provide a living space for?

3. Processing Model.

"the base URI be surfaced" ?  Would I understand that if I read the DOM

3.2 The parse attribute is quite fundamental.  When an attribute totally
changes the effect of the element, I would prefer making 3
different elements, xinclude:text, xinclude:xml and xinclude:cdata. (or
xml:include-text, xml:include, and xml:include-cdata)

The spec says, "Any xinclude:include elements in this infoset are
processed" but this applies of course only to XML parsing.

Issue 03-nesting-optimization uses the term "knitted".  which is not one I
use every day for documents.  What is "knitting a document"?  I therefore
understand the issue.

3.1 Document nodes

change: "The XML declaration in the included document is ignored. The
document type declaration information item in the included document is
ignored." to:
"Any XML declaration in the included document is ignored. Any document type
declaration information item in the included document is ignored." as these
are optional and need not be present in the first place.


The fact that the top-level document element does not appear is IMHO a
problem, in that you may well want to include it!  In future namespaces
there my be many information-containing options for the document  node.

Also, this is unclean.  It is a an unnecessary special case.  The algorithm
is to include a referenced element unless it is a document element, in which
case include the content.  maybe it would be cleaner to split xml:include
into xml:include (referenced language element) and xml:include-contents
(contents of referenced element).


3.3.2 "If the document element in the source infoset is an xinclude:include,
it is an error to attempt to replace it with more than a single element."
That is unfair on the include processor: I would say it is an error on the
part of the author of the
source.  (Actually IMHO this points to an arbitrary constraint in XML that a
document should have only one document node but let's not go into that!)


Issue 32:  No, I would suggest that attribute-level inclusion not be
provided.   This spec is simple as it is.  It would be complicated if it
allowed attribute inclusion.


Issue 31:  This points toward an XML 1.5  = XML + NS + XInclude level spec.


Validation - "processor will validate"    (This process-oriented
specification is very traditional in SGML but it makes for bad specs IMHO.
Don't define what processors do, define what things *are* and what they
Why should an XInclude processor validate its output? It may ant to process
the document without validating it.

What is a   dtd-valid XML document? What is a schema-valid document? Answer:
the result of validation after all Xinclusion.  This specification redefines
the meaning of a valid document for any document containing  an element
defined here.

Tim BL
wearing no hat
Received on Tuesday, 21 March 2000 13:36:55 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:32:21 UTC