ATTN: Please comment on XHTML (before it's too late)

joubin joubin at
Thu Sep 2 22:22:52 BST 1999

-----Original Message-----
From: James Tauber <jtauber at>

>Mind you, hierarchical organisation isn't that good a general solution as
>forces you to prioritise axes.

This is true only if you _must_ map an n-dim space (n>1) with a _single_
hierarchy.  You can certainly map an n-dim space with n hierarchies, where
the relationships between hierarchies are isomorphic to the relationships of
the dimension of space.  So the question is, must we?

It certainly takes more than a scalar (which is what an XML-namespace
currently is, never mind the 'URI') to effectively 'situate' an XML object
within its context.

Why this insistence on using a single scalar?  To keep things 'simple'?  But
the problem has an intrinsic level of complexity which must be managed, and
as it is clearly apparent, when you force the expression of that complexity
through a singular 'simple' mechanism, the net result is unnecessary
ambiguity and complexity at the _application_ layer.

IMHO, instead of concentrating on concocting various X- 'languages' (can't
the world wait?), all the XML wizards should get together and spec out a
standard _XML Relational Engine_ which plugs in the your standard XML
Parser, and presents to the application layer a fully defined XML Object.
Hand-in-hand with this, DOM must be modified to allow (simple, unified,
standard) access to the 'meta-information' of a given XML Object Type,
should the application require it.

One result will be a shrinking of the bloated (and almost fully redundant)
DTDs, for say 'Strict' and 'Transitional' flavors of XHTML.  (And will also
allow the removal of non-frame related elements (e.g. <body>) from
frameset.dtd, which are _already_ fully defined elsewhere.)

And then you can also say (regardless of whether <a> is appearing in a
'frameset', or vanilla 'html'):


  if(e.getSystem().equals("HTML") &&  // meta-info about element
     e.getType().equals("a"))       // info about element
     doHTMLHyperLink (e); // process application layer info

// and if you are further interested in, say, 'target' attributes

doHTMLHyperLink(Element e) {
  String    target = null;
  if( ! e.getDialect().equals("strict"){
     target = e.getAttribute  ("target");
     // ..
  // ...

The information is there.

If you are interested in it, then

   <strict:a> is differentiated from <transitional:a>

and if you don't care,

   <html:a> is <strict_html:a> is <transitional:a> is <a>

and life remains simple.


member, alpha zero LLC              202.462.1655                   dc


Spatial context of an XML object:

<!Doctype...>                << System (discreet, non-hierarchical)

xType://    << Morphological Context

xVersion://  << Revision Context

                                << Dialectal Context
xDialect://     (~Strict)
xDialect:// (~transitional)

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list