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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

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

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <david@megginson.com>
  • To: XMLDev list <xml-dev-digest@ic.ac.uk>
  • Date: Thu, 2 Dec 1999 16:32:36 -0500 (EST)

Here are the principles that I applied to creating my first draft
SAX/C++ interface:

1. Use references when there can never be a null value, pointers
   otherwise.

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.

3. Callbacks cannot be const, since they often change the state of the 
   client app.

4. Hold my nose and use UTF-8 rather than UTF-16, for compatibility
   with most existing C++ code.

5. Use char * rather than string, to avoid forcing a lot of allocation 
   overhead on the SAX driver.


All the best,


David

-- 
David Megginson                 david@megginson.com
           http://www.megginson.com/

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