6namespace Stroika::Foundation::DataExchange::XML::Schema {
13 inline Ptr::Ptr (nullptr_t)
16 inline Ptr::Ptr (shared_ptr<IRep> s)
20 inline optional<URI> Ptr::GetTargetNamespace ()
const
22 return fRep_->GetTargetNamespace ();
24 inline shared_ptr<IRep> Ptr::GetRep ()
const
28#if qStroika_Foundation_DataExchange_XML_SupportDOM
32 template <
typename AS_T>
34#if !qCompilerAndStdLib_RequiresNotMatchInlineOutOfLineForTemplateClassBeingDefined_Buggy
35 requires (same_as<AS_T, String>
36#if qStroika_Foundation_DataExchange_XML_SupportDOM
37 or same_as<AS_T, XML::DOM::Document::Ptr>
39 or same_as<AS_T, Memory::BLOB>)
42 if constexpr (same_as<AS_T, String>) {
43 return Streams::BinaryToText::Reader::New (fRep_->GetData ()).ReadAll ();
45 else if constexpr (same_as<AS_T, Memory::BLOB>) {
46 return fRep_->GetData ();
53 XML::Schema::Ptr Ptr::As (
const Providers::ISchemaProvider& p);
55 XML::DOM::Document::Ptr Ptr::As (
const Providers::IDOMProvider& p);
Document::Ptr is create with Document::New, and is a smart pointer to a DOM document object.