everything uses SAX/helpers/StringAdaptor.h
Binned out SAX/helpers/StringAdaptor.h - moved it to Utils/StringAdaptor.h and
changed namespace from SAX to Arabica.
Ordinarily you'd expect to be able to use Xerces' Array janitor class. However,
Windows exes and dlls use seperate heaps, so you can't delete something in one
module that was allocated by another. It's a pita. The solution here is to useXMLString::release.
Although this simply does a delete[], the deletion occurs in the Xerces DLL, so
it will work correctly.
Changes are required for the old version of libg++ which does not support:
* std::wstring
* locale
Changes include:
* #if/#endif removal of code which won't compile.
* Addition of a xerces_string_adaptor which doesn't need locale.
* Addition of typedef "base" referring to basic_XMLReader.
* Extended use of member typedefs to simplify code.
* Added xerces_initializer class to call XMLPlatformUtils::Initialize() and
XMLPlatformUtils::Terminate(). This avoids nested calls to Initialize()
and Terminate().
* Addition of xerces_string_adaptor which converts XMLCh to wchar_t and
back.
* Fixed adaptors to pass XMLCh to Xerces methods rather than wchar_t.
* Added '&' to member function references in ErrorHandlerAdaptor.
* Fixed IStreamAdaptor and InputSourceAdaptor to extend Xerces
BinInputStream and InputSource respectively (were extending Arabica ones!)