diff options
author | Devtools Arcadia <arcadia-devtools@yandex-team.ru> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <arcadia-devtools@mous.vla.yp-c.yandex.net> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/libs/poco/XML/include/Poco/SAX/SAXParser.h | |
download | ydb-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.h | 103 |
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 |