diff options
44 files changed, 303 insertions, 462 deletions
diff --git a/.qmake.conf b/.qmake.conf index 45d16f2..ae17d7b 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -1,4 +1,5 @@ load(qt_build_config) CONFIG += warning_clean +DEFINES += QT_NO_FOREACH -MODULE_VERSION = 5.7.1 +MODULE_VERSION = 5.8.0 diff --git a/configure.json b/configure.json new file mode 100644 index 0000000..b725f49 --- /dev/null +++ b/configure.json @@ -0,0 +1,5 @@ +{ + "subconfigs": [ + "src/xmlpatterns" + ] +} diff --git a/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp b/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp index 85c8020..385fd11 100644 --- a/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp +++ b/examples/xmlpatterns/shared/xmlsyntaxhighlighter.cpp @@ -73,7 +73,7 @@ XmlSyntaxHighlighter::XmlSyntaxHighlighter(QTextDocument *parent) void XmlSyntaxHighlighter::highlightBlock(const QString &text) { - foreach (const HighlightingRule &rule, highlightingRules) { + for (const HighlightingRule &rule : qAsConst(highlightingRules)) { QRegExp expression(rule.pattern); int index = text.indexOf(expression); while (index >= 0) { diff --git a/examples/xmlpatterns/xmlpatterns.pro b/examples/xmlpatterns/xmlpatterns.pro index bfc3a3e..b7c65d8 100644 --- a/examples/xmlpatterns/xmlpatterns.pro +++ b/examples/xmlpatterns/xmlpatterns.pro @@ -1,10 +1,10 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += xmlpatterns-private SUBDIRS += xquery qtHaveModule(widgets) { SUBDIRS += recipes - load(qfeatures) - !contains(QT_DISABLED_FEATURES, xmlschema): SUBDIRS += filetree schema + qtConfig(xml-schema): SUBDIRS += filetree schema } EXAMPLE_FILES = \ diff --git a/src/xmlpatterns/acceltree/qacceltree.cpp b/src/xmlpatterns/acceltree/qacceltree.cpp index c68c3a4..1892745 100644 --- a/src/xmlpatterns/acceltree/qacceltree.cpp +++ b/src/xmlpatterns/acceltree/qacceltree.cpp @@ -122,11 +122,7 @@ void AccelTree::printStats(const NamePool::Ptr &np) const pDebug() << "+---------------+-------+-------+---------------+-------+--------------+"; pDebug() << "Namespaces(" << namespaces.count() << "):"; - QHashIterator<PreNumber, QVector<QXmlName> > it(namespaces); - while(it.hasNext()) - { - it.next(); - + for (auto it = namespaces.cbegin(), end = namespaces.cend(); it != end; ++it) { pDebug() << "PreNumber: " << QString::number(it.key()); for(int i = 0; i < it.value().count(); ++i) pDebug() << "\t\t" << np->stringForPrefix(it.value().at(i).prefix()) << " = " << np->stringForNamespace(it.value().at(i).namespaceURI()); diff --git a/src/xmlpatterns/api/api.pri b/src/xmlpatterns/api/api.pri index 2192d82..fec6499 100644 --- a/src/xmlpatterns/api/api.pri +++ b/src/xmlpatterns/api/api.pri @@ -50,8 +50,7 @@ SOURCES += $$PWD/qvariableloader.cpp \ $$PWD/qcoloringmessagehandler.cpp \ $$PWD/qcoloroutput.cpp -load(qfeatures) -!contains(QT_DISABLED_FEATURES, xmlschema) { +qtConfig(xml-schema) { HEADERS += $$PWD/qxmlschema.h \ $$PWD/qxmlschema_p.h \ $$PWD/qxmlschemavalidator.h \ diff --git a/src/xmlpatterns/configure.json b/src/xmlpatterns/configure.json new file mode 100644 index 0000000..851ebf8 --- /dev/null +++ b/src/xmlpatterns/configure.json @@ -0,0 +1,20 @@ +{ + "module": "xmlpatterns", + + "features": { + "xml-schema": { + "label": "XML schema support", + "purpose": "Support for XML schema validation", + "output": [ "privateFeature" ] + } + }, + + "summary": [ + { + "section": "QtXmlPatterns", + "entries": [ + "xml-schema" + ] + } + ] +} diff --git a/src/xmlpatterns/expr/qexpressionfactory.cpp b/src/xmlpatterns/expr/qexpressionfactory.cpp index f205def..b0e43be 100644 --- a/src/xmlpatterns/expr/qexpressionfactory.cpp +++ b/src/xmlpatterns/expr/qexpressionfactory.cpp @@ -279,11 +279,7 @@ Expression::Ptr ExpressionFactory::createExpression(const Tokenizer::Ptr &tokeni { pDebug() << "Have " << info->namedTemplates.count() << "named templates"; - QMutableHashIterator<QXmlName, Template::Ptr> it(info->namedTemplates); - - while(it.hasNext()) - { - it.next(); + for (auto it = info->namedTemplates.cbegin(), end = info->namedTemplates.cend(); it != end; ++it) { processNamedTemplate(it.key(), it.value()->body, TemplateInitial); it.value()->body = it.value()->body->typeCheck(context, CommonSequenceTypes::ZeroOrMoreItems); @@ -298,7 +294,6 @@ Expression::Ptr ExpressionFactory::createExpression(const Tokenizer::Ptr &tokeni /* Type check and compress template rules. */ { - QHashIterator<QXmlName, TemplateMode::Ptr> it(info->templateRules); /* Since a pattern can exist of AxisStep, its typeCheck() stage * requires a focus. In the case that we're invoked with a name but @@ -313,9 +308,7 @@ Expression::Ptr ExpressionFactory::createExpression(const Tokenizer::Ptr &tokeni patternContext = StaticContext::Ptr(new StaticFocusContext(BuiltinTypes::node, context)); /* For each template pattern. */ - while(it.hasNext()) - { - it.next(); + for (auto it = info->templateRules.cbegin(), end = info->templateRules.cend(); it != end; ++it) { const TemplateMode::Ptr &mode = it.value(); const int len = mode->templatePatterns.count(); TemplatePattern::ID currentTemplateID = -1; @@ -387,12 +380,7 @@ Expression::Ptr ExpressionFactory::createExpression(const Tokenizer::Ptr &tokeni Q_ASSERT_X(modeAll, Q_FUNC_INFO, "We should at least have the builtin templates."); - QHashIterator<QXmlName, TemplateMode::Ptr> it(info->templateRules); - - while(it.hasNext()) - { - it.next(); - + for (auto it = info->templateRules.cbegin(), end = info->templateRules.cend(); it != end; ++it) { /* Don't add mode #all to mode #all. */ if(it.key() == nameModeAll) continue; diff --git a/src/xmlpatterns/parser/qxquerytokenizer.cpp b/src/xmlpatterns/parser/qxquerytokenizer.cpp index 69c24a4..5279a74 100644 --- a/src/xmlpatterns/parser/qxquerytokenizer.cpp +++ b/src/xmlpatterns/parser/qxquerytokenizer.cpp @@ -1691,19 +1691,15 @@ Tokenizer::Token XQueryTokenizer::nextToken() const QChar next(m_data.at(m_pos + 1)); if (!next.isSpace() && next != QLatin1Char('/') && next != QLatin1Char('>')) return Token(T_ERROR); // i18n Space must separate attributes - else if (result.isEmpty()) + + if (result.isEmpty()) { return tokenAndChangeState(state() == AposAttributeContent ? T_APOS : T_QUOTE, StartTag, 1); } - else - { - /* Don't consume the sep, but leave it so we next time return a token for it. */ - return Token(T_STRING_LITERAL, result); - } - ++m_pos; - continue; + /* Don't consume the sep, but leave it so we next time return a token for it. */ + return Token(T_STRING_LITERAL, result); } else if (curr == QLatin1Char('{')) { diff --git a/src/xmlpatterns/parser/qxslttokenizer.cpp b/src/xmlpatterns/parser/qxslttokenizer.cpp index 45d6223..5ad6713 100644 --- a/src/xmlpatterns/parser/qxslttokenizer.cpp +++ b/src/xmlpatterns/parser/qxslttokenizer.cpp @@ -1964,7 +1964,6 @@ bool XSLTTokenizer::insideSequenceConstructor(TokenSource::Queue *const to, default: unexpectedContent(); } - continue; } else { @@ -2001,11 +2000,9 @@ bool XSLTTokenizer::insideSequenceConstructor(TokenSource::Queue *const to, pushState(InsideSequenceConstructor); insideSequenceConstructor(to); Q_ASSERT(tokenType() == QXmlStreamReader::EndElement || hasError()); - continue; } - unexpectedContent(); - break; + continue; } case QXmlStreamReader::EndElement: { @@ -2640,7 +2637,7 @@ void XSLTTokenizer::queueSorting(const bool oneSortRequired, if(speciallyTreatWhitespace && isWhitespace()) continue; - if(QXmlStreamReader::Characters && whitespaceToSkip()) + if (whitespaceToSkip()) continue; /* We have an instruction which is a text node, we're done. */ diff --git a/src/xmlpatterns/qtokenautomaton/README b/src/xmlpatterns/qtokenautomaton/README index 8c5e552..32c348f 100644 --- a/src/xmlpatterns/qtokenautomaton/README +++ b/src/xmlpatterns/qtokenautomaton/README @@ -56,8 +56,16 @@ Using it is approached as follows: --schema qtokenautomaton.xsd yourFile.xml` 3. Produce the C++ files by invoking the stylesheet with an XSL-T 2.0 - processor[1]. For instance, with the implementation Saxon, this would be: - `java net.sf.saxon.Transform -xsl:qautomaton2cpp.xsl yourFile.xml` + processor[1], for example Saxon. + + If the Java SDK is installed, it can be invoked by: + java net.sf.saxon.Transform -xsl:qautomaton2cpp.xsl yourFile.xml + + Debian provides a command line utility saxonb-xslt for this: + sudo apt-get install libsaxonb-java + saxonb-xslt -ext:on -xsl:qautomaton2cpp.xsl -s:yourFile.xml + + The script regenerate.sh is provided to do this. 4. Include the produced C++ files with your build system. diff --git a/src/xmlpatterns/qtokenautomaton/qautomaton2cpp.xsl b/src/xmlpatterns/qtokenautomaton/qautomaton2cpp.xsl index 16084a0..535dd8c 100644 --- a/src/xmlpatterns/qtokenautomaton/qautomaton2cpp.xsl +++ b/src/xmlpatterns/qtokenautomaton/qautomaton2cpp.xsl @@ -228,7 +228,7 @@ <xsl:if test="$remainingLength ne 0"> <xsl:choose> <xsl:when test="$remainingLength eq 1"> - if(data[<xsl:sequence select="$depth - 1"/>] == <xsl:sequence select="$toMatch"/>) + if (data[<xsl:sequence select="$depth - 1"/>].unicode() == <xsl:sequence select="$toMatch"/>) </xsl:when> <xsl:when test="$remainingLength > 1"> static const unsigned short string[] = @@ -250,7 +250,7 @@ <xsl:text>if (data[</xsl:text> <xsl:sequence select="string($depth - 1)"/> - <xsl:text>] == </xsl:text> + <xsl:text>].unicode() == </xsl:text> <xsl:sequence select="string-to-codepoints(.)"/> <xsl:text>)
</xsl:text> diff --git a/src/xmlpatterns/qtokenautomaton/regenerate.sh b/src/xmlpatterns/qtokenautomaton/regenerate.sh new file mode 100755 index 0000000..23b49b1 --- /dev/null +++ b/src/xmlpatterns/qtokenautomaton/regenerate.sh @@ -0,0 +1,38 @@ +#/bin/sh -x + +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the build tools of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## 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 http://www.qt.io/terms-conditions. For further +## information use the contact form at http://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 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +cd $(dirname "$0")/.. +saxonb-xslt -ext:on -xsl:qtokenautomaton/qautomaton2cpp.xsl -s:schema/tokens.xml -o:schema/qxsdschematoken.cpp +saxonb-xslt -ext:on -xsl:qtokenautomaton/qautomaton2cpp.xsl -s:parser/qxslttokenlookup.xml -o:parser/qxslttokenlookup.cpp diff --git a/src/xmlpatterns/schema/qnamespacesupport.cpp b/src/xmlpatterns/schema/qnamespacesupport.cpp index 758f6d5..846551b 100644 --- a/src/xmlpatterns/schema/qnamespacesupport.cpp +++ b/src/xmlpatterns/schema/qnamespacesupport.cpp @@ -146,11 +146,8 @@ QList<QXmlName> NamespaceSupport::namespaceBindings() const { QList<QXmlName> bindings; - QHashIterator<QXmlName::PrefixCode, QXmlName::NamespaceCode> it(m_ns); - while (it.hasNext()) { - it.next(); + for (auto it = m_ns.cbegin(), end = m_ns.cend(); it != end; ++it) bindings.append(QXmlName(it.value(), StandardLocalNames::empty, it.key())); - } return bindings; } diff --git a/src/xmlpatterns/schema/qxsdfacet_p.h b/src/xmlpatterns/schema/qxsdfacet_p.h index 8dd7d5f..76919d1 100644 --- a/src/xmlpatterns/schema/qxsdfacet_p.h +++ b/src/xmlpatterns/schema/qxsdfacet_p.h @@ -112,7 +112,6 @@ namespace QPatternist Assertion = 1 << 12, ///< Match an assertion (<a href="http://www.w3.org/TR/xmlschema-2/#rf-assertion">Assertion Definition</a>) }; typedef QHash<XsdFacet::Type, XsdFacet::Ptr> Hash; - typedef QHashIterator<XsdFacet::Type, XsdFacet::Ptr> HashIterator; /** * Creates a new facet object of type None. diff --git a/src/xmlpatterns/schema/qxsdparticlechecker.cpp b/src/xmlpatterns/schema/qxsdparticlechecker.cpp index 59fc111..139390d 100644 --- a/src/xmlpatterns/schema/qxsdparticlechecker.cpp +++ b/src/xmlpatterns/schema/qxsdparticlechecker.cpp @@ -392,25 +392,17 @@ bool XsdParticleChecker::isUPAConform(const XsdParticle::Ptr &particle, const Na // the basic idea of that algorithm is to iterate over all states of that machine and check that no two edges // that match on the same term leave a state, so for a given term it should always be obvious which edge to take - QHashIterator<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateType> stateIt(states); - while (stateIt.hasNext()) { // iterate over all states - stateIt.next(); - + for (auto stateIt = states.cbegin(), end = states.cend(); stateIt != end; ++stateIt) { // fetch all transitions the current state allows const QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > currentTransitions = transitions.value(stateIt.key()); - QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > transitionIt(currentTransitions); - while (transitionIt.hasNext()) { // iterate over all transitions - transitionIt.next(); - + for (auto transitionIt = currentTransitions.cbegin(), end = currentTransitions.cend(); transitionIt != end; ++transitionIt) { if (transitionIt.value().size() > 1) { // we have one state with two edges leaving it, that means // the XsdTerm::Ptr exists twice, that is an error return false; } - QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > innerTransitionIt(currentTransitions); - while (innerTransitionIt.hasNext()) { // iterate over all transitions again, as we have to compare all transitions with all - innerTransitionIt.next(); + for (auto innerTransitionIt = currentTransitions.cbegin(), end = currentTransitions.cend(); innerTransitionIt != end; ++innerTransitionIt) { if (transitionIt.key() == innerTransitionIt.key()) // do no compare with ourself continue; @@ -516,17 +508,13 @@ bool XsdParticleChecker::subsumes(const XsdParticle::Ptr &particle, const XsdPar const QPair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId> set = workSet.takeFirst(); const QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > derivedTrans = derivedTransitions.value(set.second); - QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > derivedIt(derivedTrans); const QHash<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > baseTrans = baseTransitions.value(set.first); - while (derivedIt.hasNext()) { - derivedIt.next(); + for (auto derivedIt = derivedTrans.cbegin(), end = derivedTrans.cend(); derivedIt != end; ++derivedIt) { bool found = false; - QHashIterator<XsdTerm::Ptr, QVector<XsdStateMachine<XsdTerm::Ptr>::StateId> > baseIt(baseTrans); - while (baseIt.hasNext()) { - baseIt.next(); + for (auto baseIt = baseTrans.cbegin(), end = baseTrans.cend(); baseIt != end; ++baseIt) { if (derivedTermValid(baseIt.key(), derivedIt.key(), particlesHash, context, errorMsg)) { const QPair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId> endSet = qMakePair<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateId>(baseIt.value().first(), derivedIt.value().first()); @@ -546,10 +534,7 @@ bool XsdParticleChecker::subsumes(const XsdParticle::Ptr &particle, const XsdPar } // 5) - QHashIterator<XsdStateMachine<XsdTerm::Ptr>::StateId, XsdStateMachine<XsdTerm::Ptr>::StateType> it(derivedStates); - while (it.hasNext()) { - it.next(); - + for (auto it = derivedStates.cbegin(), end = derivedStates.cend(); it != end; ++it) { if (it.value() == XsdStateMachine<XsdTerm::Ptr>::EndState || it.value() == XsdStateMachine<XsdTerm::Ptr>::StartEndState) { for (int i = 0; i < processedSet.count(); ++i) { if (processedSet.at(i).second == it.key() && diff --git a/src/xmlpatterns/schema/qxsdschemachecker.cpp b/src/xmlpatterns/schema/qxsdschemachecker.cpp index b6e51f3..5e4302d 100644 --- a/src/xmlpatterns/schema/qxsdschemachecker.cpp +++ b/src/xmlpatterns/schema/qxsdschemachecker.cpp @@ -436,11 +436,9 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // 2.2.1.2 const XsdFacet::Hash facets = simpleType->facets(); - XsdFacet::HashIterator it(facets); bool invalidFacetFound = false; - while (it.hasNext()) { - it.next(); + for (auto it = facets.cbegin(), end = facets.cend(); it != end; ++it) { if (it.key() != XsdFacet::WhiteSpace) { invalidFacetFound = true; break; @@ -476,12 +474,10 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // 2.2.2.4 const XsdFacet::Hash facets = simpleType->facets(); - XsdFacet::HashIterator it(facets); bool invalidFacetFound = false; XsdFacet::Type invalidFacetType = XsdFacet::None; - while (it.hasNext()) { - it.next(); + for (auto it = facets.cbegin(), end = facets.cend(); it != end; ++it) { const XsdFacet::Type facetType = it.key(); if (facetType != XsdFacet::Length && facetType != XsdFacet::MinimumLength && @@ -573,12 +569,10 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // 3.1.2.4 const XsdFacet::Hash facets = simpleType->facets(); - XsdFacet::HashIterator it(facets); bool invalidFacetFound = false; XsdFacet::Type invalidFacetType = XsdFacet::None; - while (it.hasNext()) { - it.next(); + for (auto it = facets.cbegin(), end = facets.cend(); it != end; ++it) { const XsdFacet::Type facetType = it.key(); if (facetType != XsdFacet::Pattern && facetType != XsdFacet::Enumeration) { @@ -1573,9 +1567,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con if (!baseType->isDefinedBySchema()) { const XsdSchemaSourceLocationReflection reflection(sourceLocation(simpleType)); - XsdFacet::HashIterator it(facets); - while (it.hasNext()) { - it.next(); + for (auto it = facets.cbegin(), end = facets.cend(); it != end; ++it) { const XsdFacet::Ptr facet = it.value(); if (facet->type() == XsdFacet::MaximumInclusive || facet->type() == XsdFacet::MaximumExclusive || @@ -1694,9 +1686,8 @@ void XsdSchemaChecker::checkDuplicatedAttributeUses() void XsdSchemaChecker::checkElementConstraints() { const QSet<XsdElement::Ptr> elements = collectAllElements(m_schema); - QSetIterator<XsdElement::Ptr> it(elements); - while (it.hasNext()) { - const XsdElement::Ptr element = it.next(); + + for (const XsdElement::Ptr &element : elements) { // @see http://www.w3.org/TR/xmlschema11-1/#e-props-correct diff --git a/src/xmlpatterns/schema/qxsdschematoken.cpp b/src/xmlpatterns/schema/qxsdschematoken.cpp index 407fb72..8d139b3 100644 --- a/src/xmlpatterns/schema/qxsdschematoken.cpp +++ b/src/xmlpatterns/schema/qxsdschematoken.cpp @@ -62,28 +62,28 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier3(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { - if (data[1] == 108) + if (data[1].unicode() == 108) { - if(data[2] == 108) + if (data[2].unicode() == 108) return All; } - else if (data[1] == 110) + else if (data[1].unicode() == 110) { - if(data[2] == 121) + if (data[2].unicode() == 121) return Any; @@ -93,7 +93,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 107) + else if (data[0].unicode() == 107) { @@ -109,7 +109,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 114) + else if (data[0].unicode() == 114) { @@ -125,7 +125,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 117) + else if (data[0].unicode() == 117) { @@ -148,7 +148,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier4(const QChar *data) { - if (data[0] == 98) + if (data[0].unicode() == 98) { @@ -164,7 +164,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 102) + else if (data[0].unicode() == 102) { @@ -180,7 +180,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 108) + else if (data[0].unicode() == 108) { @@ -196,7 +196,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 109) + else if (data[0].unicode() == 109) { @@ -212,7 +212,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 110) + else if (data[0].unicode() == 110) { @@ -228,11 +228,11 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 116) + else if (data[0].unicode() == 116) { - if (data[1] == 101) + if (data[1].unicode() == 101) { @@ -248,7 +248,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 121) + else if (data[1].unicode() == 121) { @@ -274,7 +274,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier5(const QChar *data) { - if (data[0] == 98) + if (data[0].unicode() == 98) { @@ -290,15 +290,15 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 102) + else if (data[0].unicode() == 102) { - if (data[1] == 105) + if (data[1].unicode() == 105) { - if (data[2] == 101) + if (data[2].unicode() == 101) { @@ -314,7 +314,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[2] == 110) + else if (data[2].unicode() == 110) { @@ -330,7 +330,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[2] == 120) + else if (data[2].unicode() == 120) { @@ -352,7 +352,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 103) + else if (data[0].unicode() == 103) { @@ -368,7 +368,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 109) + else if (data[0].unicode() == 109) { @@ -384,7 +384,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 114) + else if (data[0].unicode() == 114) { @@ -400,7 +400,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 117) + else if (data[0].unicode() == 117) { @@ -416,7 +416,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 118) + else if (data[0].unicode() == 118) { @@ -432,7 +432,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 120) + else if (data[0].unicode() == 120) { @@ -455,7 +455,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier6(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { @@ -471,7 +471,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 99) + else if (data[0].unicode() == 99) { @@ -487,7 +487,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 105) + else if (data[0].unicode() == 105) { @@ -503,7 +503,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 107) + else if (data[0].unicode() == 107) { @@ -519,7 +519,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 108) + else if (data[0].unicode() == 108) { @@ -535,7 +535,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 112) + else if (data[0].unicode() == 112) { @@ -551,11 +551,11 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 115) + else if (data[0].unicode() == 115) { - if (data[1] == 99) + if (data[1].unicode() == 99) { @@ -571,7 +571,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 111) + else if (data[1].unicode() == 111) { @@ -587,7 +587,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 121) + else if (data[1].unicode() == 121) { @@ -606,7 +606,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 117) + else if (data[0].unicode() == 117) { @@ -629,7 +629,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier7(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { @@ -645,7 +645,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 100) + else if (data[0].unicode() == 100) { @@ -661,7 +661,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 101) + else if (data[0].unicode() == 101) { @@ -677,7 +677,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 105) + else if (data[0].unicode() == 105) { @@ -693,7 +693,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 112) + else if (data[0].unicode() == 112) { @@ -709,7 +709,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 114) + else if (data[0].unicode() == 114) { @@ -725,7 +725,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 118) + else if (data[0].unicode() == 118) { @@ -748,7 +748,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier8(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { @@ -764,7 +764,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 99) + else if (data[0].unicode() == 99) { @@ -780,7 +780,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 105) + else if (data[0].unicode() == 105) { @@ -796,11 +796,11 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 110) + else if (data[0].unicode() == 110) { - if (data[1] == 105) + if (data[1].unicode() == 105) { @@ -816,15 +816,15 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 111) + else if (data[1].unicode() == 111) { - if (data[2] == 116) + if (data[2].unicode() == 116) { - if (data[3] == 97) + if (data[3].unicode() == 97) { @@ -840,7 +840,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[3] == 81) + else if (data[3].unicode() == 81) { @@ -865,7 +865,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 111) + else if (data[0].unicode() == 111) { @@ -881,7 +881,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 112) + else if (data[0].unicode() == 112) { @@ -897,7 +897,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 114) + else if (data[0].unicode() == 114) { @@ -913,15 +913,15 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 115) + else if (data[0].unicode() == 115) { - if (data[1] == 101) + if (data[1].unicode() == 101) { - if (data[2] == 108) + if (data[2].unicode() == 108) { @@ -937,7 +937,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[2] == 113) + else if (data[2].unicode() == 113) { @@ -959,7 +959,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 120) + else if (data[0].unicode() == 120) { @@ -982,11 +982,11 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier9(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { - if (data[1] == 115) + if (data[1].unicode() == 115) { @@ -1002,7 +1002,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 116) + else if (data[1].unicode() == 116) { @@ -1021,7 +1021,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 101) + else if (data[0].unicode() == 101) { @@ -1037,19 +1037,19 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 109) + else if (data[0].unicode() == 109) { - if (data[1] == 97) + if (data[1].unicode() == 97) { - if (data[2] == 120) + if (data[2].unicode() == 120) { - if (data[3] == 76) + if (data[3].unicode() == 76) { @@ -1065,7 +1065,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[3] == 79) + else if (data[3].unicode() == 79) { @@ -1087,15 +1087,15 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 105) + else if (data[1].unicode() == 105) { - if (data[2] == 110) + if (data[2].unicode() == 110) { - if (data[3] == 76) + if (data[3].unicode() == 76) { @@ -1111,7 +1111,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[3] == 79) + else if (data[3].unicode() == 79) { @@ -1136,7 +1136,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 110) + else if (data[0].unicode() == 110) { @@ -1159,7 +1159,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier10(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { @@ -1175,7 +1175,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 115) + else if (data[0].unicode() == 115) { @@ -1191,7 +1191,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 119) + else if (data[0].unicode() == 119) { @@ -1214,7 +1214,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier11(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { @@ -1230,7 +1230,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 99) + else if (data[0].unicode() == 99) { @@ -1246,7 +1246,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 101) + else if (data[0].unicode() == 101) { @@ -1262,7 +1262,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 109) + else if (data[0].unicode() == 109) { @@ -1278,7 +1278,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 111) + else if (data[0].unicode() == 111) { @@ -1294,7 +1294,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 114) + else if (data[0].unicode() == 114) { @@ -1310,7 +1310,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 116) + else if (data[0].unicode() == 116) { @@ -1333,7 +1333,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier12(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { @@ -1349,7 +1349,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 98) + else if (data[0].unicode() == 98) { @@ -1365,7 +1365,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 102) + else if (data[0].unicode() == 102) { @@ -1381,19 +1381,19 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 109) + else if (data[0].unicode() == 109) { - if (data[1] == 97) + if (data[1].unicode() == 97) { - if (data[2] == 120) + if (data[2].unicode() == 120) { - if (data[3] == 69) + if (data[3].unicode() == 69) { @@ -1409,7 +1409,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[3] == 73) + else if (data[3].unicode() == 73) { @@ -1431,15 +1431,15 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 105) + else if (data[1].unicode() == 105) { - if (data[2] == 110) + if (data[2].unicode() == 110) { - if (data[3] == 69) + if (data[3].unicode() == 69) { @@ -1455,7 +1455,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[3] == 73) + else if (data[3].unicode() == 73) { @@ -1480,7 +1480,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 110) + else if (data[0].unicode() == 110) { @@ -1503,7 +1503,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier13(const QChar *data) { - if (data[0] == 100) + if (data[0].unicode() == 100) { @@ -1519,7 +1519,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 115) + else if (data[0].unicode() == 115) { @@ -1542,11 +1542,11 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier14(const QChar *data) { - if (data[0] == 97) + if (data[0].unicode() == 97) { - if (data[1] == 112) + if (data[1].unicode() == 112) { @@ -1562,7 +1562,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[1] == 116) + else if (data[1].unicode() == 116) { @@ -1581,7 +1581,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 99) + else if (data[0].unicode() == 99) { @@ -1597,7 +1597,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 102) + else if (data[0].unicode() == 102) { @@ -1613,7 +1613,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 115) + else if (data[0].unicode() == 115) { @@ -1636,7 +1636,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier15(const QChar *data) { - if (data[0] == 112) + if (data[0].unicode() == 112) { @@ -1652,7 +1652,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 116) + else if (data[0].unicode() == 116) { @@ -1675,7 +1675,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier17(const QChar *data) { - if (data[0] == 100) + if (data[0].unicode() == 100) { @@ -1691,7 +1691,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 115) + else if (data[0].unicode() == 115) { @@ -1714,7 +1714,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) XsdSchemaToken::NodeName XsdSchemaToken::classifier18(const QChar *data) { - if (data[0] == 100) + if (data[0].unicode() == 100) { @@ -1730,7 +1730,7 @@ XsdSchemaToken::NodeName XsdSchemaToken::classifier2(const QChar *data) } - else if (data[0] == 101) + else if (data[0].unicode() == 101) { diff --git a/src/xmlpatterns/schema/qxsdstatemachine_p.h b/src/xmlpatterns/schema/qxsdstatemachine_p.h index 0ec8eb4..e535c8b 100644 --- a/src/xmlpatterns/schema/qxsdstatemachine_p.h +++ b/src/xmlpatterns/schema/qxsdstatemachine_p.h @@ -261,9 +261,7 @@ namespace QPatternist { QSet<StateId> result; - QSetIterator<StateId> it(states); - while (it.hasNext()) { // iterate over all given states - const StateId state = it.next(); + for (const StateId state : states) { // get the transition table for the current state const QHash<TransitionType, QVector<StateId> > transitions = m_transitions.value(state); diff --git a/src/xmlpatterns/schema/qxsdstatemachine_tpl_p.h b/src/xmlpatterns/schema/qxsdstatemachine_tpl_p.h index 91424a8..2583bb9 100644 --- a/src/xmlpatterns/schema/qxsdstatemachine_tpl_p.h +++ b/src/xmlpatterns/schema/qxsdstatemachine_tpl_p.h @@ -74,9 +74,7 @@ typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType #ifndef QT_NO_DEBUG // make sure we don't have two start states if (type == StartState) { - QHashIterator<StateId, StateType> it(m_states); - while (it.hasNext()) { - it.next(); + for (auto it = m_states.cbegin(), end = m_states.cend(); it != end; ++it) { Q_ASSERT(it.value() != StartState && it.value() != StartEndState); } } @@ -113,9 +111,7 @@ template <typename TransitionType> void XsdStateMachine<TransitionType>::reset() { // reset the machine to the start state - QHashIterator<StateId, StateType> it(m_states); - while (it.hasNext()) { - it.next(); + for (auto it = m_states.cbegin(), end = m_states.cend(); it != end; ++it) { if (it.value() == StartState || it.value() == StartEndState) { m_currentState = it.key(); return; @@ -179,9 +175,7 @@ bool XsdStateMachine<TransitionType>::proceed(InputType input) // fetch the transition entry for the current state const QHash<TransitionType, QVector<StateId> > &entry = m_transitions[m_currentState]; - QHashIterator<TransitionType, QVector<StateId> > it(entry); - while (it.hasNext()) { - it.next(); + for (auto it = entry.cbegin(), end = entry.cend(); it != end; ++it) { if (inputEqualsTransition(input, it.key())) { m_currentState = it.value().first(); m_lastTransition = it.key(); @@ -218,9 +212,7 @@ TransitionType XsdStateMachine<TransitionType>::lastTransition() const template <typename TransitionType> typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType>::startState() const { - QHashIterator<StateId, StateType> it(m_states); - while (it.hasNext()) { - it.next(); + for (auto it = m_states.cbegin(), end = m_states.cend(); it != end; ++it) { if (it.value() == StartState || it.value() == StartEndState) return it.key(); } @@ -248,49 +240,39 @@ bool XsdStateMachine<TransitionType>::outputGraph(QIODevice *device, const QStri QByteArray graph; QTextStream s(&graph); - QHashIterator<StateId, QHash<TransitionType, QVector<StateId> > > it(m_transitions); - QHashIterator<StateId, StateType> it3(m_states); - s << "digraph " << graphName << " {\n"; s << " mindist = 2.0\n"; // draw edges - while (it.hasNext()) { - it.next(); + for (auto it = m_transitions.cbegin(), end = m_transitions.cend(); it != end; ++it) { - QHashIterator<TransitionType, QVector<StateId> > it2(it.value()); - while (it2.hasNext()) { - it2.next(); + for (auto it2 = it.value().cbegin(), end = it.value().cend(); it2 != end; ++it2) { for (int i = 0; i < it2.value().count(); ++i) s << " " << it.key() << " -> " << it2.value().at(i) << " [label=\"" << transitionTypeToString(it2.key()) << "\"]\n"; } } - QHashIterator<StateId, QVector<StateId> > it4(m_epsilonTransitions); - while (it4.hasNext()) { - it4.next(); - - const QVector<StateId> states = it4.value(); + for (auto it = m_epsilonTransitions.cbegin(), end = m_epsilonTransitions.cend(); it != end; ++it) { + const QVector<StateId> states = it.value(); for (int i = 0; i < states.count(); ++i) - s << " " << it4.key() << " -> " << states.at(i) << " [label=\"ε\"]\n"; + s << " " << it.key() << " -> " << states.at(i) << " [label=\"ε\"]\n"; } // draw node info - while (it3.hasNext()) { - it3.next(); + for (auto it = m_states.cbegin(), end = m_states.cend(); it != end; ++it) { QString style; - if (it3.value() == StartState) { + if (it.value() == StartState) { style = QLatin1String("shape=circle, style=filled, color=blue"); - } else if (it3.value() == StartEndState) { + } else if (it.value() == StartEndState) { style = QLatin1String("shape=doublecircle, style=filled, color=blue"); - } else if (it3.value() == InternalState) { + } else if (it.value() == InternalState) { style = QLatin1String("shape=circle, style=filled, color=red"); - } else if (it3.value() == EndState) { + } else if (it.value() == EndState) { style = QLatin1String("shape=doublecircle, style=filled, color=green"); } - s << " " << it3.key() << " [" << style << "]\n"; + s << " " << it.key() << " [" << style << "]\n"; } s << "}\n"; @@ -320,11 +302,9 @@ typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType // state, in that case our new DFA state will be a // Start or End state as well StateType type = InternalState; - QSetIterator<StateId> it(nfaState); bool hasStartState = false; bool hasEndState = false; - while (it.hasNext()) { - const StateId state = it.next(); + for (const StateId state : qAsConst(nfaState)) { if (m_states.value(state) == EndState) { hasEndState = true; } else if (m_states.value(state) == StartState) { @@ -359,11 +339,9 @@ XsdStateMachine<TransitionType> XsdStateMachine<TransitionType>::toDFA() const // search the start state as the algorithm starts with it... StateId startState = -1; - QHashIterator<StateId, StateType> stateTypeIt(m_states); - while (stateTypeIt.hasNext()) { - stateTypeIt.next(); - if (stateTypeIt.value() == StartState) { - startState = stateTypeIt.key(); + for (auto it = m_states.cbegin(), end = m_states.cend(); it != end; ++it) { + if (it.value() == StartState) { + startState = it.key(); break; } } @@ -390,12 +368,8 @@ XsdStateMachine<TransitionType> XsdStateMachine<TransitionType>::toDFA() const // the 'states' set QList<TransitionType> input; - { - QSetIterator<StateId> it(states); - while (it.hasNext()) { - input << m_transitions.value(it.next()).keys(); - } - } + for (const StateId state : states) + input << m_transitions.value(state).keys(); // get the state in DFA that corresponds to the 'states' set in the NFA const StateId dfaBegin = dfaStateForNfaState(states, table, dfa); diff --git a/src/xmlpatterns/schema/qxsdtypechecker.cpp b/src/xmlpatterns/schema/qxsdtypechecker.cpp index 7c554c5..2e4ce8e 100644 --- a/src/xmlpatterns/schema/qxsdtypechecker.cpp +++ b/src/xmlpatterns/schema/qxsdtypechecker.cpp @@ -206,12 +206,8 @@ XsdFacet::Hash XsdTypeChecker::mergedFacetsForType(const SchemaType::Ptr &type, const XsdFacet::Hash facets = context->facetsForType(type); XsdFacet::Hash result = baseFacets; - XsdFacet::HashIterator it(facets); - while (it.hasNext()) { - it.next(); - + for (auto it = facets.cbegin(), end = facets.cend(); it != end; ++it) result.insert(it.key(), it.value()); - } return result; } diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp index 7cad16c..7e60667 100644 --- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp +++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp @@ -167,9 +167,7 @@ bool XsdValidatingInstanceReader::read() // check IDREF occurrences const QStringList ids = m_model->idIdRefBindingIds(); - QSetIterator<QString> it(m_idRefs); - while (it.hasNext()) { - const QString id = it.next(); + for (const QString &id : qAsConst(m_idRefs)) { if (!ids.contains(id)) { error(QtXmlPatterns::tr("There is one IDREF value with no corresponding ID: %1.").arg(formatKeyword(id))); return false; @@ -734,14 +732,11 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P const QSet<QXmlName> attributes(attributeNames()); // 3 - QHashIterator<QXmlName, XsdAttributeUse::Ptr> usesIt(attributeUseHash); - while (usesIt.hasNext()) { - usesIt.next(); - - if (usesIt.value()->isRequired()) { - if (!attributes.contains(usesIt.key())) { + for (auto it = attributeUseHash.cbegin(), end = attributeUseHash.cend(); it != end; ++it) { + if (it.value()->isRequired()) { + if (!attributes.contains(it.key())) { error(QtXmlPatterns::tr("Element %1 is missing required attribute %2.").arg(formatKeyword(declaration->displayName(m_namePool))) - .arg(formatKeyword(m_namePool->displayName(usesIt.key())))); + .arg(formatKeyword(m_namePool->displayName(it.key())))); return false; } } @@ -750,9 +745,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P bool hasIDAttribute = hasIDAttributeUse(complexType->attributeUses()); // 2 - QSetIterator<QXmlName> it(attributes); - while (it.hasNext()) { - const QXmlName attributeName = it.next(); + for (const QXmlName &attributeName : attributes) { // skip builtin attributes if (attributeName == m_xsiNilName || @@ -973,17 +966,9 @@ bool XsdValidatingInstanceReader::validateUniqueIdentityConstraint(const XsdElem // 4.1 const XsdSchemaSourceLocationReflection reflection(sourceLocation()); - QSetIterator<TargetNode> it(qualifiedNodeSet); - while (it.hasNext()) { - const TargetNode node = it.next(); - QSetIterator<TargetNode> innerIt(qualifiedNodeSet); - while (innerIt.hasNext()) { - const TargetNode innerNode = innerIt.next(); - - if (node == innerNode) // do not compare with ourself - continue; - - if (node.fieldsAreEqual(innerNode, m_namePool, m_context, &reflection)) { + for (auto it = qualifiedNodeSet.cbegin(), end = qualifiedNodeSet.cend(); it != end; ++it) { + for (auto jt = qualifiedNodeSet.cbegin(); jt != it; ++jt) { + if (it->fieldsAreEqual(*jt, m_namePool, m_context, &reflection)) { error(QtXmlPatterns::tr("Non-unique value found for constraint %1.").arg(formatKeyword(constraint->displayName(m_namePool)))); return false; } @@ -1013,9 +998,7 @@ bool XsdValidatingInstanceReader::validateKeyIdentityConstraint(const XsdElement return false; // 4.2.3 - QSetIterator<TargetNode> it(qualifiedNodeSet); - while (it.hasNext()) { - const TargetNode node = it.next(); + for (const TargetNode node : qualifiedNodeSet) { const QVector<QXmlItem> fieldItems = node.fieldItems(); for (int i = 0; i < fieldItems.count(); ++i) { const QXmlNodeModelIndex index = fieldItems.at(i).toNodeModelIndex(); @@ -1045,16 +1028,11 @@ bool XsdValidatingInstanceReader::validateKeyRefIdentityConstraint(const XsdElem const TargetNode::Set keySet = m_idcKeys.value(constraint->referencedKey()->name(m_namePool)); - QSetIterator<TargetNode> it(qualifiedNodeSet); - while (it.hasNext()) { - const TargetNode node = it.next(); + for (const TargetNode &node : qualifiedNodeSet) { bool foundMatching = false; - QSetIterator<TargetNode> keyIt(keySet); - while (keyIt.hasNext()) { - const TargetNode keyNode = keyIt.next(); - + for (const TargetNode &keyNode : keySet) { if (node.fieldsAreEqual(keyNode, m_namePool, m_context, &reflection)) { foundMatching = true; break; @@ -1187,9 +1165,7 @@ bool XsdValidatingInstanceReader::selectNodeSets(const XsdElement::Ptr&, const Q } // copy all items from target node set to qualified node set, that have no empty fields - QSetIterator<TargetNode> it(targetNodeSet); - while (it.hasNext()) { - const TargetNode node = it.next(); + for (const TargetNode &node : qAsConst(targetNodeSet)) { if (node.emptyFieldsCount() == 0) qualifiedNodeSet.insert(node); } diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h index 16943cb..ab0fa1e 100644 --- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h +++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h @@ -263,7 +263,6 @@ namespace QPatternist void createAndPushStateMachine(const XsdParticle::Ptr &particle); typedef QHash<QUrl, QStringList> MergedSchemas; - typedef QHashIterator<QUrl, QStringList> MergedSchemasIterator; XsdValidatedXmlNodeModel::Ptr m_model; MergedSchemas m_mergedSchemas; diff --git a/src/xmlpatterns/xmlpatterns.pro b/src/xmlpatterns/xmlpatterns.pro index 1b53673..5244bb1 100644 --- a/src/xmlpatterns/xmlpatterns.pro +++ b/src/xmlpatterns/xmlpatterns.pro @@ -19,8 +19,7 @@ include($$PWD/janitors/janitors.pri) include($$PWD/parser/parser.pri) include($$PWD/projection/projection.pri) -load(qfeatures) -!contains(QT_DISABLED_FEATURES, xmlschema) { +qtConfig(xml-schema) { include($$PWD/schema/schema.pri) } include($$PWD/type/type.pri) diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index df80f80..aba49b6 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -1,4 +1,5 @@ TEMPLATE=subdirs +QT_FOR_CONFIG += xmlpatterns-private SUBDIRS=\ checkxmlfiles \ cmake \ @@ -30,8 +31,7 @@ SUBDIRS=\ xmlpatternsxqts \ xmlpatternsxslts \ -load(qfeatures) -!contains(QT_DISABLED_FEATURES, xmlschema) { +qtConfig(xml-schema) { SUBDIRS += qxmlschema \ qxmlschemavalidator \ xmlpatternsschema \ diff --git a/tests/auto/checkxmlfiles/checkxmlfiles.pro b/tests/auto/checkxmlfiles/checkxmlfiles.pro index 31301b9..6f71e5b 100644 --- a/tests/auto/checkxmlfiles/checkxmlfiles.pro +++ b/tests/auto/checkxmlfiles/checkxmlfiles.pro @@ -6,17 +6,4 @@ QT = core gui testlib include (../xmlpatterns.pri) -wince*: { -QT += network -requires(!isEmpty(_QMAKE_SUPER_CACHE_)) -addFiles.files = \ - ../../../examples/xquery/globalVariables/globals.gccxml \ - ../../../../qtdoc/doc/src/diagrams/stylesheet/treeview.svg \ - ../../../../qtdoc/doc/src/diagrams/designer-manual/designer-mainwindow-actions.ui \ - ../../../../qtsql/examples/sql/masterdetail/albumdetails.xml \ - ../../../../qtbase/examples/widgets/tools/undo/undo.qrc -addFiles.path = xmlfiles -DEPLOYMENT += addFiles -} else { - DEFINES += SOURCETREE=\\\"$$absolute_path(../../..)/\\\" -} +DEFINES += SOURCETREE=\\\"$$absolute_path(../../..)/\\\" diff --git a/tests/auto/checkxmlfiles/tst_checkxmlfiles.cpp b/tests/auto/checkxmlfiles/tst_checkxmlfiles.cpp index 2afdaf7..625dbcc 100644 --- a/tests/auto/checkxmlfiles/tst_checkxmlfiles.cpp +++ b/tests/auto/checkxmlfiles/tst_checkxmlfiles.cpp @@ -83,12 +83,7 @@ void tst_CheckXMLFiles::checkXMLFiles_data() const /* We don't do HTML files currently because so many of them in 3rd party are broken. */ patterns.append(QLatin1String("*.xhtml")); -#ifndef Q_OS_WINCE - QString path = QLatin1String(SOURCETREE); -#else - QString path = QFINDTESTDATA("xmlfiles"); -#endif - QDirIterator it(path, patterns, QDir::AllEntries, QDirIterator::Subdirectories); + QDirIterator it(QLatin1String(SOURCETREE), patterns, QDir::AllEntries, QDirIterator::Subdirectories); while(it.hasNext()) { it.next(); diff --git a/tests/auto/network-settings.h b/tests/auto/network-settings.h index f02ed86..569069a 100644 --- a/tests/auto/network-settings.h +++ b/tests/auto/network-settings.h @@ -65,21 +65,22 @@ public: static bool compareReplyIMAP(QByteArray const& actual) { - QList<QByteArray> expected; + const QByteArray expected[] = { - // Mandriva; old test server - expected << QByteArray( "* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID STARTTLS LOGINDISABLED] " ) + // Mandriva; old test server + QByteArray( "* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID STARTTLS LOGINDISABLED] " ) .append(QtNetworkSettings::serverName().toLatin1()) - .append(" Cyrus IMAP4 v2.3.11-Mandriva-RPM-2.3.11-6mdv2008.1 server ready\r\n"); + .append(" Cyrus IMAP4 v2.3.11-Mandriva-RPM-2.3.11-6mdv2008.1 server ready\r\n"), - // Ubuntu 10.04; new test server - expected << QByteArray( "* OK " ) + // Ubuntu 10.04; new test server + QByteArray( "* OK " ) .append(QtNetworkSettings::serverLocalName().toLatin1()) - .append(" Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready\r\n"); + .append(" Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready\r\n"), - // Feel free to add more as needed + // Feel free to add more as needed + }; - Q_FOREACH (QByteArray const& ba, expected) { + for (const QByteArray &ba : expected) { if (ba == actual) { return true; } @@ -90,21 +91,22 @@ public: static bool compareReplyIMAPSSL(QByteArray const& actual) { - QList<QByteArray> expected; + const QByteArray expected[] = { - // Mandriva; old test server - expected << QByteArray( "* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID AUTH=PLAIN SASL-IR] " ) + // Mandriva; old test server + QByteArray( "* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID AUTH=PLAIN SASL-IR] " ) .append(QtNetworkSettings::serverName().toLatin1()) - .append(" Cyrus IMAP4 v2.3.11-Mandriva-RPM-2.3.11-6mdv2008.1 server ready\r\n"); + .append(" Cyrus IMAP4 v2.3.11-Mandriva-RPM-2.3.11-6mdv2008.1 server ready\r\n"), - // Ubuntu 10.04; new test server - expected << QByteArray( "* OK " ) + // Ubuntu 10.04; new test server + QByteArray( "* OK " ) .append(QtNetworkSettings::serverLocalName().toLatin1()) - .append(" Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready\r\n"); + .append(" Cyrus IMAP4 v2.2.13-Debian-2.2.13-19 server ready\r\n"), - // Feel free to add more as needed + // Feel free to add more as needed + }; - Q_FOREACH (QByteArray const& ba, expected) { + for (const QByteArray &ba : expected) { if (ba == actual) { return true; } @@ -115,14 +117,16 @@ public: static bool compareReplyFtp(QByteArray const& actual) { - QList<QByteArray> expected; + const QByteArray expected[] = { - // A few different vsFTPd versions. - // Feel free to add more as needed - expected << QByteArray( "220 (vsFTPd 2.0.5)\r\n221 Goodbye.\r\n" ); - expected << QByteArray( "220 (vsFTPd 2.2.2)\r\n221 Goodbye.\r\n" ); + // A few different vsFTPd versions. + // Feel free to add more as needed + QByteArray( "220 (vsFTPd 2.0.5)\r\n221 Goodbye.\r\n" ), + QByteArray( "220 (vsFTPd 2.2.2)\r\n221 Goodbye.\r\n" ), - Q_FOREACH (QByteArray const& ba, expected) { + }; + + for (const QByteArray &ba : expected) { if (ba == actual) { return true; } diff --git a/tests/auto/patternistexamples/patternistexamples.pro b/tests/auto/patternistexamples/patternistexamples.pro index dfb8ba8..f415e30 100644 --- a/tests/auto/patternistexamples/patternistexamples.pro +++ b/tests/auto/patternistexamples/patternistexamples.pro @@ -2,24 +2,7 @@ TARGET = tst_patternistexamples CONFIG += testcase SOURCES += tst_patternistexamples.cpp QT += testlib -wince*: { - snippets.files = ../../../doc/src/snippets/patternist/* - snippets.path = patternist - widgetRen.files = ../../../examples/xquery/widgetRenderer/* - widgetRen.path = widgetRenderer - globVar.files = ../../../examples/xquery/globalVariables/* - globVar.path = globalVariables - filetree.files = ../../../examples/filetree/* - filetree.path = filetree - recipes.files = ../../../examples/recipes/* - recipes.path = recipes - files.files = ../../../examples/recipes/files/* - files.path = recipes\\files - DEPLOYMENT += snippets widgetRen globVar filetree recipes files - # take care of dependency - QT += network -} else { - DEFINES += SOURCETREE=\\\"$$absolute_path(../../..)/\\\" -} +DEFINES += SOURCETREE=\\\"$$absolute_path(../../..)/\\\" + include (../xmlpatterns.pri) diff --git a/tests/auto/patternistexamples/tst_patternistexamples.cpp b/tests/auto/patternistexamples/tst_patternistexamples.cpp index 7801e20..6abeb04 100644 --- a/tests/auto/patternistexamples/tst_patternistexamples.cpp +++ b/tests/auto/patternistexamples/tst_patternistexamples.cpp @@ -68,19 +68,12 @@ private: void tst_PatternistExamples::initTestCase() { -#ifndef Q_OS_WINCE m_dirs.append(QDir(QLatin1String(SOURCETREE "src/xmlpatterns/doc/snippets/patternist/"))); m_dirs.append(QDir(QLatin1String(SOURCETREE "examples/xmlpatterns/xquery/globalVariables/"))); m_dirs.append(QDir(QLatin1String(SOURCETREE "examples/xmlpatterns/filetree/"))); m_dirs.append(QDir(QLatin1String(SOURCETREE "examples/xmlpatterns/recipes/"))); m_dirs.append(QDir(QLatin1String(SOURCETREE "examples/xmlpatterns/recipes/files/"))); -#else - m_dirs.append(QDir(QFINDTESTDATA("patternist/"))); - m_dirs.append(QDir(QFINDTESTDATA("globalVariables/"))); - m_dirs.append(QDir(QFINDTESTDATA("filetree/"))); - m_dirs.append(QDir(QFINDTESTDATA("recipes/"))); - m_dirs.append(QDir(QFINDTESTDATA("recipes/files/"))); -#endif + for(int i = 0; i < m_dirs.size(); ++i) QVERIFY(m_dirs.at(i).exists()); } @@ -149,7 +142,7 @@ void tst_PatternistExamples::checkQueries_data() const QCOMPARE(queryExamples.count(), int(XQueryFileCount)); - foreach(QString q, queryExamples) + for (const QString &q : queryExamples) QTest::newRow(q.toLocal8Bit().constData()) << q; } @@ -190,7 +183,7 @@ void tst_PatternistExamples::checkXMLFiles_data() const QCOMPARE(xmlFiles.count(), int(XMLFileCount)); - foreach(QString q, xmlFiles) + for (const QString &q : xmlFiles) QTest::newRow(q.toLocal8Bit().constData()) << q; } diff --git a/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp b/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp index 76608f4..07a702b 100644 --- a/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp +++ b/tests/auto/qabstractxmlnodemodel/LoadingModel.cpp @@ -169,7 +169,7 @@ QXmlNodeModelIndex LoadingModel::nextFromSimpleAxis(QAbstractXmlNodeModel::Simpl QVector<QXmlNodeModelIndex> LoadingModel::attributes(const QXmlNodeModelIndex &ni) const { QVector<QXmlNodeModelIndex> retval; - foreach(const Node *n, toInternal(ni)->attributes) + for (const Node *n : toInternal(ni)->attributes) retval.append(createIndex(n)); return retval; diff --git a/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro b/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro index f8b4df1..d1fe536 100644 --- a/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro +++ b/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro @@ -9,10 +9,3 @@ HEADERS += TestNodeModel.h LoadingModel.h TESTDATA = tree.xml include (../xmlpatterns.pri) - -wince*: { - addFiles.files = tree.xml - addFiles.path = . - - DEPLOYMENT += addFiles -} diff --git a/tests/auto/qxmlformatter/qxmlformatter.pro b/tests/auto/qxmlformatter/qxmlformatter.pro index 6e9e262..b464c39 100644 --- a/tests/auto/qxmlformatter/qxmlformatter.pro +++ b/tests/auto/qxmlformatter/qxmlformatter.pro @@ -6,9 +6,3 @@ SOURCES += tst_qxmlformatter.cpp TESTDATA = baselines/* input/* include (../xmlpatterns.pri) - -wince*:{ - addFiles.files = baselines input - addFiles.path = . - DEPLOYMENT += addFiles -} diff --git a/tests/auto/qxmlquery/TestFundament.cpp b/tests/auto/qxmlquery/TestFundament.cpp index d28314f..9313fa1 100644 --- a/tests/auto/qxmlquery/TestFundament.cpp +++ b/tests/auto/qxmlquery/TestFundament.cpp @@ -43,7 +43,7 @@ TestFundament::TestFundament() QString TestFundament::offset() { -#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) +#if defined(Q_OS_WIN) /* On Windows, the executable is placed in a release/ or debug/ folder. */ return QLatin1String("../"); #elif defined(Q_OS_MAC) diff --git a/tests/auto/qxmlquery/qxmlquery.pro b/tests/auto/qxmlquery/qxmlquery.pro index 7dca9b9..1f25eda 100644 --- a/tests/auto/qxmlquery/qxmlquery.pro +++ b/tests/auto/qxmlquery/qxmlquery.pro @@ -14,13 +14,3 @@ QT += network testlib TESTDATA = data/* pushBaselines/* input.xml include (../xmlpatterns.pri) - -wince*: { - addFiles.files = pushBaselines input.xml - addFiles.path = . - - patternistFiles.files = ../xmlpatterns/queries - patternistFiles.path = ../xmlpatterns - - DEPLOYMENT += addFiles patternistFiles -} diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp index c3d1e03..a7f3e8b 100644 --- a/tests/auto/qxmlquery/tst_qxmlquery.cpp +++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp @@ -977,8 +977,8 @@ void tst_QXmlQuery::evaluateToReceiver_data() const { QTest::addColumn<QString>("inputQuery"); - foreach (QString const& query, queries()) - { + const auto queries_ = queries(); + for (QString const& query : queries_) { /* This outputs a URI specific to the environment, so we can't use it for this * particular test. */ if (query != QLatin1String("staticBaseURI.xq")) @@ -1984,13 +1984,6 @@ void tst_QXmlQuery::fnDocNetworkAccessSuccess() const || QTest::currentDataTag() == QByteArray("ftp scheme")) QVERIFY(QtNetworkSettings::verifyTestNetworkSettings()); -#if defined(Q_OS_WINCE) && !defined(_X86_) - QStringList testsToSkip; - testsToSkip << "http scheme" << "ftp scheme"; - if (testsToSkip.contains(QTest::currentDataTag())) - QSKIP("Network tests are currently unsupported on Windows CE."); -#endif - QFETCH(QUrl, uriToOpen); QFETCH(QByteArray, expectedOutput); @@ -2524,13 +2517,6 @@ void tst_QXmlQuery::setQueryQUrlSuccess() const || QTest::currentDataTag() == QByteArray("A valid query via the http scheme")) QVERIFY(QtNetworkSettings::verifyTestNetworkSettings()); -#if defined(Q_OS_WINCE) && !defined(_X86_) - QStringList testsToSkip; - testsToSkip << "A valid query via the ftp scheme" << "A valid query via the http scheme"; - if (testsToSkip.contains(QTest::currentDataTag())) - QSKIP("Network tests are currently unsupported on Windows CE."); -#endif - QFETCH(QUrl, queryURI); QFETCH(QByteArray, expectedOutput); diff --git a/tests/auto/xmlpatterns.pri b/tests/auto/xmlpatterns.pri index 96d8261..84cf72b 100644 --- a/tests/auto/xmlpatterns.pri +++ b/tests/auto/xmlpatterns.pri @@ -1,14 +1,6 @@ QT += core-private xmlpatterns xmlpatterns-private - -wince*: { - patternsdk.files = $$QT.xmlpatterns.libs/QtXmlPatternsSDK*.dll - patternsdk.path = . - basedata.files = xmlpaternsxqts/Baseline.xml - basedata.path = . - DEPLOYMENT += patternsdk - QT += network -} QT -= gui + QMAKE_RPATHLINKDIR *= $$QT.gui.libs XMLPATTERNS_SDK = QtXmlPatternsSDK diff --git a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp index e182565..294e5fc 100644 --- a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp +++ b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp @@ -132,10 +132,6 @@ void tst_XmlPatterns::xquerySupport() if(m_dontRun) QSKIP("The command line utility is not in the path."); -#ifdef Q_OS_WINCE - QSKIP("WinCE: This test uses unsupported WinCE functionality"); -#endif - #ifndef QT_NO_PROCESS QFETCH(int, expectedExitCode); QFETCH(QByteArray, expectedQueryOutput); @@ -234,10 +230,6 @@ void tst_XmlPatterns::xquerySupport() void tst_XmlPatterns::xquerySupport_data() const { -#if defined(Q_OS_WINCE) - return; -#endif - QString path = QFINDTESTDATA("queries/"); /* Check one file for existence, to avoid possible false positives. */ @@ -876,10 +868,6 @@ void tst_XmlPatterns::xsltSupport_data() const if(m_dontRun) QSKIP("The command line utility is not in the path."); -#ifdef Q_OS_WINCE - QSKIP("WinCE: This test uses unsupported WinCE functionality"); -#endif - QString spath = QFINDTESTDATA("stylesheets/"); QString qpath = QFINDTESTDATA("queries/"); @@ -1040,7 +1028,7 @@ void tst_XmlPatterns::xsltSupport_data() const */ QString tst_XmlPatterns::filterStderr(const QString &in) { - static QList<QRegExp> irrelevant = QList<QRegExp>() + static const QList<QRegExp> irrelevant = QList<QRegExp>() // specific filenames << QRegExp(QLatin1String("file:\\/\\/.*(\\.xq|\\.gccxml|\\.xml|\\.xsl|-)(,|:)")) @@ -1048,12 +1036,12 @@ QString tst_XmlPatterns::filterStderr(const QString &in) // warning messages about old-style plugins << QRegExp(QLatin1String("Old plugin format found in lib [^\n]+\n")) << QRegExp(QLatin1String("Qt plugin loader: Compatibility plugin [^\n]+\n")) + << QRegExp(QLatin1String("Unimplemented code.\n")) ; QString out = in; - foreach (const QRegExp& rx, irrelevant) { + for (const QRegExp& rx : irrelevant) out = out.remove(rx); - } return out; } diff --git a/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro b/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro index 54aa71d..4d182d6 100644 --- a/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro +++ b/tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro @@ -19,11 +19,5 @@ INCLUDEPATH += $$(QTSRCDIR)/tests/auto/xmlpatternssdk \ ../xmlpatternsxqts \ ../xmlpatternssdk -wince* { - catalog.files = TestSuite Baseline.xml - catalog.path = . - DEPLOYMENT += catalog -} - requires(contains(QT_CONFIG,private_tests)) diff --git a/tests/auto/xmlpatternssdk/xmlpatternssdk.pro b/tests/auto/xmlpatternssdk/xmlpatternssdk.pro index 254d37b..f60672a 100644 --- a/tests/auto/xmlpatternssdk/xmlpatternssdk.pro +++ b/tests/auto/xmlpatternssdk/xmlpatternssdk.pro @@ -19,7 +19,7 @@ mac { QT += xmlpatterns xml network testlib gui DESTDIR = $$QT.xmlpatterns.libs -!wince*:DLLDESTDIR = $$QT.xmlpatterns.bins +DLLDESTDIR = $$QT.xmlpatterns.bins # syncqt doesn't copy headers in tools/ so let's manually ensure # it works with shadow builds and source builds. diff --git a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp index ee6151a..8e86dd9 100644 --- a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp +++ b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp @@ -88,10 +88,6 @@ void tst_XmlPatternsValidator::xsdSupport() if(m_dontRun) QSKIP("The command line utility is not in the path."); -#ifdef Q_OS_WINCE - QSKIP("WinCE: This test uses unsupported WinCE functionality"); -#endif - #ifndef QT_NO_PROCESS QFETCH(int, expectedExitCode); QFETCH(QStringList, arguments); @@ -118,10 +114,6 @@ void tst_XmlPatternsValidator::xsdSupport() void tst_XmlPatternsValidator::xsdSupport_data() const { -#ifdef Q_OS_WINCE - return; -#endif - QString path = QFINDTESTDATA("files/"); /* Check one file for existence, to avoid a flood of failures. */ diff --git a/tests/auto/xmlpatternsview/xmlpatternsview.pro b/tests/auto/xmlpatternsview/xmlpatternsview.pro index 2fd12ab..5331e33 100644 --- a/tests/auto/xmlpatternsview/xmlpatternsview.pro +++ b/tests/auto/xmlpatternsview/xmlpatternsview.pro @@ -5,9 +5,3 @@ SOURCES += tst_xmlpatternsview.cpp include (../xmlpatterns.pri) TARGET = tst_xmlpatternsview - -wince*: { - viewexe.files = $$QT.xmlpatterns.bins/xmlpatternsview.exe - viewexe.path = . - DEPLOYMENT += viewexe -} diff --git a/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro b/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro index f9dc1c2..ddde8a9 100644 --- a/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro +++ b/tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro @@ -16,10 +16,4 @@ INCLUDEPATH += $$(QTSRCDIR)/tests/auto/xmlpatternssdk \ ../xmlpatternsxqts \ ../xmlpatternssdk -wince*: { - testdata.files = XSLTS Baseline.xml - testdata.path = . - DEPLOYMENT += testdata -} - requires(contains(QT_CONFIG,private_tests)) diff --git a/tools/tools.pro b/tools/tools.pro index 92bbaca..df3f095 100644 --- a/tools/tools.pro +++ b/tools/tools.pro @@ -1,9 +1,9 @@ TEMPLATE = subdirs +QT_FOR_CONFIG += xmlpatterns-private -load(qfeatures) !android|android_app { SUBDIRS += xmlpatterns - !contains(QT_DISABLED_FEATURES, xmlschema) { + qtConfig(xml-schema) { SUBDIRS += xmlpatternsvalidator } } |