aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h
diff options
context:
space:
mode:
authorDevtools Arcadia <arcadia-devtools@yandex-team.ru>2022-02-07 18:08:42 +0300
committerDevtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net>2022-02-07 18:08:42 +0300
commit1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch)
treee26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h
downloadydb-1110808a9d39d4b808aef724c861a2e1a38d2a69.tar.gz
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h')
-rw-r--r--contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h b/contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h
new file mode 100644
index 0000000000..587e61c597
--- /dev/null
+++ b/contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h
@@ -0,0 +1,103 @@
+//
+// SAXParser.h
+//
+// Library: XML
+// Package: SAX
+// Module: SAX
+//
+// Implementation of the XMLReader interface.
+//
+// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#ifndef SAX_SAXParser_INCLUDED
+#define SAX_SAXParser_INCLUDED
+
+
+#include "Poco/XML/XML.h"
+#include "Poco/SAX/XMLReader.h"
+#include "Poco/XML/ParserEngine.h"
+
+
+namespace Poco {
+namespace XML {
+
+
+class XML_API SAXParser: public XMLReader
+ /// This class provides a SAX2 (Simple API for XML) interface to expat,
+ /// the XML parser toolkit.
+ /// The following SAX2 features and properties are supported:
+ /// * http://xml.org/sax/features/external-general-entities
+ /// * http://xml.org/sax/features/external-parameter-entities
+ /// * http://xml.org/sax/features/namespaces
+ /// * http://xml.org/sax/features/namespace-prefixes
+ /// * http://xml.org/sax/properties/lexical-handler
+ /// * http://xml.org/sax/properties/declaration-handler
+ ///
+ /// The following proprietary extensions are supported:
+ /// * http://www.appinf.com/features/enable-partial-reads --
+ /// see ParserEngine::setEnablePartialReads()
+{
+public:
+ SAXParser();
+ /// Creates an SAXParser.
+
+ SAXParser(const XMLString& encoding);
+ /// Creates an SAXParser with the given encoding.
+
+ ~SAXParser();
+ /// Destroys the SAXParser.
+
+ void setEncoding(const XMLString& encoding);
+ /// Sets the encoding used by the parser if no
+ /// encoding is specified in the XML document.
+
+ const XMLString& getEncoding() const;
+ /// Returns the name of the encoding used by
+ /// the parser if no encoding is specified in
+ /// the XML document.
+
+ void addEncoding(const XMLString& name, Poco::TextEncoding* pEncoding);
+ /// Adds an encoding to the parser. Does not take ownership of the pointer!
+
+ /// XMLReader
+ void setEntityResolver(EntityResolver* pResolver);
+ EntityResolver* getEntityResolver() const;
+ void setDTDHandler(DTDHandler* pDTDHandler);
+ DTDHandler* getDTDHandler() const;
+ void setContentHandler(ContentHandler* pContentHandler);
+ ContentHandler* getContentHandler() const;
+ void setErrorHandler(ErrorHandler* pErrorHandler);
+ ErrorHandler* getErrorHandler() const;
+ void setFeature(const XMLString& featureId, bool state);
+ bool getFeature(const XMLString& featureId) const;
+ void setProperty(const XMLString& propertyId, const XMLString& value);
+ void setProperty(const XMLString& propertyId, void* value);
+ void* getProperty(const XMLString& propertyId) const;
+ void parse(InputSource* pSource);
+ void parse(const XMLString& systemId);
+ void parseMemoryNP(const char* xml, std::size_t size);
+
+ /// Extensions
+ void parseString(const std::string& xml);
+
+ static const XMLString FEATURE_PARTIAL_READS;
+
+protected:
+ void setupParse();
+
+private:
+ ParserEngine _engine;
+ bool _namespaces;
+ bool _namespacePrefixes;
+};
+
+
+} } // namespace Poco::XML
+
+
+#endif // SAX_SAXParser_INCLUDED