Qt 4.8
Classes
XML Schema Processing

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...
 

Detailed Description

Overview

Structure and Components

The schema validator code consists of 4 major components

The schema parser (QPatternist::XsdSchemaParser)

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.

The schema resolver (QPatternist::XsdSchemaResolver)

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).

The schema checker (QPatternist::XsdSchemaChecker)

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.

The validator (QPatternist::XsdValidatingInstanceReader)
This component is responsible for validating a XML instance document, provided via a QIODevice, against a valid compiled schema.