Qt 4.8
|
A helper class to check validity of particles. More...
#include <qxsdparticlechecker_p.h>
Static Public Functions | |
static bool | hasDuplicatedElements (const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool, XsdElement::Ptr &conflictingElement) |
static bool | isUPAConform (const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool) |
static bool | isUPAConformXsdAll (const XsdParticle::Ptr &particle, const NamePool::Ptr &namePool) |
static bool | subsumes (const XsdParticle::Ptr &particle, const XsdParticle::Ptr &derivedParticle, const XsdSchemaContext::Ptr &context, QString &errorMsg) |
A helper class to check validity of particles.
Definition at line 72 of file qxsdparticlechecker_p.h.
|
static |
Checks whether the given particle
has two or more element declarations with the same name but different type definitions.
Definition at line 339 of file qxsdparticlechecker.cpp.
Referenced by QPatternist::XsdSchemaChecker::checkComplexTypeConstraints().
|
static |
Checks whether the given particle
is valid according the UPA (http://www.w3.org/TR/xmlschema-1/#cos-nonambig) constraint.
In case we encounter an <xsd:all> element, don't construct a state machine, but use the approach described at http://www.w3.org/TR/xmlschema-1/#non-ambig Reason: For n elements inside the <xsd:all>, represented in the NDA, the state machine constructs n! states in the DFA, which does not scale.
The algorithm is implemented like described in http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html#S2.2
Definition at line 345 of file qxsdparticlechecker.cpp.
Referenced by QPatternist::XsdSchemaChecker::checkComplexTypeConstraints().
|
static |
Checks whether the given 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.
see http://www.w3.org/TR/xmlschema-1/#non-ambig
Definition at line 430 of file qxsdparticlechecker.cpp.
Referenced by isUPAConform().
|
static |
Checks whether the given particle
subsumes the given derivedParticle
. (http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict)
The algorithm is implemented like described in http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html#S2.3
Definition at line 447 of file qxsdparticlechecker.cpp.
Referenced by QPatternist::XsdSchemaChecker::checkComplexTypeConstraints(), QPatternist::XsdSchemaResolver::checkRedefinedGroups(), and derivedTermValid().