summaryrefslogtreecommitdiffstats
path: root/src/xml/doc
diff options
context:
space:
mode:
Diffstat (limited to 'src/xml/doc')
-rw-r--r--src/xml/doc/qtxml.qdocconf6
-rw-r--r--src/xml/doc/snippets/CMakeLists.txt5
-rw-r--r--src/xml/doc/snippets/code/doc_src_qtxml.qdoc51
-rw-r--r--src/xml/doc/snippets/code/src_xml_dom_qdom.cpp62
-rw-r--r--src/xml/doc/snippets/code/src_xml_dom_qdom_snippet.cpp51
-rw-r--r--src/xml/doc/snippets/code/src_xml_sax_qxml.cpp53
-rw-r--r--src/xml/doc/snippets/rsslisting/handler.cpp192
-rw-r--r--src/xml/doc/snippets/rsslisting/listing.cpp261
-rw-r--r--src/xml/doc/src/dontdocument.qdoc28
-rw-r--r--src/xml/doc/src/external-resources.qdoc28
-rw-r--r--src/xml/doc/src/qt6-changes.qdoc49
-rw-r--r--src/xml/doc/src/qtxml-index.qdoc34
-rw-r--r--src/xml/doc/src/qtxml.qdoc30
-rw-r--r--src/xml/doc/src/xml-processing.qdoc74
14 files changed, 63 insertions, 861 deletions
diff --git a/src/xml/doc/qtxml.qdocconf b/src/xml/doc/qtxml.qdocconf
index 54b16773d9..63d934943b 100644
--- a/src/xml/doc/qtxml.qdocconf
+++ b/src/xml/doc/qtxml.qdocconf
@@ -33,11 +33,11 @@ exampledirs += ../../../examples/xml \
. \
snippets
-imagedirs += images \
- ../../../examples/xml/images
-
navigation.landingpage = "Qt XML"
navigation.cppclassespage = "Qt XML C++ Classes"
# Add a thumbnail for examples that do not have images
manifestmeta.thumbnail.names = "QtXml/XML Stream Lint Example"
+
+# Enforce zero documentation warnings
+warninglimit = 0
diff --git a/src/xml/doc/snippets/CMakeLists.txt b/src/xml/doc/snippets/CMakeLists.txt
index 134f6c2589..57b98440d4 100644
--- a/src/xml/doc/snippets/CMakeLists.txt
+++ b/src/xml/doc/snippets/CMakeLists.txt
@@ -1,4 +1,7 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
#! [cmake_use]
-find_package(Qt6 COMPONENTS Xml REQUIRED)
+find_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
#! [cmake_use]
diff --git a/src/xml/doc/snippets/code/doc_src_qtxml.qdoc b/src/xml/doc/snippets/code/doc_src_qtxml.qdoc
index c09b4bdde4..b1f24df7e1 100644
--- a/src/xml/doc/snippets/code/doc_src_qtxml.qdoc
+++ b/src/xml/doc/snippets/code/doc_src_qtxml.qdoc
@@ -1,52 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
//! [3]
<quote>A quotation.</quote>
diff --git a/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp b/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp
index cc5d7c0b13..7c7a59745b 100644
--- a/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp
+++ b/src/xml/doc/snippets/code/src_xml_dom_qdom.cpp
@@ -1,52 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <iostream>
#include <cstring>
#include <QFile>
@@ -136,17 +89,6 @@ for(QDomNode n = element.firstChild(); !n.isNull(); n = n.nextSibling())
//! [10]
}
-void FirstElement()
-{
-//! [11]
-QDomDocument doc;
-QDomElement root = doc.firstChildElement("database");
-QDomElement elt = root.firstChildElement("entry");
-for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) {
- // ...
-}
-//! [11]
-}
void FileContent()
{
diff --git a/src/xml/doc/snippets/code/src_xml_dom_qdom_snippet.cpp b/src/xml/doc/snippets/code/src_xml_dom_qdom_snippet.cpp
index 233cdac8d7..7bc8ec2b04 100644
--- a/src/xml/doc/snippets/code/src_xml_dom_qdom_snippet.cpp
+++ b/src/xml/doc/snippets/code/src_xml_dom_qdom_snippet.cpp
@@ -1,52 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [4]
<body>
<h1>Heading</h1>
diff --git a/src/xml/doc/snippets/code/src_xml_sax_qxml.cpp b/src/xml/doc/snippets/code/src_xml_sax_qxml.cpp
deleted file mode 100644
index 7838dc9827..0000000000
--- a/src/xml/doc/snippets/code/src_xml_sax_qxml.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//! [0]
-xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
-//! [0]
diff --git a/src/xml/doc/snippets/rsslisting/handler.cpp b/src/xml/doc/snippets/rsslisting/handler.cpp
deleted file mode 100644
index e1cc7a55fe..0000000000
--- a/src/xml/doc/snippets/rsslisting/handler.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*
-handler.cpp
-
-Provides a handler for processing XML elements found by the reader.
-
-The handler looks for <title> and <link> elements within <item> elements,
-and records the text found within them. Link information stored within
-rdf:about attributes of <item> elements is also recorded when it is
-available.
-
-For each item found, a signal is emitted which specifies its title and
-link information. This may be used by user interfaces for the purpose of
-displaying items as they are read.
-*/
-
-#include <QtGui>
-
-#include "handler.h"
-
-/*
- Reset the state of the handler to ensure that new documents are
- read correctly.
-
- We return true to indicate that parsing should continue.
-*/
-
-bool Handler::startDocument()
-{
- inItem = false;
- inTitle = false;
- inLink = false;
-
- return true;
-}
-
-/*
- Process each starting element in the XML document.
-
- Nested item, title, or link elements are not allowed, so we return false
- if we encounter any of these. We also prohibit multiple definitions of
- title strings.
-
- Link destinations are read by this function if they are specified as
- attributes in item elements.
-
- For all cases not explicitly checked for, we return true to indicate that
- the element is acceptable, and that parsing should continue. By doing
- this, we can ignore elements in which we are not interested.
-*/
-
-bool Handler::startElement(const QString &, const QString &,
- const QString & qName, const QXmlAttributes &attr)
-{
- if (qName == "item") {
-
- if (inItem)
- return false;
- else {
- inItem = true;
- linkString = attr.value("rdf:about");
- }
- }
- else if (qName == "title") {
-
- if (inTitle)
- return false;
- else if (!titleString.isEmpty())
- return false;
- else if (inItem)
- inTitle = true;
- }
- else if (qName == "link") {
-
- if (inLink)
- return false;
- else if (inItem)
- inLink = true;
- }
-
- return true;
-}
-
-/*
- Process each ending element in the XML document.
-
- For recognized elements, we reset flags to ensure that we can read new
- instances of these elements. If we have read an item element, emit a
- signal to indicate that a new item is available for display.
-
- We return true to indicate that parsing should continue.
-*/
-
-bool Handler::endElement(const QString &, const QString &,
- const QString & qName)
-{
- if (qName == "title" && inTitle)
- inTitle = false;
- else if (qName == "link" && inLink)
- inLink = false;
- else if (qName == "item") {
- if (!titleString.isEmpty() && !linkString.isEmpty())
- emit newItem(titleString, linkString);
- inItem = false;
- titleString = "";
- linkString = "";
- }
-
- return true;
-}
-
-/*
- Collect characters when reading the contents of title or link elements
- when they occur within an item element.
-
- We return true to indicate that parsing should continue.
-*/
-
-bool Handler::characters (const QString &chars)
-{
- if (inTitle)
- titleString += chars;
- else if (inLink)
- linkString += chars;
-
- return true;
-}
-
-/*
- Report a fatal parsing error, and return false to indicate to the reader
- that parsing should stop.
-*/
-
-//! [0]
-bool Handler::fatalError (const QXmlParseException & exception)
-{
- qWarning() << "Fatal error on line" << exception.lineNumber()
- << ", column" << exception.columnNumber() << ':'
- << exception.message();
-
- return false;
-}
-//! [0]
diff --git a/src/xml/doc/snippets/rsslisting/listing.cpp b/src/xml/doc/snippets/rsslisting/listing.cpp
deleted file mode 100644
index e027dc076a..0000000000
--- a/src/xml/doc/snippets/rsslisting/listing.cpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** 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.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*
-rsslisting.cpp
-
-Provides a widget for displaying news items from RDF news sources.
-RDF is an XML-based format for storing items of information (see
-http://www.w3.org/RDF/ for details).
-
-The widget itself provides a simple user interface for specifying
-the URL of a news source, and controlling the downloading of news.
-
-The widget downloads and parses the XML asynchronously, feeding the
-data to an XML reader in pieces. This allows the user to interrupt
-its operation, and also allows very large data sources to be read.
-*/
-
-
-#include <QtCore>
-#include <QtGui>
-#include <QtNetwork>
-#include <QtXml>
-
-#include "rsslisting.h"
-
-
-/*
- Constructs an RSSListing widget with a simple user interface, and sets
- up the XML reader to use a custom handler class.
-
- The user interface consists of a line edit, two push buttons, and a
- list view widget. The line edit is used for entering the URLs of news
- sources; the push buttons start and abort the process of reading the
- news.
-*/
-
-RSSListing::RSSListing(QWidget *parent)
- : QWidget(parent)
-{
- lineEdit = new QLineEdit(this);
-
- fetchButton = new QPushButton(tr("Fetch"), this);
- abortButton = new QPushButton(tr("Abort"), this);
- abortButton->setEnabled(false);
-
- treeWidget = new QTreeWidget(this);
- QStringList headerLabels;
- headerLabels << tr("Title") << tr("Link");
- treeWidget->setHeaderLabels(headerLabels);
-
- handler = 0;
-
- connect(&http, SIGNAL(readyRead(QHttpResponseHeader)),
- this, SLOT(readData(QHttpResponseHeader)));
-
- connect(&http, SIGNAL(requestFinished(int,bool)),
- this, SLOT(finished(int,bool)));
-
- connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(fetch()));
- connect(fetchButton, SIGNAL(clicked()), this, SLOT(fetch()));
- connect(abortButton, SIGNAL(clicked()), &http, SLOT(abort()));
-
- QVBoxLayout *layout = new QVBoxLayout(this);
-
- QHBoxLayout *hboxLayout = new QHBoxLayout;
-
- hboxLayout->addWidget(lineEdit);
- hboxLayout->addWidget(fetchButton);
- hboxLayout->addWidget(abortButton);
-
- layout->addLayout(hboxLayout);
- layout->addWidget(treeWidget);
-
- setWindowTitle(tr("RSS listing example"));
-}
-
-/*
- Starts fetching data from a news source specified in the line
- edit widget.
-
- The line edit is made read only to prevent the user from modifying its
- contents during the fetch; this is only for cosmetic purposes.
- The fetch button is disabled, and the abort button is enabled to allow
- the user to interrupt processing. The list view is cleared, and we
- define the last list view item to be 0, meaning that there are no
- existing items in the list.
-
- We reset the flag used to determine whether parsing should begin again
- or continue. A new handler is created, if required, and made available
- to the reader.
-
- The HTTP handler is supplied with the raw contents of the line edit and
- a fetch is initiated. We keep the ID value returned by the HTTP handler
- for future reference.
-*/
-
-void RSSListing::fetch()
-{
- lineEdit->setReadOnly(true);
- fetchButton->setEnabled(false);
- abortButton->setEnabled(true);
- treeWidget->clear();
-
- lastItemCreated = 0;
-
- newInformation = true;
-
- if (handler != 0)
- delete handler;
- handler = new Handler;
-
-//! [0]
- xmlReader.setContentHandler(handler);
- xmlReader.setErrorHandler(handler);
-//! [0]
-
- connect(handler, SIGNAL(newItem(QString&,QString&)),
- this, SLOT(addItem(QString&,QString&)));
-
- QUrl url(lineEdit->text());
-
- http.setHost(url.host());
- connectionId = http.get(url.path());
-}
-
-/*
- Reads data received from the RDF source.
-
- We read all the available data, and pass it to the XML
- input source. The first time we receive new information,
- the reader is set up for a new incremental parse;
- we continue parsing using a different function on
- subsequent calls involving the same data source.
-
- If parsing fails for any reason, we abort the fetch.
-*/
-
-//! [1]
-void RSSListing::readData(const QHttpResponseHeader &resp)
-{
- bool ok;
-
- if (resp.statusCode() != 200)
- http.abort();
- else {
- xmlInput.setData(http.readAll());
-
- if (newInformation) {
- ok = xmlReader.parse(&xmlInput, true);
- newInformation = false;
- }
- else
- ok = xmlReader.parseContinue();
-
- if (!ok)
- http.abort();
- }
-}
-//! [1]
-
-/*
- Finishes processing an HTTP request.
-
- The default behavior is to keep the text edit read only.
-
- If an error has occurred, the user interface is made available
- to the user for further input, allowing a new fetch to be
- started.
-
- If the HTTP get request has finished, we perform a final
- parsing operation on the data returned to ensure that it was
- well-formed. Whether this is successful or not, we make the
- user interface available to the user for further input.
-*/
-
-void RSSListing::finished(int id, bool error)
-{
- if (error) {
- qWarning("Received error during HTTP fetch.");
- lineEdit->setReadOnly(false);
- abortButton->setEnabled(false);
- fetchButton->setEnabled(true);
- }
- else if (id == connectionId) {
-
- bool ok = xmlReader.parseContinue();
- if (!ok)
- qWarning("Parse error at the end of input.");
-
- lineEdit->setReadOnly(false);
- abortButton->setEnabled(false);
- fetchButton->setEnabled(true);
- }
-}
-
-/*
- Adds an item to the list view as it is reported by the handler.
-
- We keep a record of the last item created to ensure that the
- items are created in sequence.
-*/
-
-void RSSListing::addItem(QString &title, QString &link)
-{
- QTreeWidgetItem *item;
-
- item = new QTreeWidgetItem(treeWidget, lastItemCreated);
- item->setText(0, title);
- item->setText(1, link);
-
- lastItemCreated = item;
-}
-
diff --git a/src/xml/doc/src/dontdocument.qdoc b/src/xml/doc/src/dontdocument.qdoc
index 0193ace4b4..3601a9841a 100644
--- a/src/xml/doc/src/dontdocument.qdoc
+++ b/src/xml/doc/src/dontdocument.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\dontdocument (QTypeInfo)
diff --git a/src/xml/doc/src/external-resources.qdoc b/src/xml/doc/src/external-resources.qdoc
index 092e4f80b3..89c30a84c4 100644
--- a/src/xml/doc/src/external-resources.qdoc
+++ b/src/xml/doc/src/external-resources.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
diff --git a/src/xml/doc/src/qt6-changes.qdoc b/src/xml/doc/src/qt6-changes.qdoc
index 7a19649fb2..f3ff82130a 100644
--- a/src/xml/doc/src/qt6-changes.qdoc
+++ b/src/xml/doc/src/qt6-changes.qdoc
@@ -1,35 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page xml-changes-qt6.html
\title Changes to Qt XML
\ingroup changes-qt-5-to-6
- \brief Migrate Qt XML to Qt 6.
+ \brief Use QXmlStreamReader for reading XML files.
Qt 6 is a result of the conscious effort to make the framework more
efficient and easy to use.
@@ -46,7 +22,9 @@
QXmlStreamReader for reading XML files. Here are some simple steps to
port your current code to QXmlStreamReader:
- \oldcode
+ For example, if you have code like
+
+ \code
QFile *file = new QFile(...);
QXmlInputSource *source = new QXmlInputSource(file);
@@ -61,7 +39,11 @@
} else {
... // do error handling
}
- \newcode
+ \endcode
+
+ you can rewrite it as
+
+ \code
QFile file = ...;
QXmlStreamReader reader(&file);
@@ -91,6 +73,15 @@
If you use QDomDocument and rely on any of these, you must update
your code and XML documents accordingly.
+ \section3 Spacing-only text nodes
+
+ By default, text nodes containing only spacing characters are stripped
+ and won't appear in the QDomDocument. The Qt 5 way of changing this behavior
+ was using the QDomDocument::setContent() overload that allowed a \c QXmlReader
+ to be supplied. That overload was removed in Qt 6.0, but since Qt 6.5,
+ you can pass QDomDocument::ParseOption::PreserveSpacingOnlyNodes as a parse
+ option, to specify that spacing-only text nodes must be preserved.
+
\section2 Qt Core5 compatibility library
If your application or library cannot be ported right now, the \l
diff --git a/src/xml/doc/src/qtxml-index.qdoc b/src/xml/doc/src/qtxml-index.qdoc
index 79d0ae4e09..7ad55350a5 100644
--- a/src/xml/doc/src/qtxml-index.qdoc
+++ b/src/xml/doc/src/qtxml-index.qdoc
@@ -1,38 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page qtxml-index.html
\title Qt XML
- \brief The Qt XML module provides C++ implementations of the SAX and DOM standards for XML.
+ \brief The Qt XML module provides a C++ implementation of the DOM standard for XML.
-
- The Qt XML module provides implementations of the SAX and DOM standards for
- XML.
+ The Qt XML module provides an implementation of the DOM standard for XML.
\note Qt XML will no longer receive additional features. For reading or
writing XML documents iteratively (SAX), use the QXmlStreamReader and
diff --git a/src/xml/doc/src/qtxml.qdoc b/src/xml/doc/src/qtxml.qdoc
index 179244bc44..76394392be 100644
--- a/src/xml/doc/src/qtxml.qdoc
+++ b/src/xml/doc/src/qtxml.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\module QtXml
@@ -32,7 +8,7 @@
\qtcmakepackage Xml
\qtvariable xml
- \brief The Qt XML module provides C++ implementations of the SAX and DOM standards for XML.
+ \brief The Qt XML module provides a C++ implementation of the DOM standard for XML.
The \l{Qt XML} page contains information about how to use the module.
diff --git a/src/xml/doc/src/xml-processing.qdoc b/src/xml/doc/src/xml-processing.qdoc
index 226eeb196d..acca1b070b 100644
--- a/src/xml/doc/src/xml-processing.qdoc
+++ b/src/xml/doc/src/xml-processing.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\group xml-tools
@@ -31,7 +7,7 @@
\brief Classes that support XML.
- These classes are relevant to XML users.
+ These classes are relevant to \l{XML Processing}{XML} users.
\generatelist{related}
*/
@@ -39,6 +15,7 @@
/*!
\page xml-processing.html
\title XML Processing
+ \ingroup explanations-dataprocessingandio
\brief An Overview of the XML processing facilities in Qt.
@@ -204,7 +181,7 @@
namespace prefix. In this case the local part and the qualified name
are identical (i.e. \e chapter).
- \sa {DOM Bookmarks Example}
+ \sa {DOM Bookmarks Application}
*/
/*!
@@ -215,7 +192,8 @@
\nextpage Working with the DOM Tree
Qt provides two classes for reading and writing XML through a simple streaming
- API: QXmlStreamReader and QXmlStreamWriter.
+ API: QXmlStreamReader and QXmlStreamWriter. These classes are located in
+ \l{Qt Serialization}{Qt Serialization (part of QtCore)}.
A stream reader reports an XML document as a stream
of tokens. This differs from SAX as SAX applications provide handlers to
@@ -231,27 +209,14 @@
\l{QXmlStreamReader::error()}{error()} and \l{QXmlStreamReader::hasError()}
{hasError()} can be used to check and view the errors.
- An example of QXmlStreamReader implementation would be the \c XbelReader in
- \l{QXmlStream Bookmarks Example}, which wraps a QXmlStreamReader.
- The constructor takes \a treeWidget as a parameter and the class has Xbel
- specific functions:
-
- \snippet streambookmarks/xbelreader.h 1
-
- \dots
- \snippet streambookmarks/xbelreader.h 2
- \dots
+ An example of an implementation tha uses QXmlStreamReader would be the
+ \l{QXmlStream Bookmarks Example#xbelreader-class-definition}{XbelReader} in
+ \l{QXmlStream Bookmarks Example}, which wraps a QXmlStreamReader. Read the
+ \l{QXmlStream Bookmarks Example#xbelreader-class-implementation}{implementation}
+ to learn more about how to use the QXmlStreamReader class.
- The \c read() function accepts a QIODevice and sets it with
- \l{QXmlStreamReader::setDevice()}{setDevice()}. The
- \l{QXmlStreamReader::raiseError()}{raiseError()} function is used to
- display a custom error message, inidicating that the file's version
- is incorrect.
-
- \snippet streambookmarks/xbelreader.cpp 1
-
- The pendent to QXmlStreamReader is QXmlStreamWriter, which provides an XML
- writer with a simple streaming API. QXmlStreamWriter operates on a
+ Paired with QXmlStreamReader is the QXmlStreamWriter class, which provides
+ an XML writer with a simple streaming API. QXmlStreamWriter operates on a
QIODevice and has specialized functions for all XML tokens or events you
want to write, such as \l{QXmlStreamWriter::writeDTD()}{writeDTD()},
\l{QXmlStreamWriter::writeCharacters()}{writeCharacters()},
@@ -277,11 +242,10 @@
or subsequent calls to \l{QXmlStreamWriter::writeStartElement()}
{writeStartElement()}.
- The \c XbelWriter class from \l{QXmlStream Bookmarks Example} wraps a
- QXmlStreamWriter. Its \c writeFile() function illustrates the core
- functions of QXmlStreamWriter mentioned above:
-
- \snippet streambookmarks/xbelwriter.cpp 1
+ The \l{QXmlStream Bookmarks Example#xbelwriter-class-definition}{XbelWriter}
+ class from \l{QXmlStream Bookmarks Example} wraps a QXmlStreamWriter. View
+ the \l{QXmlStream Bookmarks Example#xbelwriter-class-implementation}{implementation}
+ to see how to use the QXmlStreamWriter class.
*/
/*!
@@ -376,7 +340,7 @@
DOM implementation.
To get started please refer to the \l QDomDocument documentation.
- You might also want to take a look at the \l{DOM Bookmarks Example},
+ You might also want to take a look at the \l{DOM Bookmarks Application},
which illustrates how to read and write an XML bookmark file (XBEL)
using DOM.
*/