aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/XML/src/Document.cpp
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/XML/src/Document.cpp
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
downloadydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/XML/src/Document.cpp')
-rw-r--r--contrib/libs/poco/XML/src/Document.cpp652
1 files changed, 326 insertions, 326 deletions
diff --git a/contrib/libs/poco/XML/src/Document.cpp b/contrib/libs/poco/XML/src/Document.cpp
index a649c0b066..f022993e45 100644
--- a/contrib/libs/poco/XML/src/Document.cpp
+++ b/contrib/libs/poco/XML/src/Document.cpp
@@ -1,326 +1,326 @@
-//
-// Document.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/Document.h"
-#include "Poco/DOM/DocumentType.h"
-#include "Poco/DOM/DOMImplementation.h"
-#include "Poco/DOM/Element.h"
-#include "Poco/DOM/Attr.h"
-#include "Poco/DOM/DocumentFragment.h"
-#include "Poco/DOM/Text.h"
-#include "Poco/DOM/Comment.h"
-#include "Poco/DOM/CDATASection.h"
-#include "Poco/DOM/ProcessingInstruction.h"
-#include "Poco/DOM/EntityReference.h"
-#include "Poco/DOM/DOMException.h"
-#include "Poco/DOM/ElementsByTagNameList.h"
-#include "Poco/DOM/Entity.h"
-#include "Poco/DOM/Notation.h"
-#include "Poco/XML/Name.h"
-#include "Poco/XML/NamePool.h"
-
-
-namespace Poco {
-namespace XML {
-
-
-const XMLString Document::NODE_NAME = toXMLString("#document");
-
-
-Document::Document(NamePool* pNamePool):
- AbstractContainerNode(0),
- _pDocumentType(0),
- _eventSuspendLevel(0)
-{
- if (pNamePool)
- {
- _pNamePool = pNamePool;
- _pNamePool->duplicate();
- }
- else
- {
- _pNamePool = new NamePool;
- }
-}
-
-
-Document::Document(unsigned long namePoolSize):
- AbstractContainerNode(0),
- _pDocumentType(0),
- _pNamePool(new NamePool(namePoolSize)),
- _eventSuspendLevel(0)
-{
-}
-
-
-Document::Document(DocumentType* pDocumentType, NamePool* pNamePool):
- AbstractContainerNode(0),
- _pDocumentType(pDocumentType),
- _eventSuspendLevel(0)
-{
- if (pNamePool)
- {
- _pNamePool = pNamePool;
- _pNamePool->duplicate();
- }
- else
- {
- _pNamePool = new NamePool;
- }
- if (_pDocumentType)
- {
- _pDocumentType->duplicate();
- _pDocumentType->setOwnerDocument(this);
- }
-}
-
-
-Document::Document(DocumentType* pDocumentType, unsigned long namePoolSize):
- AbstractContainerNode(0),
- _pDocumentType(pDocumentType),
- _pNamePool(new NamePool(namePoolSize)),
- _eventSuspendLevel(0)
-{
- if (_pDocumentType)
- {
- _pDocumentType->duplicate();
- _pDocumentType->setOwnerDocument(this);
- }
-}
-
-
-Document::~Document()
-{
- if (_pDocumentType) _pDocumentType->release();
- _pNamePool->release();
-}
-
-
-bool Document::dispatchEvent(Event* evt)
-{
- return _eventSuspendLevel > 0 || AbstractContainerNode::dispatchEvent(evt);
-}
-
-
-void Document::collectGarbage()
-{
- _autoReleasePool.release();
-}
-
-
-void Document::suspendEvents()
-{
- ++_eventSuspendLevel;
-}
-
-
-void Document::resumeEvents()
-{
- poco_assert_dbg (_eventSuspendLevel > 0);
-
- --_eventSuspendLevel;
-}
-
-
-const DOMImplementation& Document::implementation() const
-{
- return DOMImplementation::instance();
-}
-
-
-Element* Document::documentElement() const
-{
- // Skip non-element nodes before the document element
- Node* pCur = firstChild();
- while (pCur)
- {
- if (dynamic_cast<Element*>(pCur))
- return static_cast<Element*>(pCur);
- pCur = pCur->nextSibling();
- }
- return 0;
-}
-
-
-Element* Document::createElement(const XMLString& tagName) const
-{
- return new Element(const_cast<Document*>(this), EMPTY_STRING, EMPTY_STRING, tagName);
-}
-
-
-DocumentFragment* Document::createDocumentFragment() const
-{
- return new DocumentFragment(const_cast<Document*>(this));
-}
-
-
-Text* Document::createTextNode(const XMLString& data) const
-{
- return new Text(const_cast<Document*>(this), data);
-}
-
-
-Comment* Document::createComment(const XMLString& data) const
-{
- return new Comment(const_cast<Document*>(this), data);
-}
-
-
-CDATASection* Document::createCDATASection(const XMLString& data) const
-{
- return new CDATASection(const_cast<Document*>(this), data);
-}
-
-
-ProcessingInstruction* Document::createProcessingInstruction(const XMLString& target, const XMLString& data) const
-{
- return new ProcessingInstruction(const_cast<Document*>(this), target, data);
-}
-
-
-Attr* Document::createAttribute(const XMLString& name) const
-{
- return new Attr(const_cast<Document*>(this), 0, EMPTY_STRING, EMPTY_STRING, name, EMPTY_STRING);
-}
-
-
-EntityReference* Document::createEntityReference(const XMLString& name) const
-{
- return new EntityReference(const_cast<Document*>(this), name);
-}
-
-
-NodeList* Document::getElementsByTagName(const XMLString& name) const
-{
- return new ElementsByTagNameList(const_cast<Document*>(this), name);
-}
-
-
-const XMLString& Document::nodeName() const
-{
- return NODE_NAME;
-}
-
-
-unsigned short Document::nodeType() const
-{
- return Node::DOCUMENT_NODE;
-}
-
-
-Node* Document::importNode(Node* importedNode, bool deep)
-{
- return static_cast<AbstractNode*>(importedNode)->copyNode(deep, this);
-}
-
-
-Element* Document::createElementNS(const XMLString& namespaceURI, const XMLString& qualifiedName) const
-{
- return new Element(const_cast<Document*>(this), namespaceURI, Name::localName(qualifiedName), qualifiedName);
-}
-
-
-Attr* Document::createAttributeNS(const XMLString& namespaceURI, const XMLString& qualifiedName) const
-{
- return new Attr(const_cast<Document*>(this), 0, namespaceURI, Name::localName(qualifiedName), qualifiedName, EMPTY_STRING);
-}
-
-
-NodeList* Document::getElementsByTagNameNS(const XMLString& namespaceURI, const XMLString& localName) const
-{
- return new ElementsByTagNameListNS(const_cast<Document*>(this), namespaceURI, localName);
-}
-
-
-Element* Document::getElementById(const XMLString& /*elementId*/) const
-{
- return 0;
-}
-
-
-Event* Document::createEvent(const XMLString& eventType) const
-{
- if (eventType == MutationEvent::DOMSubtreeModified ||
- eventType == MutationEvent::DOMNodeInserted ||
- eventType == MutationEvent::DOMNodeRemoved ||
- eventType == MutationEvent::DOMNodeRemovedFromDocument ||
- eventType == MutationEvent::DOMNodeInsertedIntoDocument ||
- eventType == MutationEvent::DOMAttrModified ||
- eventType == MutationEvent::DOMCharacterDataModified)
- {
- return new MutationEvent(const_cast<Document*>(this), eventType);
- }
- throw DOMException(DOMException::NOT_SUPPORTED_ERR);
-}
-
-
-Node* Document::copyNode(bool /*deep*/, Document* /*pOwnerDocument*/) const
-{
- throw DOMException(DOMException::NOT_SUPPORTED_ERR);
-}
-
-
-void Document::setDoctype(DocumentType* pDoctype)
-{
- if (_pDocumentType) _pDocumentType->release();
- _pDocumentType = pDoctype;
- if (_pDocumentType)
- {
- _pDocumentType->duplicate();
- _pDocumentType->setOwnerDocument(this);
- }
-}
-
-
-bool Document::eventsSuspended() const
-{
- return _eventSuspendLevel > 0;
-}
-
-
-bool Document::events() const
-{
- return _eventSuspendLevel == 0;
-}
-
-
-Entity* Document::createEntity(const XMLString& name, const XMLString& publicId, const XMLString& systemId, const XMLString& notationName) const
-{
- return new Entity(const_cast<Document*>(this), name, publicId, systemId, notationName);
-}
-
-
-Notation* Document::createNotation(const XMLString& name, const XMLString& publicId, const XMLString& systemId) const
-{
- return new Notation(const_cast<Document*>(this), name, publicId, systemId);
-}
-
-
-Element* Document::getElementById(const XMLString& elementId, const XMLString& idAttribute) const
-{
- Element* pElem = documentElement();
- if (pElem) pElem = pElem->getElementById(elementId, idAttribute);
- return pElem;
-}
-
-
-Element* Document::getElementByIdNS(const XMLString& elementId, const XMLString& idAttributeURI, const XMLString& idAttributeLocalName) const
-{
- Element* pElem = documentElement();
- if (pElem) pElem = pElem->getElementByIdNS(elementId, idAttributeURI, idAttributeLocalName);
- return pElem;
-}
-
-
-} } // namespace Poco::XML
+//
+// Document.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/Document.h"
+#include "Poco/DOM/DocumentType.h"
+#include "Poco/DOM/DOMImplementation.h"
+#include "Poco/DOM/Element.h"
+#include "Poco/DOM/Attr.h"
+#include "Poco/DOM/DocumentFragment.h"
+#include "Poco/DOM/Text.h"
+#include "Poco/DOM/Comment.h"
+#include "Poco/DOM/CDATASection.h"
+#include "Poco/DOM/ProcessingInstruction.h"
+#include "Poco/DOM/EntityReference.h"
+#include "Poco/DOM/DOMException.h"
+#include "Poco/DOM/ElementsByTagNameList.h"
+#include "Poco/DOM/Entity.h"
+#include "Poco/DOM/Notation.h"
+#include "Poco/XML/Name.h"
+#include "Poco/XML/NamePool.h"
+
+
+namespace Poco {
+namespace XML {
+
+
+const XMLString Document::NODE_NAME = toXMLString("#document");
+
+
+Document::Document(NamePool* pNamePool):
+ AbstractContainerNode(0),
+ _pDocumentType(0),
+ _eventSuspendLevel(0)
+{
+ if (pNamePool)
+ {
+ _pNamePool = pNamePool;
+ _pNamePool->duplicate();
+ }
+ else
+ {
+ _pNamePool = new NamePool;
+ }
+}
+
+
+Document::Document(unsigned long namePoolSize):
+ AbstractContainerNode(0),
+ _pDocumentType(0),
+ _pNamePool(new NamePool(namePoolSize)),
+ _eventSuspendLevel(0)
+{
+}
+
+
+Document::Document(DocumentType* pDocumentType, NamePool* pNamePool):
+ AbstractContainerNode(0),
+ _pDocumentType(pDocumentType),
+ _eventSuspendLevel(0)
+{
+ if (pNamePool)
+ {
+ _pNamePool = pNamePool;
+ _pNamePool->duplicate();
+ }
+ else
+ {
+ _pNamePool = new NamePool;
+ }
+ if (_pDocumentType)
+ {
+ _pDocumentType->duplicate();
+ _pDocumentType->setOwnerDocument(this);
+ }
+}
+
+
+Document::Document(DocumentType* pDocumentType, unsigned long namePoolSize):
+ AbstractContainerNode(0),
+ _pDocumentType(pDocumentType),
+ _pNamePool(new NamePool(namePoolSize)),
+ _eventSuspendLevel(0)
+{
+ if (_pDocumentType)
+ {
+ _pDocumentType->duplicate();
+ _pDocumentType->setOwnerDocument(this);
+ }
+}
+
+
+Document::~Document()
+{
+ if (_pDocumentType) _pDocumentType->release();
+ _pNamePool->release();
+}
+
+
+bool Document::dispatchEvent(Event* evt)
+{
+ return _eventSuspendLevel > 0 || AbstractContainerNode::dispatchEvent(evt);
+}
+
+
+void Document::collectGarbage()
+{
+ _autoReleasePool.release();
+}
+
+
+void Document::suspendEvents()
+{
+ ++_eventSuspendLevel;
+}
+
+
+void Document::resumeEvents()
+{
+ poco_assert_dbg (_eventSuspendLevel > 0);
+
+ --_eventSuspendLevel;
+}
+
+
+const DOMImplementation& Document::implementation() const
+{
+ return DOMImplementation::instance();
+}
+
+
+Element* Document::documentElement() const
+{
+ // Skip non-element nodes before the document element
+ Node* pCur = firstChild();
+ while (pCur)
+ {
+ if (dynamic_cast<Element*>(pCur))
+ return static_cast<Element*>(pCur);
+ pCur = pCur->nextSibling();
+ }
+ return 0;
+}
+
+
+Element* Document::createElement(const XMLString& tagName) const
+{
+ return new Element(const_cast<Document*>(this), EMPTY_STRING, EMPTY_STRING, tagName);
+}
+
+
+DocumentFragment* Document::createDocumentFragment() const
+{
+ return new DocumentFragment(const_cast<Document*>(this));
+}
+
+
+Text* Document::createTextNode(const XMLString& data) const
+{
+ return new Text(const_cast<Document*>(this), data);
+}
+
+
+Comment* Document::createComment(const XMLString& data) const
+{
+ return new Comment(const_cast<Document*>(this), data);
+}
+
+
+CDATASection* Document::createCDATASection(const XMLString& data) const
+{
+ return new CDATASection(const_cast<Document*>(this), data);
+}
+
+
+ProcessingInstruction* Document::createProcessingInstruction(const XMLString& target, const XMLString& data) const
+{
+ return new ProcessingInstruction(const_cast<Document*>(this), target, data);
+}
+
+
+Attr* Document::createAttribute(const XMLString& name) const
+{
+ return new Attr(const_cast<Document*>(this), 0, EMPTY_STRING, EMPTY_STRING, name, EMPTY_STRING);
+}
+
+
+EntityReference* Document::createEntityReference(const XMLString& name) const
+{
+ return new EntityReference(const_cast<Document*>(this), name);
+}
+
+
+NodeList* Document::getElementsByTagName(const XMLString& name) const
+{
+ return new ElementsByTagNameList(const_cast<Document*>(this), name);
+}
+
+
+const XMLString& Document::nodeName() const
+{
+ return NODE_NAME;
+}
+
+
+unsigned short Document::nodeType() const
+{
+ return Node::DOCUMENT_NODE;
+}
+
+
+Node* Document::importNode(Node* importedNode, bool deep)
+{
+ return static_cast<AbstractNode*>(importedNode)->copyNode(deep, this);
+}
+
+
+Element* Document::createElementNS(const XMLString& namespaceURI, const XMLString& qualifiedName) const
+{
+ return new Element(const_cast<Document*>(this), namespaceURI, Name::localName(qualifiedName), qualifiedName);
+}
+
+
+Attr* Document::createAttributeNS(const XMLString& namespaceURI, const XMLString& qualifiedName) const
+{
+ return new Attr(const_cast<Document*>(this), 0, namespaceURI, Name::localName(qualifiedName), qualifiedName, EMPTY_STRING);
+}
+
+
+NodeList* Document::getElementsByTagNameNS(const XMLString& namespaceURI, const XMLString& localName) const
+{
+ return new ElementsByTagNameListNS(const_cast<Document*>(this), namespaceURI, localName);
+}
+
+
+Element* Document::getElementById(const XMLString& /*elementId*/) const
+{
+ return 0;
+}
+
+
+Event* Document::createEvent(const XMLString& eventType) const
+{
+ if (eventType == MutationEvent::DOMSubtreeModified ||
+ eventType == MutationEvent::DOMNodeInserted ||
+ eventType == MutationEvent::DOMNodeRemoved ||
+ eventType == MutationEvent::DOMNodeRemovedFromDocument ||
+ eventType == MutationEvent::DOMNodeInsertedIntoDocument ||
+ eventType == MutationEvent::DOMAttrModified ||
+ eventType == MutationEvent::DOMCharacterDataModified)
+ {
+ return new MutationEvent(const_cast<Document*>(this), eventType);
+ }
+ throw DOMException(DOMException::NOT_SUPPORTED_ERR);
+}
+
+
+Node* Document::copyNode(bool /*deep*/, Document* /*pOwnerDocument*/) const
+{
+ throw DOMException(DOMException::NOT_SUPPORTED_ERR);
+}
+
+
+void Document::setDoctype(DocumentType* pDoctype)
+{
+ if (_pDocumentType) _pDocumentType->release();
+ _pDocumentType = pDoctype;
+ if (_pDocumentType)
+ {
+ _pDocumentType->duplicate();
+ _pDocumentType->setOwnerDocument(this);
+ }
+}
+
+
+bool Document::eventsSuspended() const
+{
+ return _eventSuspendLevel > 0;
+}
+
+
+bool Document::events() const
+{
+ return _eventSuspendLevel == 0;
+}
+
+
+Entity* Document::createEntity(const XMLString& name, const XMLString& publicId, const XMLString& systemId, const XMLString& notationName) const
+{
+ return new Entity(const_cast<Document*>(this), name, publicId, systemId, notationName);
+}
+
+
+Notation* Document::createNotation(const XMLString& name, const XMLString& publicId, const XMLString& systemId) const
+{
+ return new Notation(const_cast<Document*>(this), name, publicId, systemId);
+}
+
+
+Element* Document::getElementById(const XMLString& elementId, const XMLString& idAttribute) const
+{
+ Element* pElem = documentElement();
+ if (pElem) pElem = pElem->getElementById(elementId, idAttribute);
+ return pElem;
+}
+
+
+Element* Document::getElementByIdNS(const XMLString& elementId, const XMLString& idAttributeURI, const XMLString& idAttributeLocalName) const
+{
+ Element* pElem = documentElement();
+ if (pElem) pElem = pElem->getElementByIdNS(elementId, idAttributeURI, idAttributeLocalName);
+ return pElem;
+}
+
+
+} } // namespace Poco::XML