| /**************************************************************************** |
| ** |
| ** 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$ |
| ** |
| ****************************************************************************/ |
| |
| /*! |
| \example xmlstreamlint |
| \title XML Stream Lint Example |
| \ingroup xml-examples |
| \brief A commandline tool reading from an input file and writing to |
| the standard output file. |
| |
| The XML Stream Lint example provides a simple command line utility that |
| accepts a file name as its single argument and writes it to the standard |
| output file. |
| |
| The specified file is parsed using an QXmlStreamReader object and written |
| to the standard output file using an QXmlStreamWriter object. If the file |
| does not contain a well-formed XML document or the use of namespaces in |
| the document is incorrect, a description of the error is printed to |
| the standard error file and will appear in the console. |
| |
| \section1 Basic Operation |
| |
| The main function of the example opens the file specified by the user |
| for input (\c inputFile), and it uses QFile to access the standard output |
| file. |
| |
| Reading XML is handled by an instance of the QXmlStreamReader class, which |
| operates on the input file object; writing is handled by an instance of |
| QXmlStreamWriter operating on the output file object: |
| |
| \snippet xmlstreamlint/main.cpp 0 |
| |
| The work of parsing and rewriting the XML is done in a while loop, and is |
| driven by input from the reader: |
| |
| \snippet xmlstreamlint/main.cpp 1 |
| |
| If more input is available, the next token from the input file is read |
| and parsed. If an error occurred, information is written to the standard |
| error file via a stream, and the example exits by returning a non-zero |
| value from the main function. |
| |
| \snippet xmlstreamlint/main.cpp 2 |
| |
| For valid input, the writer is fed the current token from the reader, |
| and this is written to the output file that was specified when it was |
| constructed. |
| |
| When there is no more input, the loop terminates, and the example can |
| exit successfully. |
| */ |