Qt 4.8
|
Classes | |
class | QPatternist::ComparisonFactory |
Provides compare(), which is a high-level helper function for comparing atomic values. More... | |
class | QPatternist::NamespaceSupport |
A helper class for handling nested namespace declarations. More... | |
class | QPatternist::ValueFactory |
Provides fromLexical(), which allows instantiation of atomic values from arbitrary types. More... | |
class | QPatternist::XsdAlternative |
Represents a XSD alternative object. More... | |
class | QPatternist::XsdAnnotated |
Base class for all XSD components with annotation content. More... | |
class | QPatternist::XsdAnnotation |
Represents a XSD annotation object. More... | |
class | QPatternist::XsdApplicationInformation |
Represents a XSD appinfo object. More... | |
class | QPatternist::XsdAssertion |
Represents a XSD assertion object. More... | |
class | QPatternist::XsdAttribute |
Represents a XSD attribute object. More... | |
class | QPatternist::XsdAttributeGroup |
Represents the XSD attributeGroup object. More... | |
class | QPatternist::XsdAttributeReference |
A helper class for attribute reference resolving. More... | |
class | QPatternist::XsdAttributeTerm |
A base class for all attribute types. More... | |
class | QPatternist::XsdAttributeUse |
Represents a XSD attribute use object. More... | |
class | QPatternist::XsdComplexType |
Represents a XSD complexType object. More... | |
class | QPatternist::XsdDocumentation |
Represents a XSD documentation object. More... | |
class | QPatternist::XsdElement |
Represents a XSD element object. More... | |
class | QPatternist::XsdFacet |
Represents a XSD facet object. More... | |
class | QPatternist::XsdIdCache |
Helper class for keeping track of all existing IDs in a schema. More... | |
class | QPatternist::XsdIdentityConstraint |
Represents a XSD identity constraint object. More... | |
class | QPatternist::XsdInstanceReader |
The schema instance reader. More... | |
class | QPatternist::XsdModelGroup |
Represents a XSD model group object. More... | |
class | QPatternist::XsdNotation |
Represents a XSD notation object, which should not be confused with the atomic type xs:NOTATION . More... | |
class | QPatternist::XsdParticle |
Represents a XSD particle object. More... | |
class | QPatternist::XsdParticleChecker |
A helper class to check validity of particles. More... | |
class | QPatternist::XsdReference |
A helper class for element and group reference resolving. More... | |
class | QPatternist::XsdSchema |
Represents a XSD schema object. More... | |
class | QPatternist::XsdSchemaChecker |
Encapsulates the checking of schema valitity after reference resolving has finished. More... | |
class | QPatternist::XsdSchemaContext |
A context for schema parsing and validation. More... | |
class | QPatternist::XsdSchemaHelper |
Contains helper methods that are used by XsdSchemaParser, XsdSchemaResolver and XsdSchemaChecker. More... | |
class | QPatternist::XsdSchemaMerger |
A helper class that merges two schemas into one. More... | |
class | QPatternist::XsdSchemaParser |
Implements the parsing of XML schema file. More... | |
class | QPatternist::XsdSchemaParserContext |
A context for schema parsing. More... | |
class | QPatternist::XsdSchemaResolver |
Encapsulates the resolving of type/element references in a schema after parsing has finished. More... | |
class | QPatternist::XsdSimpleType |
Represents a XSD simpleType object. More... | |
class | QPatternist::XsdStateMachine< TransitionType > |
A state machine used for evaluation. More... | |
class | QPatternist::XsdStateMachineBuilder |
A helper class to build up validation state machines. More... | |
class | QPatternist::XsdTerm |
A base class for all particles of a model group. More... | |
class | QPatternist::XsdUserSchemaType< TSuperClass > |
A base class for all user defined simple and complex types. More... | |
class | QPatternist::XsdValidatedXmlNodeModel |
A delegate class that wraps around a QAbstractXmlNodeModel and provides additional validation specific information. More... | |
class | QPatternist::XsdValidatingInstanceReader |
The validating schema instance reader. More... | |
class | QPatternist::XsdWildcard |
Represents a XSD wildcard object. More... | |
class | QPatternist::XsdXPathExpression |
Represents a XSD assertion object. More... | |
The schema validator code consists of 4 major components
This component parses a XML document that is supplied via a QIODevice. It creates a so called (incomplete) 'compiled schema', which is a representation of the XML Schema structure as C++ objects. As the parser is a streaming parser, it can't resolve references to types or elements/attributes in place, therefor it creates resolver tasks which are passed to the schema resolver component for resolving at a later point in time. The parser does furthermore the basic XML structure constraint checking, e.g. if all required attributes are available or the order of the elements is correct.
This component is activated after the schema parser component has been finished the parsing of all schemas. The resolver has been supplied with resolve tasks by the schema parser that it will resolve in this step now. Between working on the single resolver tasks, the resolver calls check methods from the schema checker component to make sure that some assertions are valid (e.g. no circular inheritance of types), so that the resolver can work without hassle. During resoving references to attribute or element groups it also checks for circular references of these groups. At the end of that phase we have a compiled schema that is fully resolved (not necessarily valid though).
This component does all the schema constraint checking as given by the Schema specification. At the end of that phase we have fully resolved and valid compiled schema that can be used for validation of instance documents.