Lists Home |
Date Index |
We're in agreement. This is exactly what I meant by:
> > 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="...").
Two declarations -- one for the DTD, one for the instance -- which apply
to their own area and which can use different prefixes.
While we're on the subject, it's worth noting that the declarations in
the validation DTD have the entire DTD as their scope. Since the DTD is
a graph with no defined starting point, the notion of scope as it
applies to namespace declarations in an instance document doesn't make
sense. A corollary of this is that it's an error to use the same prefix
in two different NAMESPACE constructs. It is not an error to use the
same namespace name (URI) in two different constructs, although it could
be made one.
Note also that the current syntax of the NAMESPACE construct doesn't
allow for a default namespace, which doesn't bother me a bit.
"Thomas B. Passin" wrote:
> 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):