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

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.9.1"/>
  7. <title>Xerces-C++: XMLEntityHandler Class Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  15. <div id="titlearea">
  16. <table cellspacing="0" cellpadding="0">
  17. <tbody>
  18. <tr style="height: 56px;">
  19. <td style="padding-left: 0.5em;">
  20. <div id="projectname">Xerces-C++
  21. &#160;<span id="projectnumber">3.1.2</span>
  22. </div>
  23. </td>
  24. </tr>
  25. </tbody>
  26. </table>
  27. </div>
  28. <!-- end header part -->
  29. <!-- Generated by Doxygen 1.8.9.1 -->
  30. <div id="navrow1" class="tabs">
  31. <ul class="tablist">
  32. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  33. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  34. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  35. <li><a href="files.html"><span>Files</span></a></li>
  36. </ul>
  37. </div>
  38. <div id="navrow2" class="tabs2">
  39. <ul class="tablist">
  40. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  41. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  42. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  43. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  44. </ul>
  45. </div>
  46. </div><!-- top -->
  47. <div class="header">
  48. <div class="summary">
  49. <a href="classXMLEntityHandler-members.html">List of all members</a> </div>
  50. <div class="headertitle">
  51. <div class="title">XMLEntityHandler Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
  52. </div><!--header-->
  53. <div class="contents">
  54. <p>This abstract class is a callback mechanism for the scanner.
  55. <a href="classXMLEntityHandler.html#details">More...</a></p>
  56. <div class="dynheader">
  57. Inheritance diagram for XMLEntityHandler:</div>
  58. <div class="dyncontent">
  59. <div class="center">
  60. <img src="classXMLEntityHandler.png" usemap="#XMLEntityHandler_map" alt=""/>
  61. <map id="XMLEntityHandler_map" name="XMLEntityHandler_map">
  62. <area href="classAbstractDOMParser.html" title="This class implements the Document Object Model (DOM) interface. " alt="AbstractDOMParser" shape="rect" coords="0,56,127,80"/>
  63. <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"/>
  64. <area href="classXercesDOMParser.html" title="This class implements the Document Object Model (DOM) interface. " alt="XercesDOMParser" shape="rect" coords="0,112,127,136"/>
  65. </map>
  66. </div></div>
  67. <table class="memberdecls">
  68. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  69. Public Member Functions</h2></td></tr>
  70. <tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr>
  71. <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>
  72. <tr class="memdesc:a330d6205e5650fe749857a3942729c7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor. <a href="#a330d6205e5650fe749857a3942729c7d">More...</a><br /></td></tr>
  73. <tr class="separator:a330d6205e5650fe749857a3942729c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  74. <tr><td colspan="2"><div class="groupHeader">The pure virtual methods in this interface.</div></td></tr>
  75. <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>
  76. <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>
  77. <tr class="separator:af1b5c220b47c05c188cbd88363e9a41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <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>
  79. <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>
  80. <tr class="separator:aa64d97114fb1fa62502fba6d9ed5346c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <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>
  82. <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>
  83. <tr class="separator:af096953b99a5de9f039df902c7f3543d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <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>
  85. <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>
  86. <tr class="separator:a8994f00cc9ba227fe8afa273605356d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <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>
  88. <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>
  89. <tr class="separator:aa59b2da6316f575899b6a8a3fef7477c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. </table><table class="memberdecls">
  91. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  92. Protected Member Functions</h2></td></tr>
  93. <tr><td colspan="2"><div class="groupHeader">Constructor</div></td></tr>
  94. <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>
  95. <tr class="memdesc:a2f769c62f00fd147a5eca72feda9f1f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protected default constructor. <a href="#a2f769c62f00fd147a5eca72feda9f1f8">More...</a><br /></td></tr>
  96. <tr class="separator:a2f769c62f00fd147a5eca72feda9f1f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. </table>
  98. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  99. <div class="textblock"><p>This abstract class is a callback mechanism for the scanner. </p>
  100. <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>
  101. <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>
  102. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  103. <a class="anchor" id="a330d6205e5650fe749857a3942729c7d"></a>
  104. <div class="memitem">
  105. <div class="memproto">
  106. <table class="mlabels">
  107. <tr>
  108. <td class="mlabels-left">
  109. <table class="memname">
  110. <tr>
  111. <td class="memname">virtual XMLEntityHandler::~XMLEntityHandler </td>
  112. <td>(</td>
  113. <td class="paramname"></td><td>)</td>
  114. <td></td>
  115. </tr>
  116. </table>
  117. </td>
  118. <td class="mlabels-right">
  119. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  120. </tr>
  121. </table>
  122. </div><div class="memdoc">
  123. <p>Default destructor. </p>
  124. </div>
  125. </div>
  126. <a class="anchor" id="a2f769c62f00fd147a5eca72feda9f1f8"></a>
  127. <div class="memitem">
  128. <div class="memproto">
  129. <table class="mlabels">
  130. <tr>
  131. <td class="mlabels-left">
  132. <table class="memname">
  133. <tr>
  134. <td class="memname">XMLEntityHandler::XMLEntityHandler </td>
  135. <td>(</td>
  136. <td class="paramname"></td><td>)</td>
  137. <td></td>
  138. </tr>
  139. </table>
  140. </td>
  141. <td class="mlabels-right">
  142. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  143. </tr>
  144. </table>
  145. </div><div class="memdoc">
  146. <p>Protected default constructor. </p>
  147. </div>
  148. </div>
  149. <h2 class="groupheader">Member Function Documentation</h2>
  150. <a class="anchor" id="af1b5c220b47c05c188cbd88363e9a41d"></a>
  151. <div class="memitem">
  152. <div class="memproto">
  153. <table class="mlabels">
  154. <tr>
  155. <td class="mlabels-left">
  156. <table class="memname">
  157. <tr>
  158. <td class="memname">virtual void XMLEntityHandler::endInputSource </td>
  159. <td>(</td>
  160. <td class="paramtype">const <a class="el" href="classInputSource.html">InputSource</a> &amp;&#160;</td>
  161. <td class="paramname"><em>inputSource</em></td><td>)</td>
  162. <td></td>
  163. </tr>
  164. </table>
  165. </td>
  166. <td class="mlabels-right">
  167. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  168. </tr>
  169. </table>
  170. </div><div class="memdoc">
  171. <p>This method get called after the scanner has finished reading from the given input source while processing external entity references. </p>
  172. <dl class="params"><dt>Parameters</dt><dd>
  173. <table class="params">
  174. <tr><td class="paramname">inputSource</td><td>The input source for the entity </td></tr>
  175. </table>
  176. </dd>
  177. </dl>
  178. <p>Implemented in <a class="el" href="classSAXParser.html#ad075bfe6b2be4105f9dda5b1c3651e41">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#af0045b44b04f34436f4ccdf3ce6f2a0a">XercesDOMParser</a>.</p>
  179. </div>
  180. </div>
  181. <a class="anchor" id="aa64d97114fb1fa62502fba6d9ed5346c"></a>
  182. <div class="memitem">
  183. <div class="memproto">
  184. <table class="mlabels">
  185. <tr>
  186. <td class="mlabels-left">
  187. <table class="memname">
  188. <tr>
  189. <td class="memname">virtual bool XMLEntityHandler::expandSystemId </td>
  190. <td>(</td>
  191. <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const&#160;</td>
  192. <td class="paramname"><em>systemId</em>, </td>
  193. </tr>
  194. <tr>
  195. <td class="paramkey"></td>
  196. <td></td>
  197. <td class="paramtype">XMLBuffer &amp;&#160;</td>
  198. <td class="paramname"><em>toFill</em>&#160;</td>
  199. </tr>
  200. <tr>
  201. <td></td>
  202. <td>)</td>
  203. <td></td><td></td>
  204. </tr>
  205. </table>
  206. </td>
  207. <td class="mlabels-right">
  208. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  209. </tr>
  210. </table>
  211. </div><div class="memdoc">
  212. <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>
  213. <p>The scanner first calls this method before calling <code>resolveEntity</code>.</p>
  214. <dl class="params"><dt>Parameters</dt><dd>
  215. <table class="params">
  216. <tr><td class="paramname">systemId</td><td>The system id extracted by the scanner from the input source. </td></tr>
  217. <tr><td class="paramname">toFill</td><td>The buffer in which the fully expanded system id needs to be stored. </td></tr>
  218. </table>
  219. </dd>
  220. </dl>
  221. <p>Implemented in <a class="el" href="classSAXParser.html#aca8b719e6b3b1e61def130ae58d795c8">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a9cf136488f2f8f92ffa226bb2fc2d448">XercesDOMParser</a>.</p>
  222. </div>
  223. </div>
  224. <a class="anchor" id="af096953b99a5de9f039df902c7f3543d"></a>
  225. <div class="memitem">
  226. <div class="memproto">
  227. <table class="mlabels">
  228. <tr>
  229. <td class="mlabels-left">
  230. <table class="memname">
  231. <tr>
  232. <td class="memname">virtual void XMLEntityHandler::resetEntities </td>
  233. <td>(</td>
  234. <td class="paramname"></td><td>)</td>
  235. <td></td>
  236. </tr>
  237. </table>
  238. </td>
  239. <td class="mlabels-right">
  240. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  241. </tr>
  242. </table>
  243. </div><div class="memdoc">
  244. <p>This method allows the entity handler to reset itself, so that it can be used again. </p>
  245. <p>It is called prior to a new document parse operation. </p>
  246. <p>Implemented in <a class="el" href="classSAXParser.html#aab74b3fa5cc7a34beee6b7293a0c5819">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a8d5b35e277d05f1244a4285ae5c6710b">XercesDOMParser</a>.</p>
  247. </div>
  248. </div>
  249. <a class="anchor" id="a8994f00cc9ba227fe8afa273605356d9"></a>
  250. <div class="memitem">
  251. <div class="memproto">
  252. <table class="mlabels">
  253. <tr>
  254. <td class="mlabels-left">
  255. <table class="memname">
  256. <tr>
  257. <td class="memname">virtual <a class="el" href="classInputSource.html">InputSource</a>* XMLEntityHandler::resolveEntity </td>
  258. <td>(</td>
  259. <td class="paramtype"><a class="el" href="classXMLResourceIdentifier.html">XMLResourceIdentifier</a> *&#160;</td>
  260. <td class="paramname"><em>resourceIdentifier</em></td><td>)</td>
  261. <td></td>
  262. </tr>
  263. </table>
  264. </td>
  265. <td class="mlabels-right">
  266. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  267. </tr>
  268. </table>
  269. </div><div class="memdoc">
  270. <p>This method allows the entity handler to provide customized application specific entity resolution. </p>
  271. <p><em>Only one resolveEntity method will be used. If both setEntityResolver and setXMLEntityResolver are called, then the last one is used.</em></p>
  272. <dl class="params"><dt>Parameters</dt><dd>
  273. <table class="params">
  274. <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>
  275. </table>
  276. </dd>
  277. </dl>
  278. <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>
  279. <p>Implemented in <a class="el" href="classSAXParser.html#aa4ed9dece6679d979f7b7458b279d0eb">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a1195ddba213852b34683abbf6f56668a">XercesDOMParser</a>.</p>
  280. </div>
  281. </div>
  282. <a class="anchor" id="aa59b2da6316f575899b6a8a3fef7477c"></a>
  283. <div class="memitem">
  284. <div class="memproto">
  285. <table class="mlabels">
  286. <tr>
  287. <td class="mlabels-left">
  288. <table class="memname">
  289. <tr>
  290. <td class="memname">virtual void XMLEntityHandler::startInputSource </td>
  291. <td>(</td>
  292. <td class="paramtype">const <a class="el" href="classInputSource.html">InputSource</a> &amp;&#160;</td>
  293. <td class="paramname"><em>inputSource</em></td><td>)</td>
  294. <td></td>
  295. </tr>
  296. </table>
  297. </td>
  298. <td class="mlabels-right">
  299. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  300. </tr>
  301. </table>
  302. </div><div class="memdoc">
  303. <p>This method will be called before the scanner starts reading from an input source while processing external entity references. </p>
  304. <dl class="params"><dt>Parameters</dt><dd>
  305. <table class="params">
  306. <tr><td class="paramname">inputSource</td><td>The external input source. </td></tr>
  307. </table>
  308. </dd>
  309. </dl>
  310. <p>Implemented in <a class="el" href="classSAXParser.html#a2a942fc0cb2f4c0d06f5ed86a1dacb0b">SAXParser</a>, and <a class="el" href="classXercesDOMParser.html#a0123825ec7c9eaebe452578dcf751821">XercesDOMParser</a>.</p>
  311. </div>
  312. </div>
  313. <hr/>The documentation for this class was generated from the following file:<ul>
  314. <li><a class="el" href="XMLEntityHandler_8hpp_source.html">XMLEntityHandler.hpp</a></li>
  315. </ul>
  316. </div><!-- contents -->
  317. <!-- start footer part -->
  318. <hr class="footer"/><address class="footer"><small>
  319. Generated on Wed Mar 18 2015 10:43:39 for Xerces-C++ by &#160;<a href="http://www.doxygen.org/index.html">
  320. <img class="footer" src="doxygen.png" alt="doxygen"/>
  321. </a> 1.8.9.1
  322. </small></address>
  323. </body>
  324. </html>