<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <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>
<div class="header">
  <div class="headertitle">
<h1>SAX2Handler Member List</h1>  </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classSAX2Handler.html">SAX2Handler</a>, including all inherited members.<table>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#ac0dabad974de9b176d4039ef4555ec38">createBottomForDataFile</a>()=0</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected, pure virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#ae183cce0d754a7debae1a4bc10d805b8">createHeaderForDataFile</a>()=0</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected, pure virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#ab37bae6c3b814bf0a66b2165a0396ca4">endDocument</a>()</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#aac5614a9bd8663dfca5d65574dc477f9">error</a>(const SAXParseException &amp;e)</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a786757b7f339cb75a5eb32ee8d271027">fatalError</a>(const SAXParseException &amp;e)</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a895b34a1a22df6847f6093d841d1a9e1">getLocale</a>() const </td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [inline]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#ab6a1ba8ef72b0bcd952335785de935a3">m_locale</a></td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a3bee89f9c6f5f260ff248639f66d5fc7">m_numberOfRecords</a></td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a2a33344d6c5c0439300531df1167eaa9">m_startCollectingCharacters</a></td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#af6e22fdec7de31b2722f604c33c220c7">printBeginOfDataLine</a>()=0</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected, pure virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#aa46665ed0f8b741f4e87a228892331fd">printEndOfDataLine</a>()=0</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected, pure virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#aef3721fa205f26becd911ac2971b9d48">printNumbOfRecords</a>()</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#af9a624d09a4189c3573a46cef2592729">printToDataFile</a>(const char *sArrayOfStrings[])=0</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected, pure virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a0c7b811a4ca2e7df57e8eac8ff502c53">printToIndexFile</a>(const char *sArrayOfStrings[])</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a1674a8ee03f2d3d029ffca3d9a3b541b">SAX2Handler</a>(const char *indexFileName)</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a546479e500e693f3963b13b540bd678d">setLocale</a>(const char *localeName)</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a13935c4a5b5a5b1f9677fccedd396595">startDocument</a>()</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#ac37786ba5d6eb488c16acfddf4467e85">startElement</a>(const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &amp;attributes)</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a8fb47b3398908d3b04643af0f816a555">translateCharToXMLByteArray</a>(XMLByte *buffer, int iBufLen, const char *szSource) const </td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [protected]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a54890f91c40c4b91c91efcb12fb1c75e">warning</a>(const SAXParseException &amp;e)</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [virtual]</code></td></tr>
  <tr class="memlist"><td><a class="el" href="classSAX2Handler.html#a50d33cc7ebc90b11835f6d72fc83cd84">~SAX2Handler</a>()</td><td><a class="el" href="classSAX2Handler.html">SAX2Handler</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">GraphViz</a> are 
used to generate this API documentation from the Xalan-C header files.</i></font></p>

<table border="0" cellpadding="0" cellspacing="0" width="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
