<!ELEMENT A (B+)>
<!ELEMENT B (#PCDATA)>
and
<!ELEMENT FOO:A (FOO:B+)>
<!ELEMENT FOO:B (#PCDATA)>
Originally, I had thought that instances of the first case would be recognized
by applications designed for the second -- that is, an application would have a
"default" namespace) -- but now I am leaning the other way. The namespace spec
does not describe how to compare names, so I am assuming that they are first
resolved into fully qualified names and then compared stringwise.
One of the consequences of this is that if namespace prefixes are used in a DTD,
they must be used in both the instance file and in the application. (Of course,
it is easy to imagine an application implementing a default namespace for
backward compatibility, but this is outside the spec.)
Could somebody confirm that these DTD are, in fact, different?
-- Ron Bourret