SAX/C++: C++-specific design principles

James Clark jjc at jclark.com
Fri Dec 3 04:49:46 GMT 1999


David Megginson wrote:

> 2. Pointers never change ownership -- if a Parser (for example) wants
>    to own an InputSource, it needs to make its own copy.  The app has
>    to free everything that it allocates, and the SAX driver, likewise.

That's problematic for EntityResolve::resolveEntity; that requires that
ownership of an InputSource be transferred from to the caller from the
callee.

This could be avoided by doing:

virtual const InputSource *
resolveEntity(const char *publicId,
              const char *systemId);

instead of:

virtual void
resolveEntity(const char *publicId,
              const char *systemId,
              InputSource &inputSource);

James



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