Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

DTDHandler.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    DTDHandler.h
00006  *
00007  *  $Id: DTDHandler.h,v 1.1.1.1 2003/02/21 18:36:32 chad Exp $
00008  *
00009  *  @author Nanbor Wang <nanbor@cs.wustl.edu>
00010  */
00011 //=============================================================================
00012 #ifndef _ACEXML_DTDHANDLER_H_
00013 #define _ACEXML_DTDHANDLER_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/Env.h"
00023 #include "ACEXML/common/SAXExceptions.h"
00024 
00025 /**
00026  * @class ACEXML_DTDHandler DTDHandler.h "ACEXML/common/DTDHandler.h"
00027  *
00028  * @brief ACEXML_DTDHandler
00029  *
00030  * If a SAX application needs information about notations and unparsed
00031  * entities, then the application implements this interface and registers
00032  * an instance with the SAX parser using the parser's setDTDHandler method.
00033  * The parser uses the instance to report notation and unparsed entity
00034  * declarations to the application.
00035  *
00036  * Note that this interface includes only those DTD events that the XML
00037  * recommendation requires processors to report: notation and unparsed
00038  * entity declarations.
00039  *
00040  * The SAX parser may report these events in any order, regardless of the
00041  * order in which the notations and unparsed entities were declared;
00042  * however, all DTD events must be reported after the document handler's
00043  * startDocument event, and before the first startElement event.
00044  *
00045  * It is up to the application to store the information for future use
00046  * (perhaps in a hash table or object tree). If the application encounters
00047  * attributes of type "NOTATION", "ENTITY", or "ENTITIES", it can use the
00048  * information that it obtained through this interface to find the entity
00049  * and/or notation corresponding with the attribute value.
00050  */
00051 class ACEXML_Export ACEXML_DTDHandler
00052 {
00053 public:
00054   /**
00055    * Receive notification of a notation declaration event.
00056    */
00057   virtual void notationDecl (const ACEXML_Char *name,
00058                              const ACEXML_Char *publicId,
00059                              const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
00060         ACE_THROW_SPEC ((ACEXML_SAXException)) = 0;
00061 
00062   /**
00063    * Receive notification of an unparsed entity declaration event.
00064    */
00065   virtual void unparsedEntityDecl (const ACEXML_Char *name,
00066                                    const ACEXML_Char *publicId,
00067                                    const ACEXML_Char *systemId,
00068                                    const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL)
00069         ACE_THROW_SPEC ((ACEXML_SAXException)) = 0;
00070 };
00071 
00072 
00073 #include "ace/post.h"
00074 
00075 #endif /* _ACEXML_DTDHANDLER_H_ */

Generated on Mon Jun 16 13:23:20 2003 for ACEXML by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002