blob: 184bd522374a60e08e33a935440fbd19220fb62a [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: Parser 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>Parser Class Reference</h1><!-- doxytag: class="Parser" -->Basic interface for SAX (Simple API for XML) parsers.
<a href="#_details">More...</a>
<p>
<div class="dynheader">
Inheritance diagram for Parser:</div>
<div class="dynsection">
<p><center><img src="classParser__inherit__graph.png" border="0" usemap="#Parser__inherit__map" alt="Inheritance graph"></center>
<map name="Parser__inherit__map">
<area shape="rect" href="classSAXParser.html" title="This class implements the SAX &#39;Parser&#39; interface and should be used by applications..." alt="" coords="5,84,96,111"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="classParser-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">Constructors and Destructor</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#12234f6cd36b61af4b50c94a179422c1">Parser</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default constructor. <a href="#12234f6cd36b61af4b50c94a179422c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParser.html#d576b92b9cc324f6f41b0269a9a1a546">~Parser</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The destructor. <a href="#d576b92b9cc324f6f41b0269a9a1a546"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">The parser interfaces</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="classParser.html#62435895e0615380f3017090ac232594">setEntityResolver</a> (<a class="el" href="classEntityResolver.html">EntityResolver</a> *const resolver)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allow an application to register a custom entity resolver. <a href="#62435895e0615380f3017090ac232594"></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="classParser.html#d97184f9e4397e360903e2fdb72d23bf">setDTDHandler</a> (<a class="el" href="classDTDHandler.html">DTDHandler</a> *const handler)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allow an application to register a DTD event handler. <a href="#d97184f9e4397e360903e2fdb72d23bf"></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="classParser.html#2038c09146fff3b0ec66143630736bdb">setDocumentHandler</a> (<a class="el" href="classDocumentHandler.html">DocumentHandler</a> *const handler)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allow an application to register a document event handler. <a href="#2038c09146fff3b0ec66143630736bdb"></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="classParser.html#acd0f62732e363faeb4e5ee5b0a6e12a">setErrorHandler</a> (<a class="el" href="classErrorHandler.html">ErrorHandler</a> *const handler)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allow an application to register an error event handler. <a href="#acd0f62732e363faeb4e5ee5b0a6e12a"></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="classParser.html#624fc687a49b917c11ef632367568b60">parse</a> (const <a class="el" href="classInputSource.html">InputSource</a> &amp;source)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an XML document. <a href="#624fc687a49b917c11ef632367568b60"></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="classParser.html#37d4db3b3e88307b0aad780a685d76fd">parse</a> (const XMLCh *const systemId)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an XML document from a system identifier (URI). <a href="#37d4db3b3e88307b0aad780a685d76fd"></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="classParser.html#802e068db2ca0b11d8f6365d8a3267c6">parse</a> (const char *const systemId)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse an XML document from a system identifier (URI). <a href="#802e068db2ca0b11d8f6365d8a3267c6"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Basic interface for SAX (Simple API for XML) parsers.
<p>
All SAX parsers must implement this basic interface: it allows applications to register handlers for different types of events and to initiate a parse from a URI, or a character stream.<p>
All SAX parsers must also implement a zero-argument constructor (though other constructors are also allowed).<p>
SAX parsers are reusable but not re-entrant: the application may reuse a parser object (possibly with a different input source) once the first parse has completed successfully, but it may not invoke the <a class="el" href="classParser.html#624fc687a49b917c11ef632367568b60" title="Parse an XML document.">parse()</a> methods recursively within a parse.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classEntityResolver.html#14e534eb2170015056ccd71458e1058c" title="Default Constructor.">EntityResolver::EntityResolver</a> <p>
<a class="el" href="classDTDHandler.html#1d17e15d976164f6d55f542759eea182" title="Default Constructor.">DTDHandler::DTDHandler</a> <p>
<a class="el" href="classDocumentHandler.html#c24bb98e06d7db2b0823816eec2f6c19" title="Default constructor.">DocumentHandler::DocumentHandler</a> <p>
<a class="el" href="classErrorHandler.html#7e5f379bd231442b898cef94556b2107" title="Default constructor.">ErrorHandler::ErrorHandler</a> <p>
<a class="el" href="classHandlerBase.html#a9bbcdb7958bace9296940ab702ef367">HandlerBase::HandlerBase</a> <p>
<a class="el" href="classInputSource.html#601a7aa7124e2d8e9664eda9aea6b622" title="Default constructor.">InputSource::InputSource</a> </dd></dl>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="12234f6cd36b61af4b50c94a179422c1"></a><!-- doxytag: member="Parser::Parser" ref="12234f6cd36b61af4b50c94a179422c1" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Parser::Parser </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The default constructor.
<p>
</div>
</div><p>
<a class="anchor" name="d576b92b9cc324f6f41b0269a9a1a546"></a><!-- doxytag: member="Parser::~Parser" ref="d576b92b9cc324f6f41b0269a9a1a546" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual Parser::~Parser </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>
The destructor.
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="62435895e0615380f3017090ac232594"></a><!-- doxytag: member="Parser::setEntityResolver" ref="62435895e0615380f3017090ac232594" args="(EntityResolver *const resolver)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void Parser::setEntityResolver </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classEntityResolver.html">EntityResolver</a> *const &nbsp;</td>
<td class="paramname"> <em>resolver</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Allow an application to register a custom entity resolver.
<p>
If the application does not register an entity resolver, the SAX parser will resolve system identifiers and open connections to entities itself (this is the default behaviour implemented in <a class="el" href="classHandlerBase.html" title="Default base class for handlers.">HandlerBase</a>).<p>
Applications may register a new or different entity resolver in the middle of a parse, and the SAX parser must begin using the new resolver immediately.<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>resolver</em>&nbsp;</td><td>The object for resolving entities. </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classEntityResolver.html#14e534eb2170015056ccd71458e1058c" title="Default Constructor.">EntityResolver::EntityResolver</a> <p>
<a class="el" href="classHandlerBase.html#a9bbcdb7958bace9296940ab702ef367">HandlerBase::HandlerBase</a> </dd></dl>
<p>Implemented in <a class="el" href="classSAXParser.html#55ca3032890cc8893cfcfc15753db57b">SAXParser</a>.</p>
</div>
</div><p>
<a class="anchor" name="d97184f9e4397e360903e2fdb72d23bf"></a><!-- doxytag: member="Parser::setDTDHandler" ref="d97184f9e4397e360903e2fdb72d23bf" args="(DTDHandler *const handler)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void Parser::setDTDHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classDTDHandler.html">DTDHandler</a> *const &nbsp;</td>
<td class="paramname"> <em>handler</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Allow an application to register a DTD event handler.
<p>
If the application does not register a DTD handler, all DTD events reported by the SAX parser will be silently ignored (this is the default behaviour implemented by <a class="el" href="classHandlerBase.html" title="Default base class for handlers.">HandlerBase</a>).<p>
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.<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>handler</em>&nbsp;</td><td>The DTD handler. </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classDTDHandler.html#1d17e15d976164f6d55f542759eea182" title="Default Constructor.">DTDHandler::DTDHandler</a> <p>
<a class="el" href="classHandlerBase.html#a9bbcdb7958bace9296940ab702ef367">HandlerBase::HandlerBase</a> </dd></dl>
<p>Implemented in <a class="el" href="classSAXParser.html#718d0f982508496ac008a1b4f20eba06">SAXParser</a>.</p>
</div>
</div><p>
<a class="anchor" name="2038c09146fff3b0ec66143630736bdb"></a><!-- doxytag: member="Parser::setDocumentHandler" ref="2038c09146fff3b0ec66143630736bdb" args="(DocumentHandler *const handler)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void Parser::setDocumentHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classDocumentHandler.html">DocumentHandler</a> *const &nbsp;</td>
<td class="paramname"> <em>handler</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Allow an application to register a document event handler.
<p>
If the application does not register a document handler, all document events reported by the SAX parser will be silently ignored (this is the default behaviour implemented by <a class="el" href="classHandlerBase.html" title="Default base class for handlers.">HandlerBase</a>).<p>
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.<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>handler</em>&nbsp;</td><td>The document handler. </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classDocumentHandler.html#c24bb98e06d7db2b0823816eec2f6c19" title="Default constructor.">DocumentHandler::DocumentHandler</a> <p>
<a class="el" href="classHandlerBase.html#a9bbcdb7958bace9296940ab702ef367">HandlerBase::HandlerBase</a> </dd></dl>
<p>Implemented in <a class="el" href="classSAXParser.html#f8593f6ca5ebb7c96d63eaea6935b1a9">SAXParser</a>.</p>
</div>
</div><p>
<a class="anchor" name="acd0f62732e363faeb4e5ee5b0a6e12a"></a><!-- doxytag: member="Parser::setErrorHandler" ref="acd0f62732e363faeb4e5ee5b0a6e12a" args="(ErrorHandler *const handler)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void Parser::setErrorHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classErrorHandler.html">ErrorHandler</a> *const &nbsp;</td>
<td class="paramname"> <em>handler</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Allow an application to register an error event handler.
<p>
If the application does not register an error event handler, all error events reported by the SAX parser will be silently ignored, except for fatalError, which will throw a <a class="el" href="classSAXException.html" title="Encapsulate a general SAX error or warning.">SAXException</a> (this is the default behaviour implemented by <a class="el" href="classHandlerBase.html" title="Default base class for handlers.">HandlerBase</a>).<p>
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.<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>handler</em>&nbsp;</td><td>The error handler. </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classErrorHandler.html#7e5f379bd231442b898cef94556b2107" title="Default constructor.">ErrorHandler::ErrorHandler</a> <p>
<a class="el" href="classSAXException.html#e1c8ab9b99e3c43572c1567e72c652e4" title="Default constructor.">SAXException::SAXException</a> <p>
<a class="el" href="classHandlerBase.html#a9bbcdb7958bace9296940ab702ef367">HandlerBase::HandlerBase</a> </dd></dl>
<p>Implemented in <a class="el" href="classSAXParser.html#4f473c91401970cfaed6147caaa41cbd">SAXParser</a>.</p>
</div>
</div><p>
<a class="anchor" name="624fc687a49b917c11ef632367568b60"></a><!-- doxytag: member="Parser::parse" ref="624fc687a49b917c11ef632367568b60" args="(const InputSource &amp;source)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void Parser::parse </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classInputSource.html">InputSource</a> &amp;&nbsp;</td>
<td class="paramname"> <em>source</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parse an XML document.
<p>
The application can use this method to instruct the SAX parser to begin parsing an XML document from any valid input source (a character stream, a byte stream, or a URI).<p>
Applications may not invoke this method while a parse is in progress (they should create a new <a class="el" href="classParser.html" title="Basic interface for SAX (Simple API for XML) parsers.">Parser</a> instead for each additional XML document). Once a parse is complete, an application may reuse the same <a class="el" href="classParser.html" title="Basic interface for SAX (Simple API for XML) parsers.">Parser</a> object, possibly with a different input source.<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>source</em>&nbsp;</td><td>The input source for the top-level of the XML document. </td></tr>
</table>
</dl>
<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="classSAXException.html" title="Encapsulate a general SAX error or warning.">SAXException</a></em>&nbsp;</td><td>Any SAX exception, possibly wrapping another exception. </td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXMLException.html">XMLException</a></em>&nbsp;</td><td>An exception from the parser or client handler code. </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInputSource.html#601a7aa7124e2d8e9664eda9aea6b622" title="Default constructor.">InputSource::InputSource</a> <p>
<a class="el" href="classParser.html#62435895e0615380f3017090ac232594" title="Allow an application to register a custom entity resolver.">setEntityResolver</a> <p>
<a class="el" href="classParser.html#d97184f9e4397e360903e2fdb72d23bf" title="Allow an application to register a DTD event handler.">setDTDHandler</a> <p>
<a class="el" href="classParser.html#2038c09146fff3b0ec66143630736bdb" title="Allow an application to register a document event handler.">setDocumentHandler</a> <p>
<a class="el" href="classParser.html#acd0f62732e363faeb4e5ee5b0a6e12a" title="Allow an application to register an error event handler.">setErrorHandler</a> </dd></dl>
<p>Implemented in <a class="el" href="classSAXParser.html#d684882ed98a172675553abe68109666">SAXParser</a>.</p>
</div>
</div><p>
<a class="anchor" name="37d4db3b3e88307b0aad780a685d76fd"></a><!-- doxytag: member="Parser::parse" ref="37d4db3b3e88307b0aad780a685d76fd" args="(const XMLCh *const systemId)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void Parser::parse </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>systemId</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parse an XML document from a system identifier (URI).
<p>
This method is a shortcut for the common case of reading a document from a system identifier. It is the exact equivalent of the following:<p>
parse(new URLInputSource(systemId));<p>
If the system identifier is a URL, it must be fully resolved by the application before it is passed to the parser.<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 identifier (URI). </td></tr>
</table>
</dl>
<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="classSAXException.html" title="Encapsulate a general SAX error or warning.">SAXException</a></em>&nbsp;</td><td>Any SAX exception, possibly wrapping another exception. </td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXMLException.html">XMLException</a></em>&nbsp;</td><td>An exception from the parser or client handler code. </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>parse(InputSource) </dd></dl>
<p>Implemented in <a class="el" href="classSAXParser.html#4a5146bda42a0ba972a6fbd77146e828">SAXParser</a>.</p>
</div>
</div><p>
<a class="anchor" name="802e068db2ca0b11d8f6365d8a3267c6"></a><!-- doxytag: member="Parser::parse" ref="802e068db2ca0b11d8f6365d8a3267c6" args="(const char *const systemId)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void Parser::parse </td>
<td>(</td>
<td class="paramtype">const char *const &nbsp;</td>
<td class="paramname"> <em>systemId</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parse an XML document from a system identifier (URI).
<p>
This method is a shortcut for the common case of reading a document from a system identifier. It is the exact equivalent of the following:<p>
parse(new URLInputSource(systemId));<p>
If the system identifier is a URL, it must be fully resolved by the application before it is passed to the parser.<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 identifier (URI). </td></tr>
</table>
</dl>
<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="classSAXException.html" title="Encapsulate a general SAX error or warning.">SAXException</a></em>&nbsp;</td><td>Any SAX exception, possibly wrapping another exception. </td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classXMLException.html">XMLException</a></em>&nbsp;</td><td>An exception from the parser or client handler code. </td></tr>
</table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd>parse(InputSource) </dd></dl>
<p>Implemented in <a class="el" href="classSAXParser.html#6e928e936c15ef184fd286380e9f8c14">SAXParser</a>.</p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Parser_8hpp-source.html">Parser.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>