Lists Home |
Date Index |
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="...").
John's original question was whether it was an error to use prefixes
that weren't declared. It wasn't clear if he meant the DTD, the
instance, or both. I assume he meant both. For example, would the
following be an error:
<!NAMESPACE bar "http://www.bar.org/">
<!ELEMENT bar:Bar (foo:Foo)>
<!ELEMENT foo:Foo (#PCDATA)>
John suggested that this was not an error. That is, bar:Bar would be
matched on universal name, while foo:Foo would be matched lexically.
Norman and I both felt this should be an error. I feel that it mixes
apples (a namespace world) and oranges (a non-namespace world).