<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
               Class XPathException</h2><br><hr><pre>public class <strong>XPathException</strong>
extends java.lang.Exception</pre>This exception is thrown when there is a problem with an XPath exception.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathException">XPathException</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_reason">reason</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The reason why the exception has been thrown.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_XPathException">XPathException</a></h2><p><code>public <strong>XPathException</strong>(java.lang.String reason)</code></p><p>Constructor for XPathException</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_reason">reason</a></h2><p><code>public java.lang.String <strong>reason</strong>()</code></p><p>The reason why the exception has been thrown.</p><h3>Returns</h3><p><code>java.lang.String</code> - the reason why the exception has been throw.</p><hr></body></html>