blob: 895948bbd603eefb55c1d9c6ecb929f804436354 [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XMLEntityHandler Class Reference</TITLE><link href="XercesApi.css" rel="stylesheet" type="text/css"></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="../resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="../resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="../resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="../graphics/api-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="../resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','../resources/button-xml-hi.gif','../resources/button-xml-lo.gif');" src="../resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','../resources/button-asf-hi.gif','../resources/button-asf-lo.gif');" src="../resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','../resources/button-w3c-hi.gif','../resources/button-w3c-lo.gif');" src="../resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="../resources/join.gif" vspace="0" width="120"><BR>
<A href="../../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','../graphics/ext-2-label-2.jpg','../graphics/ext-2-label-3.jpg');" src="../graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','../graphics/index-label-2.jpg','../graphics/index-label-3.jpg');" src="../graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../charter.html" onMouseOut="rolloverOff('side-charter');" onMouseOver="rolloverOn('side-charter');"><IMG alt="Charter" border="0" height="12" hspace="0" name="side-charter" onLoad="rolloverLoad('side-charter','../graphics/charter-label-2.jpg','../graphics/charter-label-3.jpg');" src="../graphics/charter-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','../graphics/releases-label-2.jpg','../graphics/releases-label-3.jpg');" src="../graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','../graphics/install-label-2.jpg','../graphics/install-label-3.jpg');" src="../graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xerces.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-20');" onMouseOver="rolloverOn('side-ext-20');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-20" onLoad="rolloverLoad('side-ext-20','../graphics/ext-20-label-2.jpg','../graphics/ext-20-label-3.jpg');" src="../graphics/ext-20-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','../graphics/build-label-2.jpg','../graphics/build-label-3.jpg');" src="../graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','../graphics/program-label-2.jpg','../graphics/program-label-3.jpg');" src="../graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','../graphics/samples-label-2.jpg','../graphics/samples-label-3.jpg');" src="../graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','../graphics/faqs-label-2.jpg','../graphics/faqs-label-3.jpg');" src="../graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','../graphics/api-label-2.jpg','../graphics/api-label-3.jpg');" src="../graphics/api-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-88');" onMouseOver="rolloverOn('side-ext-88');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-88" onLoad="rolloverLoad('side-ext-88','../graphics/ext-88-label-2.jpg','../graphics/ext-88-label-3.jpg');" src="../graphics/ext-88-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','../graphics/migrate-label-2.jpg','../graphics/migrate-label-3.jpg');" src="../graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','../graphics/feedback-label-2.jpg','../graphics/feedback-label-3.jpg');" src="../graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','../graphics/bug-report-label-2.jpg','../graphics/bug-report-label-3.jpg');" src="../graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../mailing-lists.html" onMouseOut="rolloverOff('side-mailing-lists');" onMouseOver="rolloverOn('side-mailing-lists');"><IMG alt="Mailing Lists" border="0" height="12" hspace="0" name="side-mailing-lists" onLoad="rolloverLoad('side-mailing-lists','../graphics/mailing-lists-label-2.jpg','../graphics/mailing-lists-label-3.jpg');" src="../graphics/mailing-lists-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../source-repository.html" onMouseOut="rolloverOff('side-source-repository');" onMouseOver="rolloverOn('side-source-repository');"><IMG alt="Source Repository" border="0" height="12" hspace="0" name="side-source-repository" onLoad="rolloverLoad('side-source-repository','../graphics/source-repository-label-2.jpg','../graphics/source-repository-label-3.jpg');" src="../graphics/source-repository-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../applications.html" onMouseOut="rolloverOff('side-applications');" onMouseOver="rolloverOn('side-applications');"><IMG alt="Applications" border="0" height="12" hspace="0" name="side-applications" onLoad="rolloverLoad('side-applications','../graphics/applications-label-2.jpg','../graphics/applications-label-3.jpg');" src="../graphics/applications-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="../resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#FFFFFF" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="../resources/void.gif" vspace="0" width="2"><B>API Docs for SAX and DOM</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</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>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<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__inherit__graph.png" border="0" usemap="#XMLEntityHandler__inherit__map" alt="Inheritance graph"></center>
<map name="XMLEntityHandler__inherit__map">
<area shape="rect" href="classAbstractDOMParser.html" title="This class implements the Document Object Model (DOM) interface." alt="" coords="5,84,157,111"><area shape="rect" href="classSAXParser.html" title="This class implements the SAX &#39;Parser&#39; interface and should be used by applications..." alt="" coords="181,84,272,111"><area shape="rect" href="classXercesDOMParser.html" title="This class implements the Document Object Model (DOM) interface." alt="" coords="12,161,151,188"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#330d6205e5650fe749857a3942729c7d">~XMLEntityHandler</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#f1b5c220b47c05c188cbd88363e9a41d">endInputSource</a> (const <a class="el" href="classInputSource.html">InputSource</a> &amp;inputSource)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#a64d97114fb1fa62502fba6d9ed5346c">expandSystemId</a> (const XMLCh *const systemId, XMLBuffer &amp;toFill)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#f096953b99a5de9f039df902c7f3543d">resetEntities</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#f25d919aec09c959b37751377660e750">resolveEntity</a> (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI=0)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method allows the entity handler to provide customized application specific entity resolution. <a href="#f25d919aec09c959b37751377660e750"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classInputSource.html">InputSource</a> *&nbsp;</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">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#a59b2da6316f575899b6a8a3fef7477c">startInputSource</a> (const <a class="el" href="classInputSource.html">InputSource</a> &amp;inputSource)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#2f769c62f00fd147a5eca72feda9f1f8">XMLEntityHandler</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</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 &#39;Parser&#39; 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 &amp; 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>&nbsp;)&nbsp;</td>
<td width="100%"><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>&nbsp;)&nbsp;</td>
<td width="100%"><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 &amp;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> &amp;&nbsp;</td>
<td class="paramname"> <em>inputSource</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><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>&nbsp;</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 &amp;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 XMLCh *const &nbsp;</td>
<td class="paramname"> <em>systemId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMLBuffer &amp;&nbsp;</td>
<td class="paramname"> <em>toFill</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><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>&nbsp;</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>&nbsp;</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>&nbsp;)&nbsp;</td>
<td width="100%"><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="f25d919aec09c959b37751377660e750"></a><!-- doxytag: member="XMLEntityHandler::resolveEntity" ref="f25d919aec09c959b37751377660e750" args="(const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI=0)=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">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>publicId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>systemId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>baseURI</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><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>
This method is defined by SAX 1.0 API.<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>publicId</em>&nbsp;</td><td>A const pointer to a Unicode string representing the public id of the entity just parsed. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>systemId</em>&nbsp;</td><td>A const pointer to a Unicode string representing the system id of the entity just parsed. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>baseURI</em>&nbsp;</td><td>A const pointer to a Unicode string representing the base URI of the entity just parsed, or <code>null</code> if there is no base URI. </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The value returned by the SAX 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#73343d831f3363962246fd6c0bf3a484">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#dbf57d218e9227b3b1c56dd4ffc2a89d">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> *&nbsp;</td>
<td class="paramname"> <em>resourceIdentifier</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><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>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
<td class="paramname"> <em>inputSource</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><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>&nbsp;</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>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1" alt=""></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright &copy; 1994-2004 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>