SAX2 Namespace Support

John Aldridge john.aldridge at
Wed Jan 5 11:22:24 GMT 2000

At 16:28 04/01/00 -0500, David Megginson <david at> wrote:
>John Aldridge <john.aldridge at> writes:
>> class QName {
>> public:
>>     wstring ns () const;           //
>>     wstring name () const;         // p
>>     wstring nsPrefix () const;     // html
>>     wstring prefixedName () const; // html:p
>>     bool operator== (const QName &rhs) const;
>>                                    // ns & name both equal
>> private:
>>     // Probably just a simple pointer to your internal data structures
>> };
>My biggest problem with this (and its Java equivalent) is figuring out 
>how to handle equality: are two QNames with the same URI part and same 
>local part equal?  What if the prefix is different?

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?

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