<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
               Class XalanVariable</h2><br><hr><pre>public class <strong>XalanVariable</strong>
extends Variable</pre><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_XalanVariable">XalanVariable</a></strong>(org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame xalanStyleFrame
         ,
      VariableStack varStack
         ,
      java.lang.String scope
         ,
      int slotNumber
         ,
      ElemVariable elemVariable)</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 int</code></td><td width="" align="left"><code><a href="#method_compareTo">compareTo</a>(java.lang.Object arg0)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </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_getType">getType</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </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_getValue">getValue</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_XalanVariable">XalanVariable</a></h2><p><code>public <strong>XalanVariable</strong>(org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame xalanStyleFrame
         ,
      VariableStack varStack
         ,
      java.lang.String scope
         ,
      int slotNumber
         ,
      ElemVariable elemVariable)</code></p><p></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_compareTo">compareTo</a></h2><p><code>public int <strong>compareTo</strong>(java.lang.Object arg0)</code></p><p></p><h3>Parameters</h3><p><code>arg0</code></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getType">getType</a></h2><p><code>public java.lang.String <strong>getType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getValue">getValue</a></h2><p><code>public java.lang.String <strong>getValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>