Interesting sort of bug in latest version of check

The 'check' script does xml namespace analysis. One of the things it
reports is "other namespace in the document". Basically, it does this by
creating an array of namespace identifiers after it has determined the
"root" namespace of the document.

There are two problems with this.  First, a namespace identifier should
not get into the "other namespaces" list if it is the same as the root
namespace identifier.  Second, if a namespace identifier is repeated, it
should not get into the other namespaces list twice.

The reason this is an issue is that XHTML Modularization infers the
xmlns attribute on every element in the DTD. This means that if you use
check with a DTD based upon XHTML Modularization (like XHTML 1.1 or
XHTML Basic, for example) you will get a huge list of "other
namespaces", one for each element in the document, with all of the
"other namespaces" actually being the same as the root namespace.

This is also an issue because Modularization is actually designed to
help ensure that multiple namespaces can be combined. However, when you
do that check will incorrectly report "other namespaces" for every
element from those modules as well.

Anyway, my recommendation is that the check script be updated so that
identifiers are only placed in the other namespaces list if they are 1)
not the same as the root namespace identifier, and 2) not already in the
list of other namespaces.
Shane P. McCarron                  phone: +1 763 786-8160
ApTest                               fax: +1 763 786-8180
                                  mobile: +1 612 799-6942

Received on Sunday, 9 July 2000 15:17:47 UTC