<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>DOMSupportException Member List</h1>This is the complete list of members for <a class="el" href="classDOMSupportException.html">DOMSupportException</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="classDOMSupportException.html#a0">DOMSupportException</a>(const XalanDOMString &amp;message, MemoryManagerType &amp;theManager)
<code> [explicit]</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="classXSLException.html#a5">getType</a>() const=0
<code> [pure virtual]</code><li><a class="el" href="classXSLException.html#a7">getURI</a>() const
<li><a class="el" href="classXSLException.html#s0">size_type</a> typedef
<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="classDOMSupportException.html#a1">~DOMSupportException</a>()
<code> [virtual]</code><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>
