diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
commit | 2d37894b1b037cf24231090eda8589bbb44fb6fc (patch) | |
tree | be835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/XML/src/DOMImplementation.cpp | |
parent | 718c552901d703c502ccbefdfc3c9028d608b947 (diff) | |
download | ydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/XML/src/DOMImplementation.cpp')
-rw-r--r-- | contrib/libs/poco/XML/src/DOMImplementation.cpp | 172 |
1 files changed, 86 insertions, 86 deletions
diff --git a/contrib/libs/poco/XML/src/DOMImplementation.cpp b/contrib/libs/poco/XML/src/DOMImplementation.cpp index c78ab20691..b6a138d67e 100644 --- a/contrib/libs/poco/XML/src/DOMImplementation.cpp +++ b/contrib/libs/poco/XML/src/DOMImplementation.cpp @@ -1,86 +1,86 @@ -// -// DOMImplementation.cpp -// -// Library: XML -// Package: DOM -// Module: DOM -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#include "Poco/DOM/DOMImplementation.h" -#include "Poco/DOM/DocumentType.h" -#include "Poco/DOM/Document.h" -#include "Poco/DOM/Element.h" -#include "Poco/String.h" -#include "Poco/SingletonHolder.h" - - -namespace Poco { -namespace XML { - - -const XMLString DOMImplementation::FEATURE_XML = toXMLString("xml"); -const XMLString DOMImplementation::FEATURE_CORE = toXMLString("core"); -const XMLString DOMImplementation::FEATURE_EVENTS = toXMLString("events"); -const XMLString DOMImplementation::FEATURE_MUTATIONEVENTS = toXMLString("mutationevents"); -const XMLString DOMImplementation::FEATURE_TRAVERSAL = toXMLString("traversal"); -const XMLString DOMImplementation::VERSION_1_0 = toXMLString("1.0"); -const XMLString DOMImplementation::VERSION_2_0 = toXMLString("2.0"); - - -DOMImplementation::DOMImplementation() -{ -} - - -DOMImplementation::~DOMImplementation() -{ -} - - -bool DOMImplementation::hasFeature(const XMLString& feature, const XMLString& version) const -{ - XMLString lcFeature = Poco::toLower(feature); - return (lcFeature == FEATURE_XML && version == VERSION_1_0) || - (lcFeature == FEATURE_CORE && version == VERSION_2_0) || - (lcFeature == FEATURE_EVENTS && version == VERSION_2_0) || - (lcFeature == FEATURE_MUTATIONEVENTS && version == VERSION_2_0) || - (lcFeature == FEATURE_TRAVERSAL && version == VERSION_2_0); -} - - -DocumentType* DOMImplementation::createDocumentType(const XMLString& name, const XMLString& publicId, const XMLString& systemId) const -{ - return new DocumentType(0, name, publicId, systemId); -} - - -Document* DOMImplementation::createDocument(const XMLString& namespaceURI, const XMLString& qualifiedName, DocumentType* doctype) const -{ - Document* pDoc = new Document(doctype); - if (namespaceURI.empty()) - pDoc->appendChild(pDoc->createElement(qualifiedName))->release(); - else - pDoc->appendChild(pDoc->createElementNS(namespaceURI, qualifiedName))->release(); - return pDoc; -} - - -namespace -{ - static Poco::SingletonHolder<DOMImplementation> sh; -} - - -const DOMImplementation& DOMImplementation::instance() -{ - return *sh.get(); -} - - -} } // namespace Poco::XML +// +// DOMImplementation.cpp +// +// Library: XML +// Package: DOM +// Module: DOM +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#include "Poco/DOM/DOMImplementation.h" +#include "Poco/DOM/DocumentType.h" +#include "Poco/DOM/Document.h" +#include "Poco/DOM/Element.h" +#include "Poco/String.h" +#include "Poco/SingletonHolder.h" + + +namespace Poco { +namespace XML { + + +const XMLString DOMImplementation::FEATURE_XML = toXMLString("xml"); +const XMLString DOMImplementation::FEATURE_CORE = toXMLString("core"); +const XMLString DOMImplementation::FEATURE_EVENTS = toXMLString("events"); +const XMLString DOMImplementation::FEATURE_MUTATIONEVENTS = toXMLString("mutationevents"); +const XMLString DOMImplementation::FEATURE_TRAVERSAL = toXMLString("traversal"); +const XMLString DOMImplementation::VERSION_1_0 = toXMLString("1.0"); +const XMLString DOMImplementation::VERSION_2_0 = toXMLString("2.0"); + + +DOMImplementation::DOMImplementation() +{ +} + + +DOMImplementation::~DOMImplementation() +{ +} + + +bool DOMImplementation::hasFeature(const XMLString& feature, const XMLString& version) const +{ + XMLString lcFeature = Poco::toLower(feature); + return (lcFeature == FEATURE_XML && version == VERSION_1_0) || + (lcFeature == FEATURE_CORE && version == VERSION_2_0) || + (lcFeature == FEATURE_EVENTS && version == VERSION_2_0) || + (lcFeature == FEATURE_MUTATIONEVENTS && version == VERSION_2_0) || + (lcFeature == FEATURE_TRAVERSAL && version == VERSION_2_0); +} + + +DocumentType* DOMImplementation::createDocumentType(const XMLString& name, const XMLString& publicId, const XMLString& systemId) const +{ + return new DocumentType(0, name, publicId, systemId); +} + + +Document* DOMImplementation::createDocument(const XMLString& namespaceURI, const XMLString& qualifiedName, DocumentType* doctype) const +{ + Document* pDoc = new Document(doctype); + if (namespaceURI.empty()) + pDoc->appendChild(pDoc->createElement(qualifiedName))->release(); + else + pDoc->appendChild(pDoc->createElementNS(namespaceURI, qualifiedName))->release(); + return pDoc; +} + + +namespace +{ + static Poco::SingletonHolder<DOMImplementation> sh; +} + + +const DOMImplementation& DOMImplementation::instance() +{ + return *sh.get(); +} + + +} } // namespace Poco::XML |