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!)
#import <type_library>. The latter is sensitive to
the exact name/version of the library provided by
Microsoft and various options provided to the type
library reader. (Found the issue when I attempted
to build with MSXML4 rather then MSXML3.) [kas]
Created the default PROGID define. M$. in their
wisdom, removed the version independent IDs starting
in version 4.0 of the MSXML library. Saves a lot of
'DLL hell' problems but creates others for maintainers.
The initialization code will now try the 4.0 ID and
then the older (version independant) name. [kas]
StreamAdaptor now derives from ISequentialStream, not IStream.
Fixes to StreamAdaptor::QueryInterface.