OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: SAX2 Namespace Support

[ Lists Home | Date Index | Thread Index ]
  • From: John Aldridge <john.aldridge@informatix.co.uk>
  • To: xml-dev@ic.ac.uk
  • Date: Tue, 04 Jan 2000 18:22:50 +0000

At 18:02 20/12/99 -0500, David Megginson <david@megginson.com> wrote:
>  public void startElement (String ns, String name, 
>                            AttributeList atts)
>    throws SAXException;

I appreciate this is probably a done deal by now, but I prefer:

class QName {
    wstring ns () const;           // http://www.w3c.org/1999/xhtml
    wstring name () const;         // p
    wstring nsPrefix () const;     // html
    wstring prefixedName () const; // html:p

    bool operator== (const QName &rhs) const;
                                   // ns & name both equal
    // Probably just a simple pointer to your internal data structures

void startElement (const QName &name, const AttributeList &atts)
throws SAXException;

You can also provide a specialisation for class std::less<QName>, and then
QNames become directly usable with the STL set/map classes.

Hiding the internals lets you use some cleverer comparison techniques, too,
so that, e.g.

    if (qn1 == qn2) ...

can happen faster than doing the various string comparisons.

N.B. the code above is phrased assuming the use of wstring for string data,
because I prefer it, but could readily be adapted to raw wchar_t*, or
SAXChar, or whatever comes out of the other debate)


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@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@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS