SAX2 Namespace Support

David Megginson david at megginson.com
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

  {"http://www.w3c.org/1999/xhtml", "p", ""}
  {"http://www.w3c.org/1999/xhtml", "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

-- 
David Megginson                 david at megginson.com
           http://www.megginson.com/

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





More information about the Xml-dev mailing list