4#include "Stroika/Foundation/StroikaPreComp.h"
8#include "Stroika/Foundation/DataExchange/BadFormatException.h"
10#include "Stroika/Foundation/Execution/Common.h"
12#include "Stroika/Foundation/Execution/ProgressMonitor.h"
13#include "Stroika/Foundation/Memory/Common.h"
25using namespace Stroika::Foundation::Debug;
28using namespace Stroika::Foundation::DataExchange::XML;
29using namespace Stroika::Foundation::Streams;
36#if qStroika_Foundation_DataExchange_XML_SupportParsing
40 static const XML::Providers::ISAXProvider* kDefaultProvider_ = XML::Providers::kDefaultProvider ();
41 return SAXParse (*kDefaultProvider_, in, callback, schema, progress);
49 if (useSchema !=
nullptr) {
50 if (
static_cast<const Providers::IProvider*
> (schema.GetRep ()->GetProvider ()) != &saxProvider) {
53 *
dynamic_cast<const Providers::ISchemaProvider*
> (
static_cast<const Providers::IProvider*
> (&saxProvider)));
56 if (progress ==
nullptr) {
57 saxProvider.SAXParse (in, callback, useSchema);
#define WeakAssertNotReached()
void SAXParse(const Providers::ISAXProvider &saxProvider, const Streams::InputStream::Ptr< byte > &in, StructuredStreamEvents::IConsumer *callback=nullptr, const Schema::Ptr &schema=nullptr, Execution::ProgressMonitor::Updater progress=nullptr)
Streams::InputStream::Ptr< T > MakeInputStreamWithProgress(const Streams::InputStream::Ptr< T > &in, ProgressMonitor::Updater progress)