diff options
author | Peter Hartmann <peter.hartmann@nokia.com> | 2009-12-08 18:15:58 (GMT) |
---|---|---|
committer | Peter Hartmann <peter.hartmann@nokia.com> | 2010-06-14 14:48:32 (GMT) |
commit | b00cd9859d8b666b851953ee3b37def0ab078a54 (patch) | |
tree | fb3901a6e1291506a3721086ca22cfe98e28e950 /src/xmlpatterns/schema/qxsdparticlechecker_p.h | |
parent | ea8817a59e92e40927ae4cecd301771eb115fb6f (diff) | |
download | Qt-b00cd9859d8b666b851953ee3b37def0ab078a54.zip Qt-b00cd9859d8b666b851953ee3b37def0ab078a54.tar.gz Qt-b00cd9859d8b666b851953ee3b37def0ab078a54.tar.bz2 |
QXmlSchema: allow usage of xsd:all
previously, loading schemas that contained xsd:all elements was not
possible because the algorithm used did not scale in that case.
This patch introduces a special checking for those elements which
removes the performance downside.
Reviewed-by: Tobias Koenig <tokoe@kde.org>
Task-number: QTBUG-6485
Diffstat (limited to 'src/xmlpatterns/schema/qxsdparticlechecker_p.h')
-rw-r--r-- | src/xmlpatterns/schema/qxsdparticlechecker_p.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/xmlpatterns/schema/qxsdparticlechecker_p.h b/src/xmlpatterns/schema/qxsdparticlechecker_p.h index 742f0d0..40c525a 100644 --- a/src/xmlpatterns/schema/qxsdparticlechecker_p.h +++ b/src/xmlpatterns/schema/qxsdparticlechecker_p.h @@ -85,6 +85,13 @@ namespace QPatternist static bool isUPAConform(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool); /** + * Checks whether the given @p particle, which must be an xsd:all element, + * is valid according the UPA (http://www.w3.org/TR/xmlschema-1/#cos-nonambig) constraint. + * For xsd:all elements, we do not want to construct a state machine. + */ + static bool isUPAConformXsdAll(const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool); + + /** * Checks whether the given @p particle subsumes the given @p derivedParticle. * (http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict) */ |