You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

344 lines
18 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>Xerces-C++: XMLEntityHandler Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Xerces-C++
&#160;<span id="projectnumber">3.1.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="classXMLEntityHandler-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">XMLEntityHandler Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>This abstract class is a callback mechanism for the scanner.
<a href="classXMLEntityHandler.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for XMLEntityHandler:</div>
<div class="dyncontent">
<div class="center">
<img src="classXMLEntityHandler.png" usemap="#XMLEntityHandler_map" alt=""/>
<map id="XMLEntityHandler_map" name="XMLEntityHandler_map">
<area href="classAbstractDOMParser.html" title="This class implements the Document Object Model (DOM) interface. " alt="AbstractDOMParser" shape="rect" coords="0,56,127,80"/>
<area href="classSAXParser.html" title="This class implements the SAX &#39;Parser&#39; interface and should be used by applications wishing to parse ..." alt="SAXParser" shape="rect" coords="137,56,264,80"/>
<area href="classXercesDOMParser.html" title="This class implements the Document Object Model (DOM) interface. " alt="XercesDOMParser" shape="rect" coords="0,112,127,136"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr>
<tr class="memitem:a330d6205e5650fe749857a3942729c7d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#a330d6205e5650fe749857a3942729c7d">~XMLEntityHandler</a> ()</td></tr>
<tr class="memdesc:a330d6205e5650fe749857a3942729c7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <a href="#a330d6205e5650fe749857a3942729c7d">More...</a><br /></td></tr>
<tr class="separator:a330d6205e5650fe749857a3942729c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">The pure virtual methods in this interface.</div></td></tr>
<tr class="memitem:af1b5c220b47c05c188cbd88363e9a41d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#af1b5c220b47c05c188cbd88363e9a41d">endInputSource</a> (const <a class="el" href="classInputSource.html">InputSource</a> &amp;inputSource)=0</td></tr>
<tr class="memdesc:af1b5c220b47c05c188cbd88363e9a41d"><td class="mdescLeft">&#160;</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="#af1b5c220b47c05c188cbd88363e9a41d">More...</a><br /></td></tr>
<tr class="separator:af1b5c220b47c05c188cbd88363e9a41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa64d97114fb1fa62502fba6d9ed5346c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#aa64d97114fb1fa62502fba6d9ed5346c">expandSystemId</a> (const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const systemId, XMLBuffer &amp;toFill)=0</td></tr>
<tr class="memdesc:aa64d97114fb1fa62502fba6d9ed5346c"><td class="mdescLeft">&#160;</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="#aa64d97114fb1fa62502fba6d9ed5346c">More...</a><br /></td></tr>
<tr class="separator:aa64d97114fb1fa62502fba6d9ed5346c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af096953b99a5de9f039df902c7f3543d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#af096953b99a5de9f039df902c7f3543d">resetEntities</a> ()=0</td></tr>
<tr class="memdesc:af096953b99a5de9f039df902c7f3543d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method allows the entity handler to reset itself, so that it can be used again. <a href="#af096953b99a5de9f039df902c7f3543d">More...</a><br /></td></tr>
<tr class="separator:af096953b99a5de9f039df902c7f3543d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8994f00cc9ba227fe8afa273605356d9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classInputSource.html">InputSource</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#a8994f00cc9ba227fe8afa273605356d9">resolveEntity</a> (<a class="el" href="classXMLResourceIdentifier.html">XMLResourceIdentifier</a> *resourceIdentifier)=0</td></tr>
<tr class="memdesc:a8994f00cc9ba227fe8afa273605356d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method allows the entity handler to provide customized application specific entity resolution. <a href="#a8994f00cc9ba227fe8afa273605356d9">More...</a><br /></td></tr>
<tr class="separator:a8994f00cc9ba227fe8afa273605356d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa59b2da6316f575899b6a8a3fef7477c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#aa59b2da6316f575899b6a8a3fef7477c">startInputSource</a> (const <a class="el" href="classInputSource.html">InputSource</a> &amp;inputSource)=0</td></tr>
<tr class="memdesc:aa59b2da6316f575899b6a8a3fef7477c"><td class="mdescLeft">&#160;</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="#aa59b2da6316f575899b6a8a3fef7477c">More...</a><br /></td></tr>
<tr class="separator:aa59b2da6316f575899b6a8a3fef7477c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructor</div></td></tr>
<tr class="memitem:a2f769c62f00fd147a5eca72feda9f1f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMLEntityHandler.html#a2f769c62f00fd147a5eca72feda9f1f8">XMLEntityHandler</a> ()</td></tr>
<tr class="memdesc:a2f769c62f00fd147a5eca72feda9f1f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protected default constructor. <a href="#a2f769c62f00fd147a5eca72feda9f1f8">More...</a><br /></td></tr>
<tr class="separator:a2f769c62f00fd147a5eca72feda9f1f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This abstract class is a callback mechanism for the scanner. </p>
<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>
<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 wishing to parse ...">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>. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a330d6205e5650fe749857a3942729c7d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual XMLEntityHandler::~XMLEntityHandler </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default destructor. </p>
</div>
</div>
<a class="anchor" id="a2f769c62f00fd147a5eca72feda9f1f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">XMLEntityHandler::XMLEntityHandler </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Protected default constructor. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af1b5c220b47c05c188cbd88363e9a41d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<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;&#160;</td>
<td class="paramname"><em>inputSource</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">inputSource</td><td>The input source for the entity </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classSAXParser.html#ad075bfe6b2be4105f9dda5b1c3651e41">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#af0045b44b04f34436f4ccdf3ce6f2a0a">XercesDOMParser</a>.</p>
</div>
</div>
<a class="anchor" id="aa64d97114fb1fa62502fba6d9ed5346c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<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_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const&#160;</td>
<td class="paramname"><em>systemId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">XMLBuffer &amp;&#160;</td>
<td class="paramname"><em>toFill</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </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>
<p>The scanner first calls this method before calling <code>resolveEntity</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">systemId</td><td>The system id extracted by the scanner from the input source. </td></tr>
<tr><td class="paramname">toFill</td><td>The buffer in which the fully expanded system id needs to be stored. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classSAXParser.html#aca8b719e6b3b1e61def130ae58d795c8">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a9cf136488f2f8f92ffa226bb2fc2d448">XercesDOMParser</a>.</p>
</div>
</div>
<a class="anchor" id="af096953b99a5de9f039df902c7f3543d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void XMLEntityHandler::resetEntities </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </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>
<p>It is called prior to a new document parse operation. </p>
<p>Implemented in <a class="el" href="classSAXParser.html#aab74b3fa5cc7a34beee6b7293a0c5819">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a8d5b35e277d05f1244a4285ae5c6710b">XercesDOMParser</a>.</p>
</div>
</div>
<a class="anchor" id="a8994f00cc9ba227fe8afa273605356d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<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> *&#160;</td>
<td class="paramname"><em>resourceIdentifier</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method allows the entity handler to provide customized application specific entity resolution. </p>
<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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">resourceIdentifier</td><td>An object containing the type of resource to be resolved and the associated data members corresponding to this type. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</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#aa4ed9dece6679d979f7b7458b279d0eb">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a1195ddba213852b34683abbf6f56668a">XercesDOMParser</a>.</p>
</div>
</div>
<a class="anchor" id="aa59b2da6316f575899b6a8a3fef7477c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<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;&#160;</td>
<td class="paramname"><em>inputSource</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">inputSource</td><td>The external input source. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classSAXParser.html#a2a942fc0cb2f4c0d06f5ed86a1dacb0b">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a0123825ec7c9eaebe452578dcf751821">XercesDOMParser</a>.</p>
</div>
</div>
<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></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Mar 18 2015 10:43:39 for Xerces-C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>