diff options
Diffstat (limited to 'src/xml/dom/qdom.h')
-rw-r--r-- | src/xml/dom/qdom.h | 190 |
1 files changed, 94 insertions, 96 deletions
diff --git a/src/xml/dom/qdom.h b/src/xml/dom/qdom.h index 779e05805c..a3900609c4 100644 --- a/src/xml/dom/qdom.h +++ b/src/xml/dom/qdom.h @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtXml module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QDOM_H #define QDOM_H @@ -43,6 +7,8 @@ #include <QtXml/qtxmlglobal.h> #include <QtCore/qstring.h> +class tst_QDom; + QT_BEGIN_NAMESPACE @@ -51,9 +17,6 @@ QT_BEGIN_NAMESPACE class QIODevice; class QTextStream; -class QXmlInputSource; -class QXmlReader; - class QDomDocumentPrivate; class QDomDocumentTypePrivate; class QDomDocumentFragmentPrivate; @@ -97,11 +60,11 @@ class Q_XML_EXPORT QDomImplementation { public: QDomImplementation(); - QDomImplementation(const QDomImplementation&); + QDomImplementation(const QDomImplementation &implementation); ~QDomImplementation(); - QDomImplementation& operator= (const QDomImplementation&); - bool operator== (const QDomImplementation&) const; - bool operator!= (const QDomImplementation&) const; + QDomImplementation& operator=(const QDomImplementation &other); + bool operator==(const QDomImplementation &other) const; + bool operator!=(const QDomImplementation &other) const; // functions bool hasFeature(const QString& feature, const QString& version) const; @@ -149,10 +112,10 @@ public: }; QDomNode(); - QDomNode(const QDomNode&); - QDomNode& operator= (const QDomNode&); - bool operator== (const QDomNode&) const; - bool operator!= (const QDomNode&) const; + QDomNode(const QDomNode &node); + QDomNode& operator=(const QDomNode &other); + bool operator==(const QDomNode &other) const; + bool operator!=(const QDomNode &other) const; ~QDomNode(); // DOM functions @@ -183,7 +146,7 @@ public: // DOM attributes QString nodeValue() const; - void setNodeValue(const QString&); + void setNodeValue(const QString &value); QString prefix() const; void setPrefix(const QString& pre); @@ -240,6 +203,7 @@ protected: QDomNode(QDomNodePrivate*); private: + friend class ::tst_QDom; friend class QDomDocument; friend class QDomDocumentType; friend class QDomNodeList; @@ -250,10 +214,10 @@ class Q_XML_EXPORT QDomNodeList { public: QDomNodeList(); - QDomNodeList(const QDomNodeList&); - QDomNodeList& operator= (const QDomNodeList&); - bool operator== (const QDomNodeList&) const; - bool operator!= (const QDomNodeList&) const; + QDomNodeList(const QDomNodeList &nodeList); + QDomNodeList& operator=(const QDomNodeList &other); + bool operator==(const QDomNodeList &other) const; + bool operator!=(const QDomNodeList &other) const; ~QDomNodeList(); // DOM functions @@ -279,8 +243,8 @@ class Q_XML_EXPORT QDomDocumentType : public QDomNode { public: QDomDocumentType(); - QDomDocumentType(const QDomDocumentType& x); - QDomDocumentType& operator= (const QDomDocumentType&); + QDomDocumentType(const QDomDocumentType &documentType); + QDomDocumentType& operator=(const QDomDocumentType &other); // DOM read only attributes QString name() const; @@ -304,11 +268,27 @@ private: class Q_XML_EXPORT QDomDocument : public QDomNode { public: + enum class ParseOption { + Default = 0x00, + UseNamespaceProcessing = 0x01, + PreserveSpacingOnlyNodes = 0x02, + }; + Q_DECLARE_FLAGS(ParseOptions, ParseOption) + + struct ParseResult + { + QString errorMessage; + qsizetype errorLine = 0; + qsizetype errorColumn = 0; + + explicit operator bool() const noexcept { return errorMessage.isEmpty(); } + }; + QDomDocument(); explicit QDomDocument(const QString& name); explicit QDomDocument(const QDomDocumentType& doctype); - QDomDocument(const QDomDocument& x); - QDomDocument& operator= (const QDomDocument&); + QDomDocument(const QDomDocument &document); + QDomDocument& operator=(const QDomDocument &other); ~QDomDocument(); // DOM functions @@ -336,20 +316,38 @@ public: inline QDomNode::NodeType nodeType() const { return DocumentNode; } // Qt extensions - bool setContent(const QByteArray& text, bool namespaceProcessing, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr ); - bool setContent(const QString& text, bool namespaceProcessing, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr ); - bool setContent(QIODevice* dev, bool namespaceProcessing, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr ); - bool setContent(const QByteArray& text, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr ); - bool setContent(const QString& text, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr ); - bool setContent(QIODevice* dev, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr ); +#if QT_DEPRECATED_SINCE(6, 8) + QT_DEPRECATED_VERSION_X_6_8("Use the overload taking ParseOptions instead.") + bool setContent(const QByteArray &text, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); + QT_DEPRECATED_VERSION_X_6_8("Use the overload taking ParseOptions instead.") + bool setContent(const QString &text, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); + QT_DEPRECATED_VERSION_X_6_8("Use the overload taking ParseOptions instead.") + bool setContent(QIODevice *dev, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); + QT_DEPRECATED_VERSION_X_6_8("Use the overload returning ParseResult instead.") + bool setContent(const QByteArray &text, QString *errorMsg, int *errorLine = nullptr, int *errorColumn = nullptr); + QT_DEPRECATED_VERSION_X_6_8("Use the overload returning ParseResult instead.") + bool setContent(const QString &text, QString *errorMsg, int *errorLine = nullptr, int *errorColumn = nullptr); + QT_DEPRECATED_VERSION_X_6_8("Use the overload returning ParseResult instead.") + bool setContent(QIODevice *dev, QString *errorMsg, int *errorLine = nullptr, int *errorColumn = nullptr); + QT_DEPRECATED_VERSION_X_6_8("Use the overload taking ParseOptions instead.") bool setContent(QXmlStreamReader *reader, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr); +#endif // QT_DEPRECATED_SINCE(6, 8) + + Q_WEAK_OVERLOAD + ParseResult setContent(const QByteArray &data, ParseOptions options = ParseOption::Default) + { return setContentImpl(data, options); } + ParseResult setContent(QAnyStringView data, ParseOptions options = ParseOption::Default); + ParseResult setContent(QIODevice *device, ParseOptions options = ParseOption::Default); + ParseResult setContent(QXmlStreamReader *reader, ParseOptions options = ParseOption::Default); // Qt extensions - QString toString(int = 1) const; - QByteArray toByteArray(int = 1) const; + QString toString(int indent = 1) const; + QByteArray toByteArray(int indent = 1) const; private: + ParseResult setContentImpl(const QByteArray &data, ParseOptions options); + QDomDocument(QDomDocumentPrivate*); friend class QDomNode; @@ -359,10 +357,10 @@ class Q_XML_EXPORT QDomNamedNodeMap { public: QDomNamedNodeMap(); - QDomNamedNodeMap(const QDomNamedNodeMap&); - QDomNamedNodeMap& operator= (const QDomNamedNodeMap&); - bool operator== (const QDomNamedNodeMap&) const; - bool operator!= (const QDomNamedNodeMap&) const; + QDomNamedNodeMap(const QDomNamedNodeMap &namedNodeMap); + QDomNamedNodeMap& operator=(const QDomNamedNodeMap &other); + bool operator==(const QDomNamedNodeMap &other) const; + bool operator!=(const QDomNamedNodeMap &other) const; ~QDomNamedNodeMap(); // DOM functions @@ -396,8 +394,8 @@ class Q_XML_EXPORT QDomDocumentFragment : public QDomNode { public: QDomDocumentFragment(); - QDomDocumentFragment(const QDomDocumentFragment& x); - QDomDocumentFragment& operator= (const QDomDocumentFragment&); + QDomDocumentFragment(const QDomDocumentFragment &documentFragment); + QDomDocumentFragment& operator=(const QDomDocumentFragment &other); // Overridden from QDomNode inline QDomNode::NodeType nodeType() const { return DocumentFragmentNode; } @@ -413,8 +411,8 @@ class Q_XML_EXPORT QDomCharacterData : public QDomNode { public: QDomCharacterData(); - QDomCharacterData(const QDomCharacterData& x); - QDomCharacterData& operator= (const QDomCharacterData&); + QDomCharacterData(const QDomCharacterData &characterData); + QDomCharacterData& operator=(const QDomCharacterData &other); // DOM functions QString substringData(unsigned long offset, unsigned long count); @@ -428,7 +426,7 @@ public: // DOM attributes QString data() const; - void setData(const QString&); + void setData(const QString &data); // Overridden from QDomNode QDomNode::NodeType nodeType() const; @@ -446,8 +444,8 @@ class Q_XML_EXPORT QDomAttr : public QDomNode { public: QDomAttr(); - QDomAttr(const QDomAttr& x); - QDomAttr& operator= (const QDomAttr&); + QDomAttr(const QDomAttr &attr); + QDomAttr& operator=(const QDomAttr &other); // DOM read only attributes QString name() const; @@ -456,7 +454,7 @@ public: // DOM attributes QString value() const; - void setValue(const QString&); + void setValue(const QString &value); // Overridden from QDomNode inline QDomNode::NodeType nodeType() const { return AttributeNode; } @@ -473,8 +471,8 @@ class Q_XML_EXPORT QDomElement : public QDomNode { public: QDomElement(); - QDomElement(const QDomElement& x); - QDomElement& operator= (const QDomElement&); + QDomElement(const QDomElement &element); + QDomElement& operator=(const QDomElement &other); // DOM functions QString attribute(const QString& name, const QString& defValue = QString() ) const; @@ -531,8 +529,8 @@ class Q_XML_EXPORT QDomText : public QDomCharacterData { public: QDomText(); - QDomText(const QDomText& x); - QDomText& operator= (const QDomText&); + QDomText(const QDomText &text); + QDomText& operator=(const QDomText &other); // DOM functions QDomText splitText(int offset); @@ -552,8 +550,8 @@ class Q_XML_EXPORT QDomComment : public QDomCharacterData { public: QDomComment(); - QDomComment(const QDomComment& x); - QDomComment& operator= (const QDomComment&); + QDomComment(const QDomComment &comment); + QDomComment& operator=(const QDomComment &other); // Overridden from QDomCharacterData inline QDomNode::NodeType nodeType() const { return CommentNode; } @@ -569,8 +567,8 @@ class Q_XML_EXPORT QDomCDATASection : public QDomText { public: QDomCDATASection(); - QDomCDATASection(const QDomCDATASection& x); - QDomCDATASection& operator= (const QDomCDATASection&); + QDomCDATASection(const QDomCDATASection &cdataSection); + QDomCDATASection& operator=(const QDomCDATASection &other); // Overridden from QDomText inline QDomNode::NodeType nodeType() const { return CDATASectionNode; } @@ -586,8 +584,8 @@ class Q_XML_EXPORT QDomNotation : public QDomNode { public: QDomNotation(); - QDomNotation(const QDomNotation& x); - QDomNotation& operator= (const QDomNotation&); + QDomNotation(const QDomNotation ¬ation); + QDomNotation& operator=(const QDomNotation &other); // DOM read only attributes QString publicId() const; @@ -607,8 +605,8 @@ class Q_XML_EXPORT QDomEntity : public QDomNode { public: QDomEntity(); - QDomEntity(const QDomEntity& x); - QDomEntity& operator= (const QDomEntity&); + QDomEntity(const QDomEntity &entity); + QDomEntity& operator=(const QDomEntity &other); // DOM read only attributes QString publicId() const; @@ -628,8 +626,8 @@ class Q_XML_EXPORT QDomEntityReference : public QDomNode { public: QDomEntityReference(); - QDomEntityReference(const QDomEntityReference& x); - QDomEntityReference& operator= (const QDomEntityReference&); + QDomEntityReference(const QDomEntityReference &entityReference); + QDomEntityReference& operator=(const QDomEntityReference &other); // Overridden from QDomNode inline QDomNode::NodeType nodeType() const { return EntityReferenceNode; } @@ -645,15 +643,15 @@ class Q_XML_EXPORT QDomProcessingInstruction : public QDomNode { public: QDomProcessingInstruction(); - QDomProcessingInstruction(const QDomProcessingInstruction& x); - QDomProcessingInstruction& operator= (const QDomProcessingInstruction&); + QDomProcessingInstruction(const QDomProcessingInstruction &processingInstruction); + QDomProcessingInstruction& operator=(const QDomProcessingInstruction &other); // DOM read only attributes QString target() const; // DOM attributes QString data() const; - void setData(const QString& d); + void setData(const QString &data); // Overridden from QDomNode inline QDomNode::NodeType nodeType() const { return ProcessingInstructionNode; } @@ -666,7 +664,7 @@ private: }; -Q_XML_EXPORT QTextStream& operator<<(QTextStream&, const QDomNode&); +Q_XML_EXPORT QTextStream& operator<<(QTextStream& stream, const QDomNode& node); #endif // QT_NO_DOM |