<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>XPathExceptionFunctionNotAvailable Member List</h1>This is the complete list of members for <a class="el" href="classXPathExceptionFunctionNotAvailable.html">XPathExceptionFunctionNotAvailable</a>, including all inherited members.<ul>
<li><a class="el" href="classXSLException.html#a11">defaultFormat</a>(XalanDOMString &amp;theBuffer) const
<li><a class="el" href="classXSLException.html#d0">defaultFormat</a>(const XalanDOMString &amp;theMessage, const XalanDOMString &amp;theURI, size_type theLineNumber, size_type theColumnNumber, const XalanDOMChar *theType, XalanDOMString &amp;theBuffer)
<code> [static]</code><li><a class="el" href="classXSLException.html#d1">defaultFormat</a>(const XalanDOMChar *theMessage, const XalanDOMChar *theURI, size_type theLineNumber, size_type theColumnNumber, const XalanDOMChar *theType, XalanDOMString &amp;theBuffer)
<code> [static]</code><li><a class="el" href="classXSLException.html#d2">defaultFormat</a>(const XalanDOMChar *theMessage, const XalanDOMString::size_type theMessageLength, const XalanDOMChar *theURI, const XalanDOMString::size_type theURILength, size_type theLineNumber, size_type theColumnNumber, const XalanDOMChar *theType, const XalanDOMString::size_type theTypeLength, XalanDOMString &amp;theBuffer)
<code> [static]</code><li><a class="el" href="classXSLException.html#a9">getColumnNumber</a>() const
<li><a class="el" href="classXSLException.html#a8">getLineNumber</a>() const
<li><a class="el" href="classXSLException.html#a10">getMemoryManager</a>() const
<li><a class="el" href="classXSLException.html#a6">getMessage</a>() const
<li><a class="el" href="classXalanXPathException.html#a5">getType</a>() const
<code> [virtual]</code><li><a class="el" href="classXSLException.html#a7">getURI</a>() const
<li><a class="el" href="classXPathExceptionFunctionNotAvailable.html#s0">LocatorType</a> typedef
<li><a class="el" href="classXSLException.html#s0">size_type</a> typedef
<li><a class="el" href="classXalanXPathException.html#a0">XalanXPathException</a>(const XalanDOMString &amp;message, const XalanDOMString &amp;theURI, int theLineNumber, int theColumnNumber, MemoryManagerType &amp;theManager)
<li><a class="el" href="classXalanXPathException.html#a1">XalanXPathException</a>(const LocatorType &amp;theLocator, const XalanDOMString &amp;theMessage, MemoryManagerType &amp;theManager)
<li><a class="el" href="classXalanXPathException.html#a2">XalanXPathException</a>(const XalanDOMString &amp;message, MemoryManagerType &amp;theManager)
<li><a class="el" href="classXalanXPathException.html#a3">XalanXPathException</a>(const XalanXPathException &amp;other)
<li><a class="el" href="classXalanXPathException.html#b0">XalanXPathException</a>(MemoryManagerType &amp;theManager)
<code> [explicit, protected]</code><li><a class="el" href="classXPathExceptionFunctionNotAvailable.html#a0">XPathExceptionFunctionNotAvailable</a>(const XalanDOMString &amp;theFunctionNumber, XalanDOMString &amp;theResult)
<li><a class="el" href="classXPathExceptionFunctionNotAvailable.html#a1">XPathExceptionFunctionNotAvailable</a>(const XalanDOMString &amp;theFunctionNumber, const LocatorType &amp;theLocator, XalanDOMString &amp;theResult)
<li><a class="el" href="classXSLException.html#a0">XSLException</a>(const XalanDOMString &amp;theMessage, const XalanDOMString &amp;theURI, int theLineNumber, int theColumnNumber, MemoryManagerType &amp;theManager)
<li><a class="el" href="classXSLException.html#a1">XSLException</a>(const LocatorType &amp;theLocator, const XalanDOMString &amp;theMessage, MemoryManagerType &amp;theManager)
<li><a class="el" href="classXSLException.html#a2">XSLException</a>(const XalanDOMString &amp;theMessage, MemoryManagerType &amp;theManager)
<li><a class="el" href="classXSLException.html#a3">XSLException</a>(const XSLException &amp;other)
<li><a class="el" href="classXalanXPathException.html#a4">~XalanXPathException</a>()
<code> [virtual]</code><li><a class="el" href="classXPathExceptionFunctionNotAvailable.html#a2">~XPathExceptionFunctionNotAvailable</a>()
<li><a class="el" href="classXSLException.html#a4">~XSLException</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>
