RE: Thoughts on namespaces

There is another problem to be solved with this namespace thing, that has so
far been mentioned only in passing.

Let's say we come up with a nice/agreeable way to allow localized subtrees
with elements drawn from other DTDs. What about validation? I don't think we
have yet to derive a notion of what it would mean to be valid or invalid.

Are the DTDs totally independent, so that once you enter one all validation
happens only there, and the outer DTD is completely inactive? That's at
least easy to define, but it is far less useful (consider the
table-embedding case that Paul Grosso cited, which is entirely plausible but
undoable under this approach). This is much like SUBDOC, and you immediately
run into hairy namespace issues such as ID/IDREF in the two contexts.

Or, does every individual element get validated against both DTDs, and count
as valid only if it satisfies either of them? Or if it satisfies BOTH? What
if an element has a mixture of children drawn from several different DTDs?
Do you iterate over them all, each time ignoring children from the others?
In that case we're kind of like CONCUR.

While we're at it, what would happen with inclusions and short end-tags if
we ever have either? What about references to entities whose names happen to
be defined in both (all) DTDs? Do we have non-deterministic entity
substitution? Or do we substitute them all for all DTDs and validate on the
cross-product? My brain hurts....

Or consider if we get people to unify their GI spaces and use an attribute
to express the differences, a la AFs... In that case you give up a lot of
otherwise possible SGML/XML-level validation. AFs can only unify things
whose instances all satisfy some actual content model: Say I use

   <!ELEMENT MYLIST - - (LIST-TITLE, ITEM+)>

and I want to put one of these into a document where the closest thing is:

   <!ELEMENT YOULIST - - (ITEM+)>

Obviously I can't just tag my lists as YOURLIST MY.AF.NAME=MYLIST and have
it work: it's not valid unless I still go change the DTD. And if I do that,
I can only accommodate both types by loosening the content model so
LIST-TITLE is always optional, thus doing injustice to BOTH.

I'm not confident we can come up with a coherent definition of validity,
until which aren't we hosed?



Steven J. DeRose, Ph.D., Chief Scientist
Inso Electronic Publishing Solutions
   (formerly EBT)

Received on Friday, 23 May 1997 16:01:16 UTC