<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Xerces-C++: XMLEntityHandler Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>XMLEntityHandler Class Reference</h1><!-- doxytag: class="XMLEntityHandler" -->This abstract class is a callback mechanism for the scanner. <a href="#_details">More...</a> <p> <div class="dynheader"> Inheritance diagram for XMLEntityHandler:</div> <div class="dynsection"> <p><center><img src="classXMLEntityHandler.png" usemap="#XMLEntityHandler_map" border="0" alt=""></center> <map name="XMLEntityHandler_map"> <area href="classAbstractDOMParser.html" alt="AbstractDOMParser" shape="rect" coords="0,56,127,80"> <area href="classSAXParser.html" alt="SAXParser" shape="rect" coords="137,56,264,80"> <area href="classXercesDOMParser.html" alt="XercesDOMParser" shape="rect" coords="0,112,127,136"> </map> </div> <p> <a href="classXMLEntityHandler-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#330d6205e5650fe749857a3942729c7d">~XMLEntityHandler</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default destructor. <a href="#330d6205e5650fe749857a3942729c7d"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">The pure virtual methods in this interface.</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#f1b5c220b47c05c188cbd88363e9a41d">endInputSource</a> (const <a class="el" href="classInputSource.html">InputSource</a> &inputSource)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method get called after the scanner has finished reading from the given input source while processing external entity references. <a href="#f1b5c220b47c05c188cbd88363e9a41d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#a64d97114fb1fa62502fba6d9ed5346c">expandSystemId</a> (const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const systemId, XMLBuffer &toFill)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method allows the passes the scanned systemId to the entity handler, thereby giving it a chance to provide any customized handling like resolving relative path names. <a href="#a64d97114fb1fa62502fba6d9ed5346c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#f096953b99a5de9f039df902c7f3543d">resetEntities</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method allows the entity handler to reset itself, so that it can be used again. <a href="#f096953b99a5de9f039df902c7f3543d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classInputSource.html">InputSource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#8994f00cc9ba227fe8afa273605356d9">resolveEntity</a> (<a class="el" href="classXMLResourceIdentifier.html">XMLResourceIdentifier</a> *resourceIdentifier)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method allows the entity handler to provide customized application specific entity resolution. <a href="#8994f00cc9ba227fe8afa273605356d9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#a59b2da6316f575899b6a8a3fef7477c">startInputSource</a> (const <a class="el" href="classInputSource.html">InputSource</a> &inputSource)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method will be called before the scanner starts reading from an input source while processing external entity references. <a href="#a59b2da6316f575899b6a8a3fef7477c"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Constructor</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#2f769c62f00fd147a5eca72feda9f1f8">XMLEntityHandler</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Protected default constructor. <a href="#2f769c62f00fd147a5eca72feda9f1f8"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This abstract class is a callback mechanism for the scanner. <p> By creating a derivative of this class and plugging into the scanner, the scanner will call back on the object's methods to entity events.<p> This class is primarily for use by those writing their own parser classes. If you use the standard parser classes, DOMParser and <a class="el" href="classSAXParser.html" title="This class implements the SAX 'Parser' interface and should be used by applications...">SAXParser</a>, you won't use this API. You will instead use a similar mechanism defined by the SAX API, called <a class="el" href="classEntityResolver.html" title="Basic interface for resolving entities.">EntityResolver</a>. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="330d6205e5650fe749857a3942729c7d"></a><!-- doxytag: member="XMLEntityHandler::~XMLEntityHandler" ref="330d6205e5650fe749857a3942729c7d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual XMLEntityHandler::~XMLEntityHandler </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Default destructor. <p> </div> </div><p> <a class="anchor" name="2f769c62f00fd147a5eca72feda9f1f8"></a><!-- doxytag: member="XMLEntityHandler::XMLEntityHandler" ref="2f769c62f00fd147a5eca72feda9f1f8" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">XMLEntityHandler::XMLEntityHandler </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Protected default constructor. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="f1b5c220b47c05c188cbd88363e9a41d"></a><!-- doxytag: member="XMLEntityHandler::endInputSource" ref="f1b5c220b47c05c188cbd88363e9a41d" args="(const InputSource &inputSource)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void XMLEntityHandler::endInputSource </td> <td>(</td> <td class="paramtype">const <a class="el" href="classInputSource.html">InputSource</a> & </td> <td class="paramname"> <em>inputSource</em> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This method get called after the scanner has finished reading from the given input source while processing external entity references. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>inputSource</em> </td><td>The input source for the entity </td></tr> </table> </dl> <p>Implemented in <a class="el" href="classSAXParser.html#d075bfe6b2be4105f9dda5b1c3651e41">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#f0045b44b04f34436f4ccdf3ce6f2a0a">XercesDOMParser</a>.</p> </div> </div><p> <a class="anchor" name="a64d97114fb1fa62502fba6d9ed5346c"></a><!-- doxytag: member="XMLEntityHandler::expandSystemId" ref="a64d97114fb1fa62502fba6d9ed5346c" args="(const XMLCh *const systemId, XMLBuffer &toFill)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool XMLEntityHandler::expandSystemId </td> <td>(</td> <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#fae8f92d83170d97f757f704eca7f52a">XMLCh</a> *const </td> <td class="paramname"> <em>systemId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">XMLBuffer & </td> <td class="paramname"> <em>toFill</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This method allows the passes the scanned systemId to the entity handler, thereby giving it a chance to provide any customized handling like resolving relative path names. <p> The scanner first calls this method before calling <code>resolveEntity</code>.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>systemId</em> </td><td>The system id extracted by the scanner from the input source. </td></tr> <tr><td valign="top"></td><td valign="top"><em>toFill</em> </td><td>The buffer in which the fully expanded system id needs to be stored. </td></tr> </table> </dl> <p>Implemented in <a class="el" href="classSAXParser.html#ca8b719e6b3b1e61def130ae58d795c8">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#9cf136488f2f8f92ffa226bb2fc2d448">XercesDOMParser</a>.</p> </div> </div><p> <a class="anchor" name="f096953b99a5de9f039df902c7f3543d"></a><!-- doxytag: member="XMLEntityHandler::resetEntities" ref="f096953b99a5de9f039df902c7f3543d" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void XMLEntityHandler::resetEntities </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This method allows the entity handler to reset itself, so that it can be used again. <p> It is called prior to a new document parse operation. <p>Implemented in <a class="el" href="classSAXParser.html#ab74b3fa5cc7a34beee6b7293a0c5819">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#8d5b35e277d05f1244a4285ae5c6710b">XercesDOMParser</a>.</p> </div> </div><p> <a class="anchor" name="8994f00cc9ba227fe8afa273605356d9"></a><!-- doxytag: member="XMLEntityHandler::resolveEntity" ref="8994f00cc9ba227fe8afa273605356d9" args="(XMLResourceIdentifier *resourceIdentifier)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classInputSource.html">InputSource</a>* XMLEntityHandler::resolveEntity </td> <td>(</td> <td class="paramtype"><a class="el" href="classXMLResourceIdentifier.html">XMLResourceIdentifier</a> * </td> <td class="paramname"> <em>resourceIdentifier</em> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This method allows the entity handler to provide customized application specific entity resolution. <p> <em>Only one resolveEntity method will be used. If both setEntityResolver and setXMLEntityResolver are called, then the last one is used.</em><p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>resourceIdentifier</em> </td><td>An object containing the type of resource to be resolved and the associated data members corresponding to this type. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The value returned by the resolveEntity method or NULL otherwise to indicate no processing was done. The returned <a class="el" href="classInputSource.html" title="A single input source for an XML entity.">InputSource</a> is owned by the parser which is responsible to clean up the memory. </dd></dl> <p>Implemented in <a class="el" href="classSAXParser.html#a4ed9dece6679d979f7b7458b279d0eb">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#1195ddba213852b34683abbf6f56668a">XercesDOMParser</a>.</p> </div> </div><p> <a class="anchor" name="a59b2da6316f575899b6a8a3fef7477c"></a><!-- doxytag: member="XMLEntityHandler::startInputSource" ref="a59b2da6316f575899b6a8a3fef7477c" args="(const InputSource &inputSource)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void XMLEntityHandler::startInputSource </td> <td>(</td> <td class="paramtype">const <a class="el" href="classInputSource.html">InputSource</a> & </td> <td class="paramname"> <em>inputSource</em> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This method will be called before the scanner starts reading from an input source while processing external entity references. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>inputSource</em> </td><td>The external input source. </td></tr> </table> </dl> <p>Implemented in <a class="el" href="classSAXParser.html#2a942fc0cb2f4c0d06f5ed86a1dacb0b">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#0123825ec7c9eaebe452578dcf751821">XercesDOMParser</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="XMLEntityHandler_8hpp-source.html">XMLEntityHandler.hpp</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 29 15:30:49 2010 for Xerces-C++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>