Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > da8fd34ecc606270a67eb8510b864c4e > files > 154

libxml++2.6-devel-2.26.1-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>libxml++: xmlpp::SaxParser Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</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>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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>
  <div class="navpath"><a class="el" href="namespacexmlpp.html">xmlpp</a>::<a class="el" href="classxmlpp_1_1SaxParser.html">SaxParser</a>
  </div>
</div>
<div class="contents">
<h1>xmlpp::SaxParser Class Reference</h1><!-- doxytag: class="xmlpp::SaxParser" --><!-- doxytag: inherits="xmlpp::Parser" -->SAX XML parser.  
<a href="#_details">More...</a>
<p>
<div class="dynheader">
Inheritance diagram for xmlpp::SaxParser:</div>
<div class="dynsection">
<p><center><img src="classxmlpp_1_1SaxParser__inherit__graph.jpg" border="0" usemap="#xmlpp_1_1SaxParser__inherit__map" alt="Inheritance graph"></center>
<map name="xmlpp_1_1SaxParser__inherit__map">
<area shape="rect" href="classxmlpp_1_1Parser.html" title="XML parser." alt="" coords="25,80,127,107"><area shape="rect" href="classxmlpp_1_1NonCopyable.html" title="Herited by classes which cannot be copied." alt="" coords="5,5,147,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classxmlpp_1_1SaxParser-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxmlpp_1_1SaxParser_1_1Attribute.html">Attribute</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple structure used in the start_element callback, in which the attributes are a list of name/value pairs.  <a href="structxmlpp_1_1SaxParser_1_1Attribute.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxmlpp_1_1SaxParser_1_1AttributeHasName.html">AttributeHasName</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This functor is a helper to find an attribute by name in an AttributeList using the standard algorithm <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespacestd.html#a237">std::find_if</a>.  <a href="structxmlpp_1_1SaxParser_1_1AttributeHasName.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1deque.html">std::deque</a>&lt; <a class="el" href="structxmlpp_1_1SaxParser_1_1Attribute.html">Attribute</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#1cb4e32dd3adf2460f2836bddb59633c">AttributeList</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#66bfaafc79c00197010f8d22b2a39df8">SaxParser</a> (<a class="el" href="classbool.html">bool</a> use_get_entity=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#3f69d5fe3472240225dd46f8c70a4e79">~SaxParser</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#c2b0cf0069a73fa92c80f6d455923698">parse_file</a> (const Glib::ustring &amp;filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an XML document from a file.  <a href="#c2b0cf0069a73fa92c80f6d455923698"></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="classxmlpp_1_1SaxParser.html#b9367c59f02e0db5a2b17cd48ddf74f9">parse_memory</a> (const Glib::ustring &amp;contents)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an XML document from a string.  <a href="#b9367c59f02e0db5a2b17cd48ddf74f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#ff9643a2764f6d8caee0307abbfcca25">parse_memory_raw</a> (const unsigned char *contents, <a class="el" href="classxmlpp_1_1Parser.html#8e7c797006bb5398629cf98f4141e3e6">size_type</a> bytes_count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an XML document from raw memory.  <a href="#ff9643a2764f6d8caee0307abbfcca25"></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="classxmlpp_1_1SaxParser.html#aa731e56f99aa7f8313a1f096389f723">parse_stream</a> (<a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__istream.html">std::istream</a> &amp;in)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an XML document from a stream.  <a href="#aa731e56f99aa7f8313a1f096389f723"></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="classxmlpp_1_1SaxParser.html#24b4440b0539a0015890182b35396b5d">parse_chunk</a> (const Glib::ustring &amp;chunk)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse a chunk of data.  <a href="#24b4440b0539a0015890182b35396b5d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#501a19205773ac1c843d6007b189860e">parse_chunk_raw</a> (const unsigned char *contents, <a class="el" href="classxmlpp_1_1Parser.html#8e7c797006bb5398629cf98f4141e3e6">size_type</a> bytes_count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse a chunk of data.  <a href="#501a19205773ac1c843d6007b189860e"></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="classxmlpp_1_1SaxParser.html#c540859149b064cfce87931ba736f3c5">finish_chunk_parsing</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finish a chunk-wise parse.  <a href="#c540859149b064cfce87931ba736f3c5"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#0a33932c84e245284414003f668b829f">on_start_document</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#a7b3090025892829af91f8c51a06ef7b">on_end_document</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#1496022dd6b58d9af6a4a7a703830a84">on_start_element</a> (const Glib::ustring &amp;name, const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1deque.html">AttributeList</a> &amp;attributes)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#5c1c00b47c020e3cd8d623361c6909fa">on_end_element</a> (const Glib::ustring &amp;name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#359b48ea1c15cb39837f680a1f2fb2c2">on_characters</a> (const Glib::ustring &amp;characters)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#cccf558fc47549bdad076201193739f3">on_comment</a> (const Glib::ustring &amp;text)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#b951160501bf3e78901691a79e3d11e8">on_warning</a> (const Glib::ustring &amp;text)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#38c3c5f9bad26030acee20d7ddf4936a">on_error</a> (const Glib::ustring &amp;text)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#d951cc2b1fe314805c5d735a0d7f467c">on_fatal_error</a> (const Glib::ustring &amp;text)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#f6671ab7dbda78730a65dcbb58aa0ec1">on_cdata_block</a> (const Glib::ustring &amp;text)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#4b453817ac37ea307c2ba023cc938794">on_internal_subset</a> (const Glib::ustring &amp;name, const Glib::ustring &amp;publicId, const Glib::ustring &amp;systemId)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override this to receive information about the document's DTD and any entity declarations.  <a href="#4b453817ac37ea307c2ba023cc938794"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual _xmlEntity *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#eb20c4424f325655ebd787c2b2268137">on_get_entity</a> (const Glib::ustring &amp;name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override this method to resolve entities references in your derived parser, instead of using the default entity resolution, or to be informed when entity references are encountered.  <a href="#eb20c4424f325655ebd787c2b2268137"></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="classxmlpp_1_1SaxParser.html#b0985199cbdbd9a7ab31b024acf3c2c8">on_entity_declaration</a> (const Glib::ustring &amp;name, <a class="el" href="namespacexmlpp.html#0fa47f0fb103cf9ea460a2fef3f5be49">XmlEntityType</a> type, const Glib::ustring &amp;publicId, const Glib::ustring &amp;systemId, const Glib::ustring &amp;content)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override this to receive information about every entity declaration.  <a href="#b0985199cbdbd9a7ab31b024acf3c2c8"></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="classxmlpp_1_1SaxParser.html#839554028d8bad81774040eb67d23103">release_underlying</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1SaxParser.html#f6957a9354f608a7784028e9e94aba14">SaxParserCallback</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
SAX XML parser. 
<p>
Derive your own class and override the on_*() methods. <hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="1cb4e32dd3adf2460f2836bddb59633c"></a><!-- doxytag: member="xmlpp::SaxParser::AttributeList" ref="1cb4e32dd3adf2460f2836bddb59633c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1deque.html">std::deque</a>&lt; <a class="el" href="structxmlpp_1_1SaxParser_1_1Attribute.html">Attribute</a> &gt; <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1deque.html">xmlpp::SaxParser::AttributeList</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="66bfaafc79c00197010f8d22b2a39df8"></a><!-- doxytag: member="xmlpp::SaxParser::SaxParser" ref="66bfaafc79c00197010f8d22b2a39df8" args="(bool use_get_entity=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">xmlpp::SaxParser::SaxParser           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classbool.html">bool</a>&nbsp;</td>
          <td class="paramname"> <em>use_get_entity</em> = <code>false</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<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>use_get_entity</em>&nbsp;</td><td>Set this to true if you will override <a class="el" href="classxmlpp_1_1SaxParser.html#eb20c4424f325655ebd787c2b2268137" title="Override this method to resolve entities references in your derived parser, instead...">on_get_entity()</a>. In theory, if you do not override <a class="el" href="classxmlpp_1_1SaxParser.html#eb20c4424f325655ebd787c2b2268137" title="Override this method to resolve entities references in your derived parser, instead...">on_get_entity()</a> the parser should behave exactly the same whether you use true or false here. But the default implementation of <a class="el" href="classxmlpp_1_1SaxParser.html#eb20c4424f325655ebd787c2b2268137" title="Override this method to resolve entities references in your derived parser, instead...">on_get_entity()</a>, needed if you override <a class="el" href="classxmlpp_1_1SaxParser.html#eb20c4424f325655ebd787c2b2268137" title="Override this method to resolve entities references in your derived parser, instead...">on_get_entity()</a> might not have the same behaviour as the underlying default behaviour of libxml, so the libxml implementation is the default here. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="3f69d5fe3472240225dd46f8c70a4e79"></a><!-- doxytag: member="xmlpp::SaxParser::~SaxParser" ref="3f69d5fe3472240225dd46f8c70a4e79" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual xmlpp::SaxParser::~SaxParser           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="c540859149b064cfce87931ba736f3c5"></a><!-- doxytag: member="xmlpp::SaxParser::finish_chunk_parsing" ref="c540859149b064cfce87931ba736f3c5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::finish_chunk_parsing           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finish a chunk-wise parse. 
<p>
Call this after the last call to <a class="el" href="classxmlpp_1_1SaxParser.html#24b4440b0539a0015890182b35396b5d" title="Parse a chunk of data.">parse_chunk()</a>. Don't use this function with the other parsing methods. 
</div>
</div><p>
<a class="anchor" name="f6671ab7dbda78730a65dcbb58aa0ec1"></a><!-- doxytag: member="xmlpp::SaxParser::on_cdata_block" ref="f6671ab7dbda78730a65dcbb58aa0ec1" args="(const Glib::ustring &amp;text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_cdata_block           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="359b48ea1c15cb39837f680a1f2fb2c2"></a><!-- doxytag: member="xmlpp::SaxParser::on_characters" ref="359b48ea1c15cb39837f680a1f2fb2c2" args="(const Glib::ustring &amp;characters)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_characters           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>characters</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="cccf558fc47549bdad076201193739f3"></a><!-- doxytag: member="xmlpp::SaxParser::on_comment" ref="cccf558fc47549bdad076201193739f3" args="(const Glib::ustring &amp;text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_comment           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="a7b3090025892829af91f8c51a06ef7b"></a><!-- doxytag: member="xmlpp::SaxParser::on_end_document" ref="a7b3090025892829af91f8c51a06ef7b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_end_document           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="5c1c00b47c020e3cd8d623361c6909fa"></a><!-- doxytag: member="xmlpp::SaxParser::on_end_element" ref="5c1c00b47c020e3cd8d623361c6909fa" args="(const Glib::ustring &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_end_element           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b0985199cbdbd9a7ab31b024acf3c2c8"></a><!-- doxytag: member="xmlpp::SaxParser::on_entity_declaration" ref="b0985199cbdbd9a7ab31b024acf3c2c8" args="(const Glib::ustring &amp;name, XmlEntityType type, const Glib::ustring &amp;publicId, const Glib::ustring &amp;systemId, const Glib::ustring &amp;content)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_entity_declaration           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacexmlpp.html#0fa47f0fb103cf9ea460a2fef3f5be49">XmlEntityType</a>&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>publicId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>systemId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>content</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override this to receive information about every entity declaration. 
<p>
If you override this function, and you want normal entity substitution to work, then you must call the base class in your override.<p>
This would be useful when overriding <a class="el" href="classxmlpp_1_1SaxParser.html#eb20c4424f325655ebd787c2b2268137" title="Override this method to resolve entities references in your derived parser, instead...">on_get_entity()</a>. 
</div>
</div><p>
<a class="anchor" name="38c3c5f9bad26030acee20d7ddf4936a"></a><!-- doxytag: member="xmlpp::SaxParser::on_error" ref="38c3c5f9bad26030acee20d7ddf4936a" args="(const Glib::ustring &amp;text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_error           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d951cc2b1fe314805c5d735a0d7f467c"></a><!-- doxytag: member="xmlpp::SaxParser::on_fatal_error" ref="d951cc2b1fe314805c5d735a0d7f467c" args="(const Glib::ustring &amp;text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_fatal_error           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="eb20c4424f325655ebd787c2b2268137"></a><!-- doxytag: member="xmlpp::SaxParser::on_get_entity" ref="eb20c4424f325655ebd787c2b2268137" args="(const Glib::ustring &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual _xmlEntity* xmlpp::SaxParser::on_get_entity           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override this method to resolve entities references in your derived parser, instead of using the default entity resolution, or to be informed when entity references are encountered. 
<p>
If you override this function then you must also specify true for use_get_entity constructor parameter. You will probably need to override <a class="el" href="classxmlpp_1_1SaxParser.html#b0985199cbdbd9a7ab31b024acf3c2c8" title="Override this to receive information about every entity declaration.">on_entity_declaration()</a> as well so that you can use that information when resolving the entity reference.<p>
This is known to be difficult, because it requires both an understanding of the W3C specifications and knowledge of the libxml internals. Entity resolution is easier with the <a class="el" href="classxmlpp_1_1DomParser.html" title="XML DOM parser.">DomParser</a>.<p>
Call this method in this base class for default processing. For instance, if you just want to know about the existence of an entity reference, without affecting the normal substitution, just override and call the base class.<p>
Unlike the <a class="el" href="classxmlpp_1_1DomParser.html" title="XML DOM parser.">DomParser</a>, the <a class="el" href="classxmlpp_1_1SaxParser.html" title="SAX XML parser.">SaxParser</a> will also tell you about entity references for the 5 predefined entities.<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>name</em>&nbsp;</td><td>The entity reference name. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The resolved xmlEntity for the entity reference. You must include libxml/parser.h in order to use this C struct. This instance will not be freed by the caller. </dd></dl>

</div>
</div><p>
<a class="anchor" name="4b453817ac37ea307c2ba023cc938794"></a><!-- doxytag: member="xmlpp::SaxParser::on_internal_subset" ref="4b453817ac37ea307c2ba023cc938794" args="(const Glib::ustring &amp;name, const Glib::ustring &amp;publicId, const Glib::ustring &amp;systemId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_internal_subset           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>publicId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>systemId</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override this to receive information about the document's DTD and any entity declarations. 
<p>

</div>
</div><p>
<a class="anchor" name="0a33932c84e245284414003f668b829f"></a><!-- doxytag: member="xmlpp::SaxParser::on_start_document" ref="0a33932c84e245284414003f668b829f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_start_document           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="1496022dd6b58d9af6a4a7a703830a84"></a><!-- doxytag: member="xmlpp::SaxParser::on_start_element" ref="1496022dd6b58d9af6a4a7a703830a84" args="(const Glib::ustring &amp;name, const AttributeList &amp;attributes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_start_element           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1deque.html">AttributeList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>attributes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b951160501bf3e78901691a79e3d11e8"></a><!-- doxytag: member="xmlpp::SaxParser::on_warning" ref="b951160501bf3e78901691a79e3d11e8" args="(const Glib::ustring &amp;text)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::on_warning           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="24b4440b0539a0015890182b35396b5d"></a><!-- doxytag: member="xmlpp::SaxParser::parse_chunk" ref="24b4440b0539a0015890182b35396b5d" args="(const Glib::ustring &amp;chunk)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::parse_chunk           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>chunk</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse a chunk of data. 
<p>
This lets you pass a document in small chunks, e.g. from a network connection. The on_* virtual functions are called each time the chunks provide enough information to advance the parser.<p>
The first call to parse_chunk will setup the parser. When the last chunk has been parsed, call <a class="el" href="classxmlpp_1_1SaxParser.html#c540859149b064cfce87931ba736f3c5" title="Finish a chunk-wise parse.">finish_chunk_parsing()</a> to finish the parse.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions.">exception</a></em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>chunk</em>&nbsp;</td><td>The next piece of the XML document. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="501a19205773ac1c843d6007b189860e"></a><!-- doxytag: member="xmlpp::SaxParser::parse_chunk_raw" ref="501a19205773ac1c843d6007b189860e" args="(const unsigned char *contents, size_type bytes_count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void xmlpp::SaxParser::parse_chunk_raw           </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>contents</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classxmlpp_1_1Parser.html#8e7c797006bb5398629cf98f4141e3e6">size_type</a>&nbsp;</td>
          <td class="paramname"> <em>bytes_count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse a chunk of data. 
<p>
<dl compact><dt><b><a class="el" href="newin2p24s.html#_newin2p24s000005">Since libxml++ 2.24:</a></b></dt><dd></dd></dl>
This lets you pass a document in small chunks, e.g. from a network connection. The on_* virtual functions are called each time the chunks provide enough information to advance the parser.<p>
The first call to parse_chunk will setup the parser. When the last chunk has been parsed, call <a class="el" href="classxmlpp_1_1SaxParser.html#c540859149b064cfce87931ba736f3c5" title="Finish a chunk-wise parse.">finish_chunk_parsing()</a> to finish the parse.<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions.">exception</a></em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>contents</em>&nbsp;</td><td>The next piece of the XML document as an array of bytes. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes_count</em>&nbsp;</td><td>The number of bytes in the <em>contents</em> array. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c2b0cf0069a73fa92c80f6d455923698"></a><!-- doxytag: member="xmlpp::SaxParser::parse_file" ref="c2b0cf0069a73fa92c80f6d455923698" args="(const Glib::ustring &amp;filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::parse_file           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse an XML document from a file. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions.">exception</a></em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The path to the file. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classxmlpp_1_1Parser.html#d0855eff9a35a9160800ad58ad19fd7e">xmlpp::Parser</a>.</p>

</div>
</div><p>
<a class="anchor" name="b9367c59f02e0db5a2b17cd48ddf74f9"></a><!-- doxytag: member="xmlpp::SaxParser::parse_memory" ref="b9367c59f02e0db5a2b17cd48ddf74f9" args="(const Glib::ustring &amp;contents)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::parse_memory           </td>
          <td>(</td>
          <td class="paramtype">const Glib::ustring &amp;&nbsp;</td>
          <td class="paramname"> <em>contents</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse an XML document from a string. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions.">exception</a></em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>contents</em>&nbsp;</td><td>The XML document as a string. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classxmlpp_1_1Parser.html#bbbf646035570f1aa5366558dfc2ae01">xmlpp::Parser</a>.</p>

</div>
</div><p>
<a class="anchor" name="ff9643a2764f6d8caee0307abbfcca25"></a><!-- doxytag: member="xmlpp::SaxParser::parse_memory_raw" ref="ff9643a2764f6d8caee0307abbfcca25" args="(const unsigned char *contents, size_type bytes_count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void xmlpp::SaxParser::parse_memory_raw           </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>contents</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classxmlpp_1_1Parser.html#8e7c797006bb5398629cf98f4141e3e6">size_type</a>&nbsp;</td>
          <td class="paramname"> <em>bytes_count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse an XML document from raw memory. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions.">exception</a></em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>contents</em>&nbsp;</td><td>The XML document as an array of bytes. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes_count</em>&nbsp;</td><td>The number of bytes in the <em>contents</em> array. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="aa731e56f99aa7f8313a1f096389f723"></a><!-- doxytag: member="xmlpp::SaxParser::parse_stream" ref="aa731e56f99aa7f8313a1f096389f723" args="(std::istream &amp;in)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::parse_stream           </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="libstdc++.tag.xml:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/classstd_1_1basic__istream.html">std::istream</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse an XML document from a stream. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions.">exception</a></em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>The stream. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classxmlpp_1_1Parser.html#d7134b1c68308351785acb0302aa54db">xmlpp::Parser</a>.</p>

</div>
</div><p>
<a class="anchor" name="839554028d8bad81774040eb67d23103"></a><!-- doxytag: member="xmlpp::SaxParser::release_underlying" ref="839554028d8bad81774040eb67d23103" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void xmlpp::SaxParser::release_underlying           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="classxmlpp_1_1Parser.html#346ebfb1219e1c0d3acbd017a07706e6">xmlpp::Parser</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="f6957a9354f608a7784028e9e94aba14"></a><!-- doxytag: member="xmlpp::SaxParser::SaxParserCallback" ref="f6957a9354f608a7784028e9e94aba14" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend struct SaxParserCallback<code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="saxparser_8h.html">saxparser.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 27 17:07:26 2009 for libxml++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>