OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Escher could have drawn it (Re: XML Schema and Entities)

"Bullard, Claude L (Len)" wrote:
> Doesn't that sort of mean DTDs are forever?

I am glad you asked the question since it's both a very common
misconception and the starting point for a rant on what I see as the
most interesting and worrying aspects of what we've called XML Core in a
previous exchange.

When we say that the purpose of W3C XML Schema is not to replace the
DTDs, it is not only politically correct toward SGMLers who have
invented the DTDs but also technically accurate.

DTDs include 4 different features:

1) Macro instructions (internal parsed entities, parameters, ...),
2) Inclusions (external parsed entities),
3) Linking (notations, unparsed entities),
4) Schema.

To these 4 features, I think we could add a feature belonging to the
DOCTYPE as kind of related:

5) Definition of the document element.

The purpose [1] of W3C XML Schema is clearly limited to item 4:

"The purpose of the XML schema language is to provide an inventory of
XML markup constructs with which to write schemas. " .

[1] http://www.w3.org/TR/NOTE-xml-schema-req#Purpose

Let's go back to the other items...

1) Macro instructions (internal parsed entities, parameters, ...),
I am not aware of any public evidence showing a plan to develop anything
to replace the DTDs in this feature.

At this point, we can answer that yes DTDs are here to stay in a
foreseeable future at least to encompass this feature.

2) Inclusions (external parsed entities),
This is the goal of XInclude that goes beyond DTDs by allowing to
include subsets of documents.

3) Linking (notations, unparsed entities),
XLink is approaching the problem very differently than DTDs had, but I
think that a high level one may consider XLink as a replacement of DTDs
for handling non XML objects. 

4) Schema.
Definitely W3C XML Schema... in the W3C world at least ;=) .

5) Definition of the document element.
W3C XML Schema relies on the DOCTYPE to define the document element.
(DOCTYPE seems also to be here to stay)

What's challenging in this approach is that whereas DTDs were defined by
a single short specification (XML 1.0) and a single Working Group that
had documented the order in which the features should operate, the new
XML core is defined in different specification authored by independent
Working Groups.

The situation makes me think of many drawings by Escher such as
relativity ([2] and [3]) in which a situation that is possible if each
node looks at its two neighbors but is impossible if you look at the
global picture.

[2] http://users.skynet.be/sky70432/mcesher4.html
[3] http://www.geocities.com/mcescher76/SalaEsca/relativ.jpg

I find the recent story of W3C XML Schema and XInclude [4] very
[4] http://xmlhack.com/read.php?item=1272

Here again all seems OK if you look at the your neighbors:

First came XPath.
Then XPointer thought it wise to use XPath.
Then XInclude decided to rely on (a slightly extended version of) XPath.
Then W3C XML Schema came out with its datatypes.
Then XPath saw all the benefit of relying on W3C XML Schema datatypes.

So far so good, except that XInclude and W3C XML Schema need now both to
be processed first...

Looks like all these specs want at the same time to be core and to rely
on all the others!

Pour y voir plus clair dans la nebuleuse XML...
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
http://xsltunit.org      http://4xt.org           http://examplotron.org