diff options
Diffstat (limited to 'src/xml/dom/qdomhelpers_p.h')
-rw-r--r-- | src/xml/dom/qdomhelpers_p.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/xml/dom/qdomhelpers_p.h b/src/xml/dom/qdomhelpers_p.h index f2a0a79c3a..5a4b2207f9 100644 --- a/src/xml/dom/qdomhelpers_p.h +++ b/src/xml/dom/qdomhelpers_p.h @@ -4,6 +4,7 @@ #define QDOMHELPERS_P_H #include <qcoreapplication.h> +#include <qdom.h> #include <private/qglobal_p.h> QT_BEGIN_NAMESPACE @@ -33,7 +34,7 @@ class QXmlStreamAttributes; class QDomBuilder { public: - QDomBuilder(QDomDocumentPrivate *d, QXmlStreamReader *r, bool namespaceProcessing); + QDomBuilder(QDomDocumentPrivate *d, QXmlStreamReader *r, QDomDocument::ParseOptions options); ~QDomBuilder(); bool endDocument(); @@ -45,6 +46,7 @@ public: bool startEntity(const QString &name); bool endEntity(); bool startDTD(const QString &name, const QString &publicId, const QString &systemId); + bool parseDTD(const QString &dtd); bool comment(const QString &characters); bool externalEntityDecl(const QString &name, const QString &publicId, const QString &systemId); bool notationDecl(const QString &name, const QString &publicId, const QString &systemId); @@ -52,20 +54,20 @@ public: const QString ¬ationName); void fatalError(const QString &message); + QDomDocument::ParseResult result() const { return parseResult; } - using ErrorInfo = std::tuple<QString, int, int>; - ErrorInfo error() const; - - QString errorMsg; - int errorLine; - int errorColumn; + bool preserveSpacingOnlyNodes() const + { return parseOptions & QDomDocument::ParseOption::PreserveSpacingOnlyNodes; } private: + QString dtdInternalSubset(const QString &dtd); + + QDomDocument::ParseResult parseResult; QDomDocumentPrivate *doc; QDomNodePrivate *node; QXmlStreamReader *reader; QString entityName; - bool nsProcessing; + QDomDocument::ParseOptions parseOptions; }; /************************************************************** @@ -78,10 +80,10 @@ class QDomParser { Q_DECLARE_TR_FUNCTIONS(QDomParser) public: - QDomParser(QDomDocumentPrivate *d, QXmlStreamReader *r, bool namespaceProcessing); + QDomParser(QDomDocumentPrivate *d, QXmlStreamReader *r, QDomDocument::ParseOptions options); bool parse(); - QDomBuilder::ErrorInfo errorInfo() const; + QDomDocument::ParseResult result() const { return domBuilder.result(); } private: bool parseProlog(); |