summaryrefslogtreecommitdiffstats
path: root/tests/auto/xmlpatternsxqts/lib/XMLWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/xmlpatternsxqts/lib/XMLWriter.h')
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XMLWriter.h403
1 files changed, 0 insertions, 403 deletions
diff --git a/tests/auto/xmlpatternsxqts/lib/XMLWriter.h b/tests/auto/xmlpatternsxqts/lib/XMLWriter.h
deleted file mode 100644
index 2b629bb..0000000
--- a/tests/auto/xmlpatternsxqts/lib/XMLWriter.h
+++ /dev/null
@@ -1,403 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PatternistSDK_XMLWriter_H
-#define PatternistSDK_XMLWriter_H
-
-#include "Global.h"
-
-#include <QtXml/QXmlContentHandler>
-#include <QtXml/QXmlLexicalHandler>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-class QIODevice;
-
-namespace QPatternistSDK
-{
- /**
- * @short Serializes a stream of SAX events into XML, sent to a QIODevice.
- *
- * XMLWriter is a fast and simple XML serializer which takes care of
- * all the low level details of well-formedness and character escaping, allowing
- * the user to focus on higher level issues and increasing the chances of producing
- * valid, interoperable XML.
- *
- * The content XMLWriter produces is sent to a QIODevice, which is either
- * specified in XMLWriter's constructor or via setDevice(). If writing to
- * the device fails, the content functions such as startElement() returns @c false.
- *
- * XMLWriter sub-classes QXmlContentHandler meaning it can serialize content
- * from any code that produces SAX events. The class can also be used manually,
- * by calling startElement(), endCDATA(), and so forth.
- *
- * XMLWriter cannot be used to serialize multiple documents. One instance per
- * document must be used.
- *
- * XMLWriter takes care of escaping content into character references as necessary. Thus,
- * it should not be done manually. In fact, it would most likely
- * result in invalid XML or an unintended result. XMLWriter always serializes into UTF-8.
- *
- * When compiled in debug mode, XMLWriter contains several tests that helps
- * ensuring that XMLWriter produces valid XML. Some of these tests ensures that:
- *
- * - The @c xmlns and @c xml prefixes are used properly
- * - Content of comments and processing instructions is valid
- * - Element, attribute and DOCTYPE names are sensible
- * - Elements are properly nested and balanced
- * - To some extent that things occur in the proper order. For example, that
- * the document type definition isn't added inside an element
- * - That namespaces prefixes are declared
- *
- * Not triggering XMLWriter's tests does not guarantee valid XML is produced,
- * but they do help catching common mistakes and some of the corner cases in the
- * specifications. When XMLWriter is compiled in release mode, these tests are not enabled
- * and the error handling in effect is concerning writing to the QIODevice.
- *
- * Often it is of interest to add a note at the beginning of the file communicating
- * it is auto-generated. setMessage() and setAddMessage() provides
- * a convenient way of doing that.
- *
- * Namespace declarations are added with startPrefixMapping(), not by sending attributes
- * with name <tt>xmlns:*</tt> to startElement().
- *
- * @see <a href="http://hsivonen.iki.fi/producing-xml/">HOWTO Avoid Being
- * Called a Bozo When Producing XML</a>
- * @see <a href="http://www.w3.org/TR/REC-xml/">Extensible Markup
- * Language (XML) 1.0 (Third Edition)</a>
- * @see <a href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</a>
- * @todo Replace this class with QXmlStreamWriter
- * @author Frans Englich <frans.englich@nokia.com>
- * @ingroup PatternistSDK
- */
- class Q_PATTERNISTSDK_EXPORT XMLWriter : public QXmlContentHandler
- , public QXmlLexicalHandler
- {
- public:
- /**
- * Creates a XMLWriter which serializes its received events
- * to @p outStream.
- *
- * @note XMLWriter does not claim ownership of @p outStream. Thus,
- * @p outStream may not be destroyed as long as
- * this XMLWriter instance uses it.
- */
- XMLWriter(QIODevice *outStream = 0);
-
- virtual ~XMLWriter();
-
- /**
- * @returns @c true if opening the output device succeeds, otherwise @c false
- */
- virtual bool startDocument();
-
- /**
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool characters(const QString &ch);
-
- /**
- * Starts an element with name @p qName and attributes @p atts. The prefix
- * in @p qName must first be declared with startPrefixMapping(), if it has one.
- *
- * A call to startElement() must always at some point be balanced with a call
- * to endElement().
- *
- * To declare namespaces, don't put attributes with name <tt>xmlns:*</tt> in @p atts,
- * but use startPrefixMapping().
- */
- virtual bool startElement(const QString &qName, const QXmlAttributes &atts = QXmlAttributes());
-
- /**
- *
- * Behaves essentially as startElement(const QString &qName, const QXmlAttributes &atts). This
- * function is used in conjunction with other SAX classes.
- *
- * The call:
- *
- * @code
- * startElement(QString(), QString(), qName, atts);
- * @endcode
- *
- * is equivalent to:
- *
- * @code
- * startElement(qName, atts);
- * @endcode
- *
- * @p namespaceURI and @p localName are not used. This function is
- * used in conjunction with other SAX classes.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool startElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName,
- const QXmlAttributes &atts);
-
- /**
- * Signals the end of an element with name @p qName. @p qName must
- * be supplied.
- *
- * Calls to startElement() and endElement() must always be balanced.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool endElement(const QString &qName);
-
- /**
- * Behaves essentially as endElement(const QString &qName). This function
- * is used when XMLWriter is used in SAX code.
- *
- * @p namespaceURI and @p localName are not used.
- *
- * The call:
- *
- * @code
- * endElement(QString(), QString(), qName);
- * @endcode
- *
- * is equivalent to:
- *
- * @code
- * endElement(qName);
- * @endcode
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool endElement(const QString &namespaceURI,
- const QString &localName,
- const QString &qName);
-
- /**
- * A description of an error if it occurred. This is typically
- * QIODevice::errorString(). If no error has occurred, an empty
- * string is returned.
- */
- virtual QString errorString() const;
-
- /**
- * Starts a CDATA section. Content sent with characters() will not be escaped
- * except for ">" if occurring in "]]>".
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool startCDATA();
-
- /**
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool endCDATA();
-
- /**
- * Creates a document type definition.
- *
- * For example, the code snippet:
- *
- * @code
- * writer.startDTD("html", "-//W3C//DTD XHTML 1.0 Strict//EN",
- * "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd");
- * writer.endDTD();
- * @endcode
- *
- * would create:
- * @verbatim
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-@endverbatim
- *
- * @note A system identifier must always be specified, but a public identifier may
- * be left out.
- *
- * A call to startDTD() must be followed by a call to endDTD().
- */
- virtual bool startDTD(const QString &name,
- const QString &publicId,
- const QString &systemId);
-
- /**
- * Apart from closing the DTD, an new line is also added at end.
- */
- virtual bool endDTD();
-
- /**
- * Creates a processing instruction by name @p target, and content
- * @p data.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool processingInstruction(const QString &target,
- const QString &data);
-
- /**
- * Declares a namespace which maps @p prefix to @p namespaceURI. For example, the call:
- *
- * @code
- * startPrefixMapping("xhtml", "http://www.w3.org/1999/xhtml");
- * @endcode
- *
- * would result in:
- *
- * @code
- * xmlns="http://www.w3.org/1999/xhtml"
- * @endcode
- */
- virtual bool startPrefixMapping(const QString &prefix,
- const QString &namespaceURI);
-
- /**
- * Creates a comment with content @p ch. @p ch is escaped, there's
- * no need to do it manually. For example, calling comment() with @p ch
- * set to "my comment", results in "<!--my comment-->" in the output.
- *
- * @note if @p ch contains double hyphen("--"), the produced XML will
- * not be well formed.
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool comment(const QString &ch);
-
- virtual bool startEntity(const QString &name);
- virtual bool endEntity(const QString &name);
-
- /**
- * Sets the message which is added as a comment if addModificationMessage()
- * is set to @c true. If no message is specified and addModificationMessage()
- * is set to @c true, a default message is used.
- *
- * @see modificationMessage(), setAddMessage()
- */
- virtual void setMessage(const QString &msg);
-
- /**
- * The message that is added at the beginning of the XML events
- * in a comment node. If no modificationMessage is set via modificationMessage(),
- * and addModificationMessage is set to @c true, this message will be used:
- * "NOTE: This file was automatically generated by [the application name] at
- * [the current date time]. All changes to this file will be lost."
- *
- * @see setMessage()
- */
- virtual QString modificationMessage() const;
-
- /**
- * Closes the QIODevice XMLWriter writes to.
- */
- virtual bool endDocument();
-
- /**
- * Serializes @p ch as if it was sent to characters().
- *
- * @returns @c false if failure occurs in writing to the QIODevice, otherwise
- * @c true
- */
- virtual bool ignorableWhitespace(const QString &ch);
-
- /**
- * This function is not used by XMLWriter, but is implemented
- * in order to satisfy QXmlContentHandler's interface.
- */
- virtual bool endPrefixMapping(const QString &prefix);
-
- /**
- * This function is not used by XMLWriter, but is implemented
- * in order to satisfy QXmlContentHandler's interface.
- */
- virtual bool skippedEntity(const QString &name);
-
- /**
- * This function is not used by XMLWriter, but is implemented
- * in order to satisfy QXmlContentHandler's interface.
- */
- virtual void setDocumentLocator(QXmlLocator *);
-
- /**
- * @returns the device XMLWriter writes its output to.
- * XMLWriter does not own the device.
- */
- virtual QIODevice *device() const;
-
- /**
- * Sets the QIODevice XMLWriter writes to, to @p device. A device must be specified
- * either via this function or in the constructor before XMLWriter is used.
- *
- * XMLWriter does not claim ownership of @p device.
- */
- virtual void setDevice(QIODevice *device);
-
- /**
- * Determines whether the modification message should be inserted as a comment
- * before the document element. The message returned by modificationMessage() is used.
- *
- * If @p toggle is @c true, the message will be added, otherwise not.
- */
- virtual void setAddMessage(const bool toggle);
-
- /**
- * Tells whether a modification message will be added.
- *
- * @see setAddMessage(), modificationMessage()
- */
- virtual bool addModificationMessage() const;
-
- private:
- Q_DISABLE_COPY(XMLWriter)
-
- class Private;
- Private *d;
- };
-}
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif
-// vim: et:ts=4:sw=4:sts=4