30 #define __MSXML_LIBRARY_DEFINED__
33 #include <xercesc/util/XMLString.hpp>
34 #include <xercesc/dom/DOM.hpp>
37 #include <xercesc/parsers/XercesDOMParser.hpp>
38 #include <xercesc/framework/MemBufInputSource.hpp>
39 #include <xercesc/framework/MemBufFormatTarget.hpp>
40 #include <xercesc/framework/Wrapper4InputSource.hpp>
41 #include <xercesc/framework/StdOutFormatTarget.hpp>
42 #include <xercesc/dom/DOMErrorHandler.hpp>
43 #include <xercesc/util/XercesDefs.hpp>
44 #include <xercesc/sax/ErrorHandler.hpp>
45 #include <xercesc/util/TransService.hpp>
48 XERCES_CPP_NAMESPACE_USE
66 explicit XStr(
const char* toTranscode )
69 fUnicodeForm = XMLString::transcode( toTranscode );
72 explicit XStr(
const std::string& toTranscode )
75 fUnicodeForm = XMLString::transcode( toTranscode.c_str() );
82 XMLString::release( &fUnicodeForm );
87 const XMLCh* uniForm()
const
96 XStr() : fUnicodeForm( NULL ) {};
105 explicit StrX(
const XMLCh* toTranscode )
108 fLocalForm = XMLString::transcode( toTranscode );
115 XMLString::release( &fLocalForm );
123 const char* locForm()
const
136 StrX() : fLocalForm( NULL ) {};
139 #define unicodeForm( str ) ( XStr( str ).uniForm() )
140 #define localForm( str ) ( StrX( str ).locForm() )
160 void warning(
const SAXParseException& toCatch );
161 void error(
const SAXParseException& toCatch );
162 void fatalError(
const SAXParseException& toCatch );
193 bool handleError(
const DOMError& domError );
206 static string SerializeToString(
const XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* doc, XERCES_CPP_NAMESPACE_QUALIFIER DOMImplementationLS* impl,
int prettyPrint = 0 );
207 static string SerializeToString(
const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* document );
208 static string SerializeToString(
const XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* node );
209 static string SerializeNodeToString(
const XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* node,
int prettyPrint = 0 );
211 static XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* DeserializeFromFile(
const string& filename );
212 static XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* DeserializeFromString(
const string& buffer );
213 static XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* DeserializeFromString(
const unsigned char* buffer,
const unsigned long bufferSize );
215 static void printDOM(
const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* doc );
217 static string getNamespace(
const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* doc );
219 static string XMLChtoString(
const XMLCh* inputXml );
222 static void Terminate();
238 static void CreateKeys();
239 static void DeleteInstances(
void* data );
247 XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* internalDeserialize(
const unsigned char* buffer,
const unsigned long bufferSize );
248 XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* internalDeserialize(
const string& filename );
250 void ReleaseParser();
251 void ReleaseUTF8Transcoder();
253 void CreateUTF8Transcoder();