<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>TreeWalker Member List</h1>This is the complete list of members for <a class="el" href="classTreeWalker.html">TreeWalker</a>, including all inherited members.<ul>
<li><a class="el" href="classTreeWalker.html#b2">endNode</a>(const XalanNode *node)=0
<code> [protected, pure virtual]</code><li><a class="el" href="classTreeWalker.html#b3">endNode</a>(XalanNode *node)=0
<code> [protected, pure virtual]</code><li><a class="el" href="classTreeWalker.html#b0">startNode</a>(const XalanNode *node)=0
<code> [protected, pure virtual]</code><li><a class="el" href="classTreeWalker.html#b1">startNode</a>(XalanNode *node)=0
<code> [protected, pure virtual]</code><li><a class="el" href="classTreeWalker.html#a2">traverse</a>(const XalanNode *pos)
<li><a class="el" href="classTreeWalker.html#a3">traverse</a>(XalanNode *pos)
<li><a class="el" href="classTreeWalker.html#a4">traverse</a>(const XalanNode *pos, const XalanNode *parent)
<li><a class="el" href="classTreeWalker.html#a5">traverse</a>(XalanNode *pos, XalanNode *parent)
<li><a class="el" href="classTreeWalker.html#a6">traverseSubtree</a>(const XalanNode *pos)
<code> [virtual]</code><li><a class="el" href="classTreeWalker.html#a7">traverseSubtree</a>(XalanNode *pos)
<code> [virtual]</code><li><a class="el" href="classTreeWalker.html#a0">TreeWalker</a>()
<li><a class="el" href="classTreeWalker.html#a1">~TreeWalker</a>()
<code> [virtual]</code></ul>
<p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and 
<A href="http://www.research.att.com/sw/tools/graphviz/">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="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<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.10</B><BR>
			Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
		</TD>
	</TR>
	<TR>
		<TD WIDTH="100%">
			<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
		</TD>
	</TR>
</TABLE>
