Rick Jelliffe wrote:
> Actually, it does not even need any change in DTD syntax AFAIK.
> It just needs a change in the way that validation is performed using DTDs.
>
> The validator needs to understand that given
> <!ATTLIST x xmlns CDATA "123">
> or
> <!ATTLIST x xmlns CDATA #FIXED "123">
> etc. that an instance with
> <y:x xmlns:y="123">
> is correct.
Funny. MSXML implemented this a while back and Microsoft was pilloried
for not being standards compliant :) Personally, I always thought it was
a good way to resolve the namespaces / DTD dilemma.
> You would also need the rule that an unprefixed element name
> could only be declared once per DTD, which is not particularly
> objectionable.
Another possibility is that any element in a namespace would have to
declare that namespace, regardless of whether it was the default
namespace or a namespace using a prefix. Some sort of restriction along
these lines is necessary anyway, since element declarations form a
(possibly cyclical) graph and the notion of "earlier in the graph" is a
bit tenuous.
-- Ron