> I was shocked to hear that namespaces invalidate validation.
This is only sort-of true.
> The problem seems to be that DTD validation does not expand
> prefixes, nor does it apply namespace defaulting.
DTD validation is completely namespace unaware. So no prefix expansion takes
place.Namespaces are a layer.
Namespace defaulting is superficially more disruptive to DTDs. It means that you
may indeed have two element types from different schemas which would (if you
used a single DTD to directly model them) have the same GI and content model.
Under these circumstances, the content model would tend to become ANY, of
course. But it is not really more disruptive: if you do not want to use
defaulting,
dont use it! Put a note in your products or documents saying "NO DEFAULTING"
and encourage people not to ue it.
At the moment, when you combine 2 DTDs, you have to rename element
types or combine content models. The namespace procedure does not alter this, so
even though it is superficially alarming, it is not much different from what
happens now.
Rick Jelliffe