52 #ifndef Patternist_XsdSchemaResolver_H 53 #define Patternist_XsdSchemaResolver_H 69 #include <QtCore/QExplicitlySharedDataPointer> 77 class XsdSchemaContext;
78 class XsdSchemaParserContext;
XsdIdentityConstraint::Ptr keyRef
static uint hash(const uchar *p, int n)
void resolveAttributeTypes()
QVector< ElementType > m_elementTypes
bool m_defaultOpenContentAppliesToEmpty
QHash< AtomicValue::Ptr, NamespaceSupport > m_enumerationFacetValues
QList< QXmlName > typeNames
void addSubstitutionGroupAffiliation(const XsdElement::Ptr &element, const QList< QXmlName > &elementName, const QSourceLocation &location)
void resolveTermReference(const XsdParticle::Ptr &particle, QSet< QXmlName > visitedGroups)
void resolveAlternativeTypes()
#define QT_END_NAMESPACE
This macro expands to.
XsdSimpleType::Ptr simpleType
void addSimpleListType(const XsdSimpleType::Ptr &simpleType, const QXmlName &typeName, const QSourceLocation &location)
QVector< SimpleListType > m_simpleListTypes
void addRedefinedAttributeGroups(const XsdAttributeGroup::Ptr &redefinedGroup, const XsdAttributeGroup::Ptr &group)
QVector< AlternativeType > m_alternativeTypes
void resolveTermReferences()
QVector< SimpleRestrictionBase > m_simpleRestrictionBases
QSet< XsdReference::Ptr > m_allGroups
QVector< ComplexBaseType > m_complexBaseTypes
QVector< SimpleUnionType > m_simpleUnionTypes
XsdComplexType::OpenContent::Ptr m_defaultOpenContent
QList< QXmlName > elementNames
XsdSimpleType::Ptr simpleType
void resolveAttributeTermReferences()
void resolveSimpleListType()
The QVector class is a template class that provides a dynamic array.
QVector< RedefinedAttributeGroups > m_redefinedAttributeGroups
QExplicitlySharedDataPointer< XsdSchemaContext > m_context
void addKeyReference(const XsdElement::Ptr &element, const XsdIdentityConstraint::Ptr &keyRef, const QXmlName &name, const QSourceLocation &location)
XsdComplexType::Ptr complexType
void resolveElementTypes()
void setDefaultOpenContent(const XsdComplexType::OpenContent::Ptr &openContent, bool appliesToEmpty)
void addRedefinedGroups(const XsdModelGroup::Ptr &redefinedGroup, const XsdModelGroup::Ptr &group)
#define QT_BEGIN_NAMESPACE
This macro expands to.
Encapsulates the resolving of type/element references in a schema after parsing has finished...
void resolveComplexBaseTypes()
QHash< NamedSchemaComponent::Ptr, QSourceLocation > m_componentLocationHash
void addAllGroupCheck(const XsdReference::Ptr &reference)
XsdComplexType::Ptr complexType
XsdFacet::Hash complexTypeFacets(const XsdComplexType::Ptr &complexType) const
The namespace for the internal API of QtXmlPatterns.
A context for schema parsing.
The QSourceLocation class identifies a location in a resource by URI, line, and column.
QSourceLocation sourceLocation(const NamedSchemaComponent::Ptr component) const
XsdAttributeGroup::Ptr redefinedGroup
QVector< KeyReference > m_keyReferences
XsdSimpleType::Ptr simpleType
void addComplexBaseType(const XsdComplexType::Ptr &complexType, const QXmlName &baseName, const QSourceLocation &location, const XsdFacet::Hash &facets=XsdFacet::Hash())
static qreal component(const QPointF &point, unsigned int i)
void addSubstitutionGroupType(const XsdElement::Ptr &element)
void resolveEnumerationFacetValues()
A helper class for handling nested namespace declarations.
QXmlName baseTypeNameOfType(const SchemaType::Ptr &type) const
void copyDataTo(const XsdSchemaResolver::Ptr &other) const
XsdAlternative::Ptr alternative
QXmlName typeNameOfAttribute(const XsdAttribute::Ptr &attribute) const
void addEnumerationFacetValue(const AtomicValue::Ptr &facetValue, const NamespaceSupport &namespaceSupport)
void addComponentLocationHash(const QHash< NamedSchemaComponent::Ptr, QSourceLocation > &hash)
XsdParticle::Ptr explicitContent
The QXmlName class represents the name of an XML node, in an efficient, namespace-aware way...
XsdSchemaResolver(const QExplicitlySharedDataPointer< XsdSchemaContext > &context, const XsdSchemaParserContext *parserContext)
The QSharedData class is a base class for shared data objects.
void resolveSimpleRestrictions()
void removeSimpleRestrictionBase(const XsdSimpleType::Ptr &type)
void resolveKeyReferences()
SchemaType::List m_predefinedSchemaTypes
static QTestResult::TestLocation location
AnySimpleType::Ptr findPrimitiveType(const AnySimpleType::Ptr &type, QSet< AnySimpleType::Ptr > &visitedTypes)
void resolveSubstitutionGroups()
XsdModelGroup::Ptr redefinedGroup
void resolveSimpleContentComplexTypes()
QExplicitlySharedDataPointer< XsdSchemaChecker > m_checker
QExplicitlySharedDataPointer< XsdSchemaResolver > Ptr
void resolveComplexContentComplexTypes()
void addAttributeType(const XsdAttribute::Ptr &attribute, const QXmlName &typeName, const QSourceLocation &location)
void resolveSubstitutionGroupAffiliations()
void addElementType(const XsdElement::Ptr &element, const QXmlName &typeName, const QSourceLocation &location)
void checkRedefinedGroups()
QVector< ComplexContentType > m_complexContentTypes
QVector< AlternativeTypeElement > m_alternativeTypeElements
void resolveSimpleRestrictionBaseTypes()
void addSimpleUnionTypes(const XsdSimpleType::Ptr &simpleType, const QList< QXmlName > &typeNames, const QSourceLocation &location)
QVector< XsdElement::Ptr > m_substitutionGroupTypes
XsdAlternative::Ptr alternative
void resolveSimpleUnionTypes()
void checkRedefinedAttributeGroups()
void removeComplexBaseType(const XsdComplexType::Ptr &type)
void resolveAttributeInheritance()
void addAlternativeType(const XsdAlternative::Ptr &alternative, const QXmlName &typeName, const QSourceLocation &location)
QVector< AttributeType > m_attributeTypes
XsdAttributeGroup::Ptr group
void addComplexContentType(const XsdComplexType::Ptr &complexType, const XsdParticle::Ptr &content, bool mixed)
XsdAttribute::Ptr attribute
QVector< RedefinedGroups > m_redefinedGroups
void addSimpleRestrictionBase(const XsdSimpleType::Ptr &simpleType, const QXmlName &baseName, const QSourceLocation &location)
QVector< SubstitutionGroupAffiliation > m_substitutionGroupAffiliations