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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   re: C++ SAX Question

[ Lists Home | Date Index | Thread Index ]
  • From: <david@megginson.com>
  • To: "XML Developers' List" <xml-dev@ic.ac.uk>
  • Date: Wed, 21 Oct 1998 09:47:51 -0400 (EDT)

RJA@dip.co.uk writes:

 > I'm currently working on some C++ SAX definitions has was wondering if I
 > should be using references for strings or not.    

Yes, you should certainly be using references for strings (const
references, actually); you should also use wstring rather than string,
since XML requires Unicode support.  I'm not a C++ guru, but I'd
suggest starting with something like this for DocumentHandler:

xml/sax/DocumentHandler:

  #ifndef __XML_SAX_DOCUMENTHANDLER
  #define __XML_SAX_DOCUMENTHANDLER 1

  #include <string>
  #include <wchar.h>

  #include "Locator"
  #include "AttributeList"

  namespace org_xml_sax {

  class SAXDocumentHandler
  {
  public:
    virtual void setDocumentLocator (const Locator &locator) = 0;
    virtual void startDocument () = 0;
    virtual void endDocument () = 0;
    virtual void startElement (const wstring &name,
			       const AttributeList &atts) = 0;
    virtual void endElement (const wstring &name) = 0;
    virtual void characters (const wchar_t ch[], 
			     size_t start, 
			     size_t length) = 0;
    virtual void ignorableWhitespace (const wchar_t ch[],
				      size_t start,
				      size_t length) = 0;
    virtual void processingInstruction (const wstring &name,
					const wstring &target) = 0;
  };

  }

  #endif __XML_SAX_DOCUMENTHANDLER

As for comments, you probably want to put non-SAX stuff in a separate
or an extended interface so that other people can use your SAX
interface as well, i.e.

  #include <xml/sax/DocumentHandler>

  namespace rja_sax {

  class RJADocumentHandler : public org_xml_sax::DocumentHandler
  {
  public:
    virtual void comment (const wstring &data) = 0;
  };

  }

All the best, and thanks for taking the interest in building a SAX C++ 
interface.


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/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe 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