SAX2 Namespace Support

David Megginson david at
Thu Jan 6 18:57:34 GMT 2000

Hunter, David writes:

 > > > The problem though boils down to how often, in reality, XML
 > > > instances will have the same Namespace declared twice, with
 > > > different prefixes.
 > > 
 > > The fact that the bug would be rare makes it worse -- an
 > > application will run perfectly for, say, 18 months, then will
 > > suddenly and inexplicably blow up long after the original
 > > programmers have moved on because one input document happened to
 > > declare the same NS twice and the programmers didn't build in
 > > error recovery for that problem.
 > I don't want to flog any dead horses, so I hope this hasn't been covered
 > already, but is it really an error to have the same namespace declared
 > twice, with different prefixes?  

No, it's not an error at all.  We're concerned about the borderline
case where there are two QName objects

  {"", "p", ""}
  {"", "p", "html"}

and a program compares them with equals() in Java or == in C++.  Most
people are arguing that the two should be equals()/==, but a few
people have pointed out that that is a nasty trap for any programmer
who is not extremely familiar with the Namespaces spec.

My proposed solution is simply to punt: don't introduce a QName class
in SAX2, and leave such things to higher-level specs, which can
deal with these as they see fit.

All the best,


David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list