<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.invoker</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.invoker</strong></font><br>
               Class TransformationException</h2><br><hr><pre>public class <strong>TransformationException</strong>
extends java.lang.Exception</pre>Checked Exception for transformation errors.<p></p><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_TransformationException">TransformationException</a></strong>(java.lang.String message)</code></td></tr><tr><td><code><strong><a href="#con_TransformationException">TransformationException</a></strong>(java.lang.String message
         ,
      java.lang.Throwable cause)</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></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_TransformationException">TransformationException</a></h2><p><code>public <strong>TransformationException</strong>(java.lang.String message)</code></p><p>Create a new instance of this with the given message.</p><hr><h2><a name="con_TransformationException">TransformationException</a></h2><p><code>public <strong>TransformationException</strong>(java.lang.String message
         ,
      java.lang.Throwable cause)</code></p><p>Create a new instance of this with the given message and cause.</p><hr></body></html>