00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file XMLFilter.h 00006 * 00007 * XMLFilter.h,v 1.5 2003/07/19 19:04:10 dhinton Exp 00008 * 00009 * @author Nanbor Wang <nanbor@cs.wustl.edu> 00010 */ 00011 //============================================================================= 00012 #ifndef _ACEXML_XMLFILTER_H_ 00013 #define _ACEXML_XMLFILTER_H_ 00014 00015 #include /**/ "ace/pre.h" 00016 #include "ACEXML/common/ACEXML_Export.h" 00017 00018 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00019 #pragma once 00020 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00021 00022 #include "ACEXML/common/XMLReader.h" 00023 00024 /** 00025 * @class ACEXML_XMLFilter XMLFilter.h "ACEXML/common/XMLFilter.h" 00026 * 00027 * @brief ACEXML_XMLFilter 00028 * 00029 * An XML filter is like an XML reader, except that it obtains its events 00030 * from another XML reader rather than a primary source like an XML 00031 * document or database. Filters can modify a stream of events as they pass 00032 * on to the final application. 00033 * 00034 * The XMLFilterImpl helper class provides a convenient base for creating 00035 * SAX2 filters, by passing on all ACEXML_EntityResolver, 00036 * ACEXML_DTDHandler, ACEXML_ContentHandler and ACEXML_ErrorHandler events 00037 * automatically. 00038 */ 00039 class ACEXML_Export ACEXML_XMLFilter : public ACEXML_XMLReader 00040 { 00041 public: 00042 /** 00043 * Get the parent reader. 00044 */ 00045 virtual ACEXML_XMLReader *getParent (void) const = 0; 00046 00047 /** 00048 * Set the parent reader. 00049 */ 00050 virtual void setParent (ACEXML_XMLReader *parent) = 0; 00051 }; 00052 00053 00054 #include /**/ "ace/post.h" 00055 00056 #endif /* _ACEXML_XMLFILTER_H_ */