[
Lists Home |
Date Index |
Thread Index
]
[Ronald Bourret]
> Bob Hutchison wrote:
>
> > I'm not sure what you mean by this. That this is to be the only way to
> > declare namespaces? That you can't mix DTD and old-style namespace
> > declarations/specification (whatever)?
>
> This (the <!NAMESPACE ...> construct) is the only way to declare
> namespaces in the validation DTD. The body of the document still uses
> normal namespace declarations (xmlns:foo="...").
Hmm, that would mean that we declare a namespace twice, once in the DTD and
once in the XML document. The redundancy bothers me. What would make sense
is associating a prefix with a namespace for use in the DTD, but making sure
that it would not have to be the same prefix as the document uses (as long
as the actual namespace uri is the same):
<!NAMESPACE spam urn:xxx:yyy>
<!ELEMENT doc (spam:eggs)*>
<!ELEMENT spam:eggs (#PCDATA)>
<doc xmlns:foo='urn:xxx:yyy'>
<foo:eggs>This document would validate, even with the different
prefix</foo:eggs>
</doc>
This would agree perfectly with xml namespaces (the actual prefix is
irrelevant) and allow authors to use prefixes convenient for them rather
than being locked into someone else's.
Cheers,
Tom P
|