summaryrefslogtreecommitdiff
path: root/src/xmlpatterns/schema/qxsdschemachecker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmlpatterns/schema/qxsdschemachecker.cpp')
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xmlpatterns/schema/qxsdschemachecker.cpp b/src/xmlpatterns/schema/qxsdschemachecker.cpp
index 57ee3e6..91a796a 100644
--- a/src/xmlpatterns/schema/qxsdschemachecker.cpp
+++ b/src/xmlpatterns/schema/qxsdschemachecker.cpp
@@ -1525,11 +1525,14 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con
const QXmlName primitiveTypeName = simpleType->primitiveType()->name(m_namePool);
if (m_allowedAtomicFacets.contains(primitiveTypeName)) {
const QSet<XsdFacet::Type> allowedFacets = m_allowedAtomicFacets.value(primitiveTypeName);
- QSet<XsdFacet::Type> availableFacets = facets.keys().toSet();
+
+ QSet<XsdFacet::Type> availableFacets;
+ for (auto it = facets.cbegin(), end = facets.cend(); it != end; ++it)
+ availableFacets.insert(it.key());
if (!availableFacets.subtract(allowedFacets).isEmpty()) {
m_context->error(QtXmlPatterns::tr("Simple type contains not allowed facet %1.")
- .arg(formatKeyword(XsdFacet::typeName(availableFacets.toList().first()))),
+ .arg(formatKeyword(XsdFacet::typeName(availableFacets.values().constFirst()))),
XsdSchemaContext::XSDError, sourceLocation(simpleType));
return;
}