4#ifndef _Stroika_Foundation_DataExchange_XML_Providers_Xerces_h_
5#define _Stroika_Foundation_DataExchange_XML_Providers_Xerces_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
9static_assert (qStroika_HasComponent_xerces,
"Don't include this file if qStroika_HasComponent_xerces not set");
13#include <xercesc/dom/DOM.hpp>
14#include <xercesc/dom/DOMXPathEvaluator.hpp>
15#include <xercesc/framework/LocalFileFormatTarget.hpp>
16#include <xercesc/framework/MemBufFormatTarget.hpp>
17#include <xercesc/framework/MemBufInputSource.hpp>
18#include <xercesc/framework/XMLGrammarPoolImpl.hpp>
19#include <xercesc/parsers/SAX2XMLReaderImpl.hpp>
20#include <xercesc/parsers/XercesDOMParser.hpp>
21#include <xercesc/sax/InputSource.hpp>
22#include <xercesc/sax2/DefaultHandler.hpp>
23#include <xercesc/sax2/SAX2XMLReader.hpp>
24#include <xercesc/sax2/XMLReaderFactory.hpp>
25#include <xercesc/util/BinInputStream.hpp>
26#include <xercesc/util/OutOfMemoryException.hpp>
27#include <xercesc/util/PlatformUtils.hpp>
28#include <xercesc/util/XMLEntityResolver.hpp>
29#include <xercesc/util/XMLString.hpp>
30#include <xercesc/util/XMLUni.hpp>
31#include <xercesc/validators/common/Grammar.hpp>
32#define Assert(c) AssertExpression (c);
49namespace Stroika::Foundation::DataExchange::XML::Providers::Xerces {
53 struct IXercesSchemaRep : Schema::IRep {
54 virtual xercesc::XMLGrammarPool* GetCachedGrammarPool () = 0;
59 struct IXercesNodeRep :
virtual DOM::Node::IRep {
60 virtual xercesc::DOMNode* GetInternalTRep () = 0;
65 Characters::String xercesString2String (
const XMLCh* s,
const XMLCh* e);
66 Characters::String xercesString2String (
const XMLCh* t);
79 const Schema::Ptr& schemaToValidateAgainstWhileReading)
const override;
84#if qStroika_Foundation_DataExchange_XML_DebugMemoryAllocations
85 struct MyXercesMemMgr_;
86 MyXercesMemMgr_* fUseXercesMemoryManager_{
nullptr};
89 inline const Provider kDefaultProvider;
#define CompileTimeFlagChecker_HEADER(NS_PREFIX, NAME, VALUE)
CompileTimeFlagChecker_HEADER () will generate a LINK ERROR if you ever compile a header with one val...