SAX2 Namespace Support

David Brownell david-b at
Wed Jan 5 18:23:38 GMT 2000

If SAX2 is going to be API-incompatible with SAX1, then I agree that
something like a "Name" class seems desirable.  By and large, APIs that
deal with composite names do so through a unified abstraction.  The few
I've seen that don't do so have been error prone.

David Megginson wrote:
> John Aldridge <john.aldridge at> writes:
> > I'm sorry, I don't see the problem.  The QNames are equal if ns() and
> > name() both match. ...

For the record, there's a non-normative appendix that says a few more
things.  Like, the attribute name { "http://foo", "bar" } is different
the element name with the same structure (different 'partition').  Since
it's non-normative, and for other reasons, I encourage ignoring that.

(Yes, prefix isn't supposed to matter in the common case.  One ignores
pointer values and use what they point to, except in special cases.)

> In principle (the principle of least surprise), it's very bad
> behaviour for two objects to be == in C++ or equals() in Java if any
> of their publicly-accessible fields differ.  Think of sets, for
> example.

Actually, it's quite common for nontrivial objects that equals() only
involve a subset of the visible properties.  It's probably even typical
in applications I've worked with.

There are definitions for what equals() must do, and the Java issue that
is usually overlooked is that if two objects are equals() they must
have the same hashCode()!  There may be dozens of publicly accessible
properties, most of which don't affect equality.

Don't be thinking that equals() means anything more than the "most
common comparison operation".  There are many comparison methods, and
also "==", that can be defined or used as needed.

- Dave

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