AttributeList in C++ SAX

Richard Anderson rja at
Tue Oct 5 10:20:08 BST 1999


> Before you know it you'll be tempted to assign the return values to
> local string& variables to get shorter syntax, ie. like this:
>         ...
> string& aname = empty();
> for (int i=0; i<atts->getLength(); ++i) {
>     aname = atts->getName(i);
>             ...

We've never had a single customer say they've ever done this, but I agree it
could be a problem.  We also provide lots of samples with our product so
people use that code as a template.

I've put our sax include file here if you want to see our implementation :

This is cross platform / multiple encoding so we do use wstring.  We've got
some simply conversion shim for help people go between wide and narrow I'll
post if they would be useful.

> (returning a NULL pointer if not successful) or alterativelt,

Nobody likes NULL pointers ;)

> In both cases we'll end up assigning to a local variable and do some
> testing:

And both cases end up with longer code.  I prefer the approach we've taken
although you cant tell the difference between not present and empty string.

The same feedback has come from our customers who were involved last year
when putting together the original include files together.

I guess at the end of the day you have to find a comprimise between
usability and pureness.



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