<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>XPathEnvSupport Member List</h1>This is the complete list of members for <a class="el" href="classXPathEnvSupport.html">XPathEnvSupport</a>, including all inherited members.<ul>
<li><a class="el" href="classXPathEnvSupport.html#s11">eClassification</a> enum name
<li><a class="el" href="classXPathEnvSupport.html#s10s6">eDataSource</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#s11s9">eError</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#a6">elementAvailable</a>(const XalanDOMString &amp;theNamespace, const XalanDOMString &amp;elementName) const=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#s11s7">eMessage</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#s10">eSource</a> enum name
<li><a class="el" href="classXPathEnvSupport.html#s11s8">eWarning</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#s10s2">eXMLParser</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#s10s4">eXPATHParser</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#s10s5">eXPATHProcessor</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#s10s3">eXSLTProcessor</a> enum value
<li><a class="el" href="classXPathEnvSupport.html#a8">extFunction</a>(XPathExecutionContext &amp;executionContext, const XalanDOMString &amp;theNamespace, const XalanDOMString &amp;functionName, XalanNode *context, const XObjectArgVectorType &amp;argVec, const LocatorType *locator) const=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#a5">findURIFromDoc</a>(const XalanDocument *owner) const=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#a7">functionAvailable</a>(const XalanDOMString &amp;theNamespace, const XalanDOMString &amp;functionName) const=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#a3">getSourceDocument</a>(const XalanDOMString &amp;theURI) const=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#s0">LocatorType</a> typedef
<li><a class="el" href="classXPathEnvSupport.html#a2">parseXML</a>(MemoryManagerType &amp;theManager, const XalanDOMString &amp;urlString, const XalanDOMString &amp;base)=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#a9">problem</a>(eSource where, eClassification classification, const PrefixResolver *resolver, const XalanNode *sourceNode, const XalanDOMString &amp;msg, const XalanDOMChar *uri, int lineNo, int charOffset) const=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#a10">reset</a>()=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#a4">setSourceDocument</a>(const XalanDOMString &amp;theURI, XalanDocument *theDocument)=0
<code> [pure virtual]</code><li><a class="el" href="classXPathEnvSupport.html#s1">XObjectArgVectorType</a> typedef
<li><a class="el" href="classXPathEnvSupport.html#a0">XPathEnvSupport</a>()
<li><a class="el" href="classXPathEnvSupport.html#a1">~XPathEnvSupport</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>
