3 //=============================================================================
5 * @file EntityResolver.h
7 * @author Nanbor Wang <nanbor@cs.wustl.edu>
9 //=============================================================================
10 #ifndef _ACEXML_ENTITYHANDLER_H_
11 #define _ACEXML_ENTITYHANDLER_H_
13 #include /**/ "ace/pre.h"
14 #include "ACEXML/common/ACEXML_Export.h"
16 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 #endif /* ACE_LACKS_PRAGMA_ONCE */
20 #include "ACEXML/common/InputSource.h"
21 #include "ACEXML/common/SAXExceptions.h"
24 * @class ACEXML_EntityResolver
26 * @brief ACEXML_EntityResolver
28 * If a SAX application needs to implement customized handling for
29 * external entities, it must implement this interface and register an
30 * instance with the SAX driver using the setEntityResolver method.
32 * The XML reader will then allow the application to intercept any
33 * external entities (including the external DTD subset and external
34 * parameter entities, if any) before including them.
36 * Many SAX applications will not need to implement this interface,
37 * but it will be especially useful for applications that build XML
38 * documents from databases or other specialised input sources, or for
39 * applications that use URI types other than URLs.
41 class ACEXML_Export ACEXML_EntityResolver
44 virtual ~ACEXML_EntityResolver ();
47 * Allow the application to resolve external entities.
49 virtual ACEXML_InputSource
*resolveEntity (const ACEXML_Char
*publicId
,
50 const ACEXML_Char
*systemId
) = 0;
54 #include /**/ "ace/post.h"
56 #endif /* _ACEXML_ENTITYHANDLER_H_ */