/* * Copyright (c) 2002, DecisionSoft Limited All rights reserved. * Please see LICENSE.TXT for more information. */ #ifndef _VALIDATIONCONTEXT_HPP_HEADER_GUARD #define _VALIDATIONCONTEXT_HPP_HEADER_GUARD #include #include XERCES_CPP_NAMESPACE_BEGIN class ComplexTypeInfo; class SchemaElementDecl; class SchemaAttDef; XERCES_CPP_NAMESPACE_END /// the Validation Context is a storage for the current context for schema validation class PATHAN_EXPORT ValidationContext { public: ValidationContext(); ValidationContext& operator=(ValidationContext other); enum ContextType{ GLOBAL_CONTEXT = 1, TYPE_CONTEXT = 2, ELEMENT_CONTEXT = 3, ATTRIBUTE_CONTEXT = 4 }; ContextType getContextType() const; void setContextType(ContextType newVal); XERCES_CPP_NAMESPACE_QUALIFIER ComplexTypeInfo* getCurrentType() const ; void setCurrentType(XERCES_CPP_NAMESPACE_QUALIFIER ComplexTypeInfo* newVal); XERCES_CPP_NAMESPACE_QUALIFIER SchemaElementDecl* getCurrentElement() const; void setCurrentElement(XERCES_CPP_NAMESPACE_QUALIFIER SchemaElementDecl* newVal); XERCES_CPP_NAMESPACE_QUALIFIER SchemaAttDef* getCurrentAttribute() const; void setCurrentAttribute(XERCES_CPP_NAMESPACE_QUALIFIER SchemaAttDef* newVal); protected: void* _ptr; ContextType _contextType; }; #endif