SAX2 Namespace Support
James.Anderson at mecomnet.de
Wed Jan 5 18:17:29 GMT 2000
If one doesn't want to leave it up to the user (eg, via user-specified class
implementations) then the parser should intern the QNames and effect object
identity according to whether it is observing namespaces or not (i.e. based on
augmenting stem equality with either prefix or uri equality).
If the interning mechanism is made available to the application, then the
application can use it to intern any "interesting" names and bind them to
static variables when it initializes. From then on, == need behave only as an
This will get complex if the application wants to switch modi, but then I
don't believe applications belong in "non-namspace-observing" mode to begin with.
David Megginson wrote:
> John Aldridge <john.aldridge at informatix.co.uk> writes:
> > I'm sorry, I don't see the problem. The QNames are equal if ns() and
> > name() both match. The prefix is irrelevant. This is what I suggested in
> > my definition of the equality operator above.
> > if (qn1 == qn2) ...
> > just does the right thing. If some application really wants to compare the
> > prefixed name, it can always write:
> > if (qn1.prefixedName () == qn2.prefixedName ()) ...
> > I'm obviously missing something, since you and other knowledgable people
> > don't regard this as self evidently obvious -- can you explain the problem
> > to me, please?
> 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
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;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev