From 79e0374143ab385cb12a17443e91c8eb9d2f3a4b Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 7 Sep 2020 14:01:20 +0200 Subject: Remove the SAX parser from QtXml It has been deprecated and will live in qt5compat from now on. Fixes: QTBUG-86480 Change-Id: I3744c7cee058d51d0fce633a174ab1a0f9235d2c Reviewed-by: Karsten Heimrich --- src/xml/sax/qxml_p.h | 328 --------------------------------------------------- 1 file changed, 328 deletions(-) delete mode 100644 src/xml/sax/qxml_p.h (limited to 'src/xml/sax/qxml_p.h') diff --git a/src/xml/sax/qxml_p.h b/src/xml/sax/qxml_p.h deleted file mode 100644 index 4f5568f214..0000000000 --- a/src/xml/sax/qxml_p.h +++ /dev/null @@ -1,328 +0,0 @@ -/**************************************************************************** -** -** 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$ -** -****************************************************************************/ - -#ifndef QXML_P_H -#define QXML_P_H - -#include -#include -#include -#include - -#include - -#if QT_DEPRECATED_SINCE(5, 15) - -QT_BEGIN_NAMESPACE - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience of -// qxml.cpp and qdom.cpp. This header file may change from version to version without -// notice, or even be removed. -// -// We mean it. -// - -QT_WARNING_PUSH -QT_WARNING_DISABLE_DEPRECATED - -class QXmlSimpleReaderPrivate -{ -public: - ~QXmlSimpleReaderPrivate(); -private: - // functions - QXmlSimpleReaderPrivate(QXmlSimpleReader *reader); - void initIncrementalParsing(); - - // used to determine if elements are correctly nested - std::stack tags; - - // used by parseReference() and parsePEReference() - enum EntityRecognitionContext { InContent, InAttributeValue, InEntityValue, InDTD }; - - // used for entity declarations - struct ExternParameterEntity - { - ExternParameterEntity() {} - ExternParameterEntity(const QString &p, const QString &s) - : publicId(p), systemId(s) {} - QString publicId; - QString systemId; - - Q_DUMMY_COMPARISON_OPERATOR(ExternParameterEntity) - }; - friend class QTypeInfo; - - struct ExternEntity - { - ExternEntity() {} - ExternEntity(const QString &p, const QString &s, const QString &n) - : publicId(p), systemId(s), notation(n) {} - QString publicId; - QString systemId; - QString notation; - Q_DUMMY_COMPARISON_OPERATOR(ExternEntity) - }; - friend class QTypeInfo; - - QMap externParameterEntities; - QMap parameterEntities; - QMap externEntities; - QMap entities; - - // used for parsing of entity references - struct XmlRef { - XmlRef() - : index(0) {} - XmlRef(const QString &_name, const QString &_value) - : name(_name), value(_value), index(0) {} - bool isEmpty() const { return index == value.length(); } - QChar next() { return value.at(index++); } - QString name; - QString value; - int index; - }; - friend class QTypeInfo; - QStack xmlRefStack; - - // used for standalone declaration - enum Standalone { Yes, No, Unknown }; - - QString doctype; // only used for the doctype - QString xmlVersion; // only used to store the version information - QString encoding; // only used to store the encoding - Standalone standalone; // used to store the value of the standalone declaration - - QString publicId; // used by parseExternalID() to store the public ID - QString systemId; // used by parseExternalID() to store the system ID - - // Since publicId/systemId is used as temporary variables by parseExternalID(), it - // might overwrite the PUBLIC/SYSTEM for the document we're parsing. In effect, we would - // possibly send off an QXmlParseException that has the PUBLIC/SYSTEM of a entity declaration - // instead of those of the current document. - // Hence we have these two variables for storing the document's data. - QString thisPublicId; - QString thisSystemId; - - QString attDeclEName; // use by parseAttlistDecl() - QString attDeclAName; // use by parseAttlistDecl() - - // flags for some features support - bool useNamespaces; - bool useNamespacePrefixes; - bool reportWhitespaceCharData; - bool reportEntities; - - // used to build the attribute list - QXmlAttributes attList; - - // used in QXmlSimpleReader::parseContent() to decide whether character - // data was read - bool contentCharDataRead; - // Hack for letting QDom know where the skipped entity occurred - bool skipped_entity_in_content; - - // helper classes - QScopedPointer locator; - QXmlNamespaceSupport namespaceSupport; - - // error string - QString error; - - // arguments for parse functions (this is needed to allow incremental - // parsing) - bool parsePI_xmldecl; - bool parseName_useRef; - bool parseReference_charDataRead; - EntityRecognitionContext parseReference_context; - bool parseExternalID_allowPublicID; - EntityRecognitionContext parsePEReference_context; - QString parseString_s; - - // for incremental parsing - struct ParseState { - typedef bool (QXmlSimpleReaderPrivate::*ParseFunction)(); - ParseFunction function; - int state; - }; - friend class QTypeInfo; - QStack *parseStack; - - // used in parseProlog() - bool xmldecl_possible; - bool doctype_read; - - // used in parseDoctype() - bool startDTDwasReported; - - // used in parseString() - signed char Done; - - - // variables - QXmlContentHandler *contentHnd; - QXmlErrorHandler *errorHnd; - QXmlDTDHandler *dtdHnd; - QXmlEntityResolver *entityRes; - QXmlLexicalHandler *lexicalHnd; - QXmlDeclHandler *declHnd; - - QXmlInputSource *inputSource; - - QChar c; // the character at reading position - int lineNr; // number of line - int columnNr; // position in line - - QChar nameArray[256]; // only used for names - QString nameValue; // only used for names - int nameArrayPos; - int nameValueLen; - QChar refArray[256]; // only used for references - QString refValue; // only used for references - int refArrayPos; - int refValueLen; - QChar stringArray[256]; // used for any other strings that are parsed - QString stringValue; // used for any other strings that are parsed - int stringArrayPos; - int stringValueLen; - QString emptyStr; - - QHash literalEntitySizes; - // The entity at (QMap) times. - QHash > referencesToOtherEntities; - QHash expandedSizes; - // The limit to the amount of times the DTD parsing functions can be called - // for the DTD currently being parsed. - static const int dtdRecursionLimit = 2; - // The maximum amount of characters an entity value may contain, after expansion. - static const int entityCharacterLimit = 4096; - - const QString &string(); - void stringClear(); - void stringAddC(QChar); - inline void stringAddC() { stringAddC(c); } - const QString &name(); - void nameClear(); - void nameAddC(QChar); - inline void nameAddC() { nameAddC(c); } - const QString &ref(); - void refClear(); - void refAddC(QChar); - inline void refAddC() { refAddC(c); } - - // private functions - bool eat_ws(); - bool next_eat_ws(); - - void QT_FASTCALL next(); - bool atEnd(); - - void init(const QXmlInputSource* i); - void initData(); - - bool entityExist(const QString&) const; - - bool parseBeginOrContinue(int state, bool incremental); - - bool parseProlog(); - bool parseElement(); - bool processElementEmptyTag(); - bool processElementETagBegin2(); - bool processElementAttribute(); - bool parseMisc(); - bool parseContent(); - - bool parsePI(); - bool parseDoctype(); - bool parseComment(); - - bool parseName(); - bool parseNmtoken(); - bool parseAttribute(); - bool parseReference(); - bool processReference(); - - bool parseExternalID(); - bool parsePEReference(); - bool parseMarkupdecl(); - bool parseAttlistDecl(); - bool parseAttType(); - bool parseAttValue(); - bool parseElementDecl(); - bool parseNotationDecl(); - bool parseChoiceSeq(); - bool parseEntityDecl(); - bool parseEntityValue(); - - bool parseString(); - - bool insertXmlRef(const QString&, const QString&, bool); - - bool reportEndEntities(); - void reportParseError(const QString& error); - - typedef bool (QXmlSimpleReaderPrivate::*ParseFunction) (); - void unexpectedEof(ParseFunction where, int state); - void parseFailed(ParseFunction where, int state); - void pushParseState(ParseFunction function, int state); - - bool isExpandedEntityValueTooLarge(QString *errorMessage); - - Q_DECLARE_PUBLIC(QXmlSimpleReader) - QXmlSimpleReader *q_ptr; - - friend class QXmlSimpleReaderLocator; - friend class QDomHandler; -}; -Q_DECLARE_TYPEINFO(QXmlSimpleReaderPrivate::ParseState, Q_PRIMITIVE_TYPE); -Q_DECLARE_TYPEINFO(QXmlSimpleReaderPrivate::XmlRef, Q_MOVABLE_TYPE); -Q_DECLARE_TYPEINFO(QXmlSimpleReaderPrivate::ExternParameterEntity, Q_MOVABLE_TYPE); -Q_DECLARE_TYPEINFO(QXmlSimpleReaderPrivate::ExternEntity, Q_MOVABLE_TYPE); - -QT_WARNING_POP - -QT_END_NAMESPACE - -#endif // QT_DEPRECATED_SINCE(5, 15) - -#endif // QXML_P_H -- cgit v1.2.3