<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 StaticError</h2><br><hr><pre>public class <strong>StaticError</strong>
extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Base class for all static errors as defined by the XPath 2.0 specification<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_StaticError">StaticError</a></strong>(java.lang.String code
         ,
      java.lang.String err)</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_code">code</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </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_StaticError">StaticError</a></h2><p><code>public <strong>StaticError</strong>(java.lang.String code
         ,
      java.lang.String err)</code></p><p>Constructor for a generic static error</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_code">code</a></h2><p><code>public java.lang.String <strong>code</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code> - error code which represents the error</p><hr></body></html>