SAX2 Namespace Support
John Aldridge
john.aldridge at informatix.co.uk
Tue Jan 4 18:23:31 GMT 2000
At 18:02 20/12/99 -0500, David Megginson <david at 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 {
public:
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
private:
// 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)
--
Cheers,
John
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