http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ValidationContext.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * $Log: ValidationContext.hpp,v $
00019  * Revision 1.3  2004/09/08 13:55:58  peiyongz
00020  * Apache License Version 2.0
00021  *
00022  * Revision 1.2  2003/11/24 05:10:26  neilg
00023  * implement method for determining member type of union that validated some value
00024  *
00025  * Revision 1.1  2003/11/12 20:28:16  peiyongz
00026  * Stateless Grammar: ValidationContext
00027  *
00028  * $Id: ValidationContext.hpp,v 1.3 2004/09/08 13:55:58 peiyongz Exp $
00029  *
00030  */
00031 
00032 #if !defined(VALIDATION_CONTEXT_HPP)
00033 #define VALIDATION_CONTEXT_HPP
00034 
00035 #include <xercesc/util/PlatformUtils.hpp>
00036 #include <xercesc/util/RefHashTableOf.hpp>
00037 #include <xercesc/util/NameIdPool.hpp>
00038 #include <xercesc/util/XMemory.hpp>
00039 
00040 XERCES_CPP_NAMESPACE_BEGIN
00041 
00042 class XMLRefInfo;
00043 class DTDEntityDecl;
00044 class DatatypeValidator;
00045 
00046 class  ValidationContext : public XMemory
00047 {
00048 public :
00049     // -----------------------------------------------------------------------
00051     // -----------------------------------------------------------------------
00053 
00058     virtual ~ValidationContext(){};
00060 
00061     // -----------------------------------------------------------------------
00063     // -----------------------------------------------------------------------
00065 
00070     virtual RefHashTableOf<XMLRefInfo>*  getIdRefList() const = 0;
00071 
00072     virtual void                         setIdRefList(RefHashTableOf<XMLRefInfo>* const) = 0;
00073 
00074     virtual void                         clearIdRefList() = 0;
00075 
00076     virtual void                         addId(const XMLCh * const ) = 0;
00077 
00078     virtual void                         addIdRef(const XMLCh * const ) = 0;
00079 
00080     virtual void                         toCheckIdRefList(bool) = 0;
00081 
00086     virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const = 0;
00087 
00088     virtual const NameIdPool<DTDEntityDecl>* setEntityDeclPool(const NameIdPool<DTDEntityDecl>* const) = 0;    
00089            
00090     virtual void                             checkEntity(const XMLCh * const ) const = 0 ;
00091 
00097     virtual DatatypeValidator * getValidatingMemberType() const = 0 ;
00098     virtual void setValidatingMemberType(DatatypeValidator * validatingMemberType) = 0 ;
00099 
00101 
00102    
00103 protected :
00104     // -----------------------------------------------------------------------
00106     // -----------------------------------------------------------------------
00108     ValidationContext(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager)
00109     :fMemoryManager(memMgr)
00110     {
00111     };
00113 
00114     // -----------------------------------------------------------------------
00115     //  Data members
00116     //
00117     //  fMemoryManager
00118     //      Pluggable memory manager for dynamic allocation/deallocation.
00119     // -----------------------------------------------------------------------
00120     MemoryManager*                    fMemoryManager;
00121 
00122 private :
00123     // -----------------------------------------------------------------------
00125     // -----------------------------------------------------------------------
00127     ValidationContext(const ValidationContext& );
00128     ValidationContext& operator=(const ValidationContext& );
00130 
00131 };
00132 
00133 XERCES_CPP_NAMESPACE_END
00134 
00135 #endif
00136 


Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.