<html>
<body>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.core</strong></font>
<br>
            Class XPathCorePlugin</h2>
<br>
<hr>
<pre>public class <strong>XPathCorePlugin</strong>
extends Plugin</pre>The activator class controls the plug-in life cycle<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>PLUGIN_ID</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathCorePlugin</strong>()</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 static org.eclipse.wst.xml.xpath.core.XPathCorePlugin</code></td><td width="" align="left"><code>getDefault()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the shared instance</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>start(BundleContext context)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stop(BundleContext context)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>PLUGIN_ID</h2>
<p>
<code>public static  java.lang.String <strong>PLUGIN_ID</strong></code>
</p>
<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>XPathCorePlugin</h2>
<p>
<code>public <strong>XPathCorePlugin</strong>()</code>
</p>
<p>The constructor</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>getDefault</h2>
<p>
<code>public org.eclipse.wst.xml.xpath.core.XPathCorePlugin <strong>getDefault</strong>()</code>
</p>
<p>Returns the shared instance</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xml.xpath.core.XPathCorePlugin</code> - the shared instance</p>
<hr>
<h2>start</h2>
<p>
<code>public void <strong>start</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<h2>stop</h2>
<p>
<code>public void <strong>stop</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core.internal.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.core.internal.parser</strong></font>
<br>
            Class XPathParser</h2>
<br>
<hr>
<pre>public class <strong>XPathParser</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected Token</code></td><td width="80%" align="left"><code>currentToken</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.apache.commons.jxpath.ri.parser.XPathParser</code></td><td width="80%" align="left"><code>parser</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected Token</code></td><td width="80%" align="left"><code>previousToken</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathParser</strong>(java.lang.String xpath)</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 Token</code></td><td width="" align="left"><code>getCurrentToken()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public Token</code></td><td width="" align="left"><code>getPreviousToken()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getTokenStartOffset(int offsetLine
         ,
      int offsetColumn)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Given a line number and a column number, return the starting
 offset of the last known token.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>locatedColumn(Token token
         ,
      int offsetColumn)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Checks to see if the token is in the range of the column offset</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>locatedLine(Token token
         ,
      int offsetLine)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Checks to see if the token is in the range of the line offset</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>currentToken</h2>
<p>
<code>protected Token <strong>currentToken</strong></code>
</p>
<hr>
<h2>parser</h2>
<p>
<code>protected org.apache.commons.jxpath.ri.parser.XPathParser <strong>parser</strong></code>
</p>
<hr>
<h2>previousToken</h2>
<p>
<code>protected Token <strong>previousToken</strong></code>
</p>
<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>XPathParser</h2>
<p>
<code>public <strong>XPathParser</strong>(java.lang.String xpath)</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>getCurrentToken</h2>
<p>
<code>public Token <strong>getCurrentToken</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>Token</code>
</p>
<hr>
<h2>getPreviousToken</h2>
<p>
<code>public Token <strong>getPreviousToken</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>Token</code>
</p>
<hr>
<h2>getTokenStartOffset</h2>
<p>
<code>public int <strong>getTokenStartOffset</strong>(int offsetLine
         ,
      int offsetColumn)</code>
</p>
<p>Given a line number and a column number, return the starting
 offset of the last known token.</p>
<h3>Parameters</h3>
<p>
<code>offsetLine</code>
</p>
<p>
<code>offsetColumn</code>
</p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>locatedColumn</h2>
<p>
<code>protected boolean <strong>locatedColumn</strong>(Token token
         ,
      int offsetColumn)</code>
</p>
<p>Checks to see if the token is in the range of the column offset</p>
<h3>Parameters</h3>
<p>
<code>token</code>
</p>
<p>
<code>offsetColumn</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - true if found, false otherwise</p>
<hr>
<h2>locatedLine</h2>
<p>
<code>protected boolean <strong>locatedLine</strong>(Token token
         ,
      int offsetLine)</code>
</p>
<p>Checks to see if the token is in the range of the line offset</p>
<h3>Parameters</h3>
<p>
<code>token</code> - An XPath Token.</p>
<p>
<code>offsetLine</code> - Line number offset of a region.</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - true if found, false otherwise.</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.core.util</strong></font>
<br>
            Class XSLTXPathHelper</h2>
<br>
<hr>
<pre>public class <strong>XSLTXPathHelper</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLTXPathHelper</strong>()</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 static void</code></td><td width="" align="left"><code>compile(java.lang.String expression)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.apache.xpath.objects.XObject</code></td><td width="" align="left"><code>eval(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Evaluate XPath string to an XObject. Using this method, XPath namespace
 prefixes will be resolved from the namespaceNode.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.apache.xpath.objects.XObject</code></td><td width="" align="left"><code>eval(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Evaluate XPath string to an XObject. XPath namespace prefixes are
 resolved from the namespaceNode. The implementation of this is a little
 slow, since it creates a number of objects each time it is called. This
 could be optimized to keep the same objects around, but then
 thread-safety issues would arise.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.apache.xpath.objects.XObject</code></td><td width="" align="left"><code>eval(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.apache.xml.utils.PrefixResolver prefixResolver)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Evaluate XPath string to an XObject. XPath namespace prefixes are
 resolved from the namespaceNode. The implementation of this is a little
 slow, since it creates a number of objects each time it is called. This
 could be optimized to keep the same objects around, but then
 thread-safety issues would arise.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static org.apache.xpath.compiler.FunctionTable</code></td><td width="" align="left"><code>getFunctionTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.traversal.NodeIterator</code></td><td width="" align="left"><code>selectNodeIterator(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the contextNode.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.traversal.NodeIterator</code></td><td width="" align="left"><code>selectNodeIterator(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the namespaceNode.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.NodeList</code></td><td width="" align="left"><code>selectNodeList(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the contextNode.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.NodeList</code></td><td width="" align="left"><code>selectNodeList(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the namespaceNode.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.Node</code></td><td width="" align="left"><code>selectSingleNode(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Use an XPath string to select a single node. XPath namespace prefixes are
 resolved from the context node, which may not be what you want (see the
 next method).</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.Node</code></td><td width="" align="left"><code>selectSingleNode(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Use an XPath string to select a single node. XPath namespace prefixes are
 resolved from the namespaceNode.</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>XSLTXPathHelper</h2>
<p>
<code>public <strong>XSLTXPathHelper</strong>()</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>compile</h2>
<p>
<code>public void <strong>compile</strong>(java.lang.String expression)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>expression</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.xpath.XPathExpressionException</code>
</p>
<hr>
<h2>eval</h2>
<p>
<code>public org.apache.xpath.objects.XObject <strong>eval</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
</p>
<p>Evaluate XPath string to an XObject. Using this method, XPath namespace
 prefixes will be resolved from the namespaceNode.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<h3>Returns</h3>
<p>
<code>org.apache.xpath.objects.XObject</code> - An XObject, which can be used to obtain a string, number,          nodelist, etc, should never be null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>eval</h2>
<p>
<code>public org.apache.xpath.objects.XObject <strong>eval</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
</p>
<p>Evaluate XPath string to an XObject. XPath namespace prefixes are
 resolved from the namespaceNode. The implementation of this is a little
 slow, since it creates a number of objects each time it is called. This
 could be optimized to keep the same objects around, but then
 thread-safety issues would arise.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<p>
<code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p>
<h3>Returns</h3>
<p>
<code>org.apache.xpath.objects.XObject</code> - An XObject, which can be used to obtain a string, number,          nodelist, etc, should never be null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>eval</h2>
<p>
<code>public org.apache.xpath.objects.XObject <strong>eval</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.apache.xml.utils.PrefixResolver prefixResolver)</code>
</p>
<p>Evaluate XPath string to an XObject. XPath namespace prefixes are
 resolved from the namespaceNode. The implementation of this is a little
 slow, since it creates a number of objects each time it is called. This
 could be optimized to keep the same objects around, but then
 thread-safety issues would arise.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<p>
<code>prefixResolver</code> - Will be called if the parser encounters namespace prefixes, to             resolve the prefixes to URLs.</p>
<h3>Returns</h3>
<p>
<code>org.apache.xpath.objects.XObject</code> - An XObject, which can be used to obtain a string, number,          nodelist, etc, should never be null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>getFunctionTable</h2>
<p>
<code>protected org.apache.xpath.compiler.FunctionTable <strong>getFunctionTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.apache.xpath.compiler.FunctionTable</code>
</p>
<hr>
<h2>selectNodeIterator</h2>
<p>
<code>public org.w3c.dom.traversal.NodeIterator <strong>selectNodeIterator</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
</p>
<p>Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the contextNode.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.traversal.NodeIterator</code> - A NodeIterator, should never be null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>selectNodeIterator</h2>
<p>
<code>public org.w3c.dom.traversal.NodeIterator <strong>selectNodeIterator</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
</p>
<p>Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the namespaceNode.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<p>
<code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.traversal.NodeIterator</code> - A NodeIterator, should never be null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>selectNodeList</h2>
<p>
<code>public org.w3c.dom.NodeList <strong>selectNodeList</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
</p>
<p>Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the contextNode.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.NodeList</code> - A NodeIterator, should never be null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>selectNodeList</h2>
<p>
<code>public org.w3c.dom.NodeList <strong>selectNodeList</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
</p>
<p>Use an XPath string to select a nodelist. XPath namespace prefixes are
 resolved from the namespaceNode.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<p>
<code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.NodeList</code> - A NodeIterator, should never be null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>selectSingleNode</h2>
<p>
<code>public org.w3c.dom.Node <strong>selectSingleNode</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str)</code>
</p>
<p>Use an XPath string to select a single node. XPath namespace prefixes are
 resolved from the context node, which may not be what you want (see the
 next method).</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Node</code> - The first node found that matches the XPath, or null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>selectSingleNode</h2>
<p>
<code>public org.w3c.dom.Node <strong>selectSingleNode</strong>(org.w3c.dom.Node contextNode
         ,
      java.lang.String str
         ,
      org.w3c.dom.Node namespaceNode)</code>
</p>
<p>Use an XPath string to select a single node. XPath namespace prefixes are
 resolved from the namespaceNode.</p>
<h3>Parameters</h3>
<p>
<code>contextNode</code> - The node to start searching from.</p>
<p>
<code>str</code> - A valid XPath string.</p>
<p>
<code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Node</code> - The first node found that matches the XPath, or null.</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui</strong></font>
<br>
            Class XPathUIMessages</h2>
<br>
<hr>
<pre>public class <strong>XPathUIMessages</strong>
extends NLS</pre>Strings used by XPath UI<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Context</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Document</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_DOM_Tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Expression</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Namespace_Prefixes</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Namespaces</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Namespaces_Tip</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Node_could_not_be_selected</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Nothing_selected</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Refresh_Source_Docs</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Refresh_Source_Docs_Tip</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Run_on_selected</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Run_XPath_Query</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Select_source_first</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Selection</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Show_In_Source</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Show_In_Source_Tip</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_Text</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_XML_Source_Document</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_XPath_Eval_Failed</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_XPath_Navigator</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathNavigator_XPath_Show_In_Source_Failed</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </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 static java.util.ResourceBundle</code></td><td width="" align="left"><code>getResourceBundle()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XPathNavigator_Context</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Context</strong></code>
</p>
<hr>
<h2>XPathNavigator_Document</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Document</strong></code>
</p>
<hr>
<h2>XPathNavigator_DOM_Tree</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_DOM_Tree</strong></code>
</p>
<hr>
<h2>XPathNavigator_Expression</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Expression</strong></code>
</p>
<hr>
<h2>XPathNavigator_Namespace_Prefixes</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Namespace_Prefixes</strong></code>
</p>
<hr>
<h2>XPathNavigator_Namespaces</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Namespaces</strong></code>
</p>
<hr>
<h2>XPathNavigator_Namespaces_Tip</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Namespaces_Tip</strong></code>
</p>
<hr>
<h2>XPathNavigator_Node_could_not_be_selected</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Node_could_not_be_selected</strong></code>
</p>
<hr>
<h2>XPathNavigator_Nothing_selected</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Nothing_selected</strong></code>
</p>
<hr>
<h2>XPathNavigator_Refresh_Source_Docs</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Refresh_Source_Docs</strong></code>
</p>
<hr>
<h2>XPathNavigator_Refresh_Source_Docs_Tip</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Refresh_Source_Docs_Tip</strong></code>
</p>
<hr>
<h2>XPathNavigator_Run_on_selected</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Run_on_selected</strong></code>
</p>
<hr>
<h2>XPathNavigator_Run_XPath_Query</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Run_XPath_Query</strong></code>
</p>
<hr>
<h2>XPathNavigator_Select_source_first</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Select_source_first</strong></code>
</p>
<hr>
<h2>XPathNavigator_Selection</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Selection</strong></code>
</p>
<hr>
<h2>XPathNavigator_Show_In_Source</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Show_In_Source</strong></code>
</p>
<hr>
<h2>XPathNavigator_Show_In_Source_Tip</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Show_In_Source_Tip</strong></code>
</p>
<hr>
<h2>XPathNavigator_Text</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_Text</strong></code>
</p>
<hr>
<h2>XPathNavigator_XML_Source_Document</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_XML_Source_Document</strong></code>
</p>
<hr>
<h2>XPathNavigator_XPath_Eval_Failed</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_XPath_Eval_Failed</strong></code>
</p>
<hr>
<h2>XPathNavigator_XPath_Navigator</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_XPath_Navigator</strong></code>
</p>
<hr>
<h2>XPathNavigator_XPath_Show_In_Source_Failed</h2>
<p>
<code>public static  java.lang.String <strong>XPathNavigator_XPath_Show_In_Source_Failed</strong></code>
</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>getResourceBundle</h2>
<p>
<code>public java.util.ResourceBundle <strong>getResourceBundle</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.ResourceBundle</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui</strong></font>
<br>
            Class XPathViewPlugin</h2>
<br>
<hr>
<pre>public class <strong>XPathViewPlugin</strong>
extends AbstractUIPlugin</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathViewPlugin</strong>()</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 static org.eclipse.wst.xml.xpath.ui.XPathViewPlugin</code></td><td width="" align="left"><code>getDefault()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the shared instance.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code>getPluginId()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.ResourceBundle</code></td><td width="" align="left"><code>getResourceBundle()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the plugin's resource bundle</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code>getResourceString(java.lang.String key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the string from the plugin's resource bundle,
 or 'key' if not found.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ContextTypeRegistry</code></td><td width="" align="left"><code>getXPathTemplateContextRegistry()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the template context type registry for xpath</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public TemplateStore</code></td><td width="" align="left"><code>getXPathTemplateStore()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the template store for the xpath templates.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>info(java.lang.String message)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>initializeImageRegistry(ImageRegistry reg)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>log(java.lang.String message
         ,
      java.lang.Throwable ex)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>log(java.lang.Throwable ex)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partActivated(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partBroughtToTop(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partClosed(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partDeactivated(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partHidden(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partInputChanged(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partOpened(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>partVisible(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>start(BundleContext context)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               This method is called upon plug-in activation</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stop(BundleContext context)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               This method is called when the plug-in is stopped</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>throwCoreException(java.lang.String message
         ,
      java.lang.Throwable t)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateXPathNavigatorView(IWorkbenchPartReference partRef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>warn(java.lang.String message)</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>XPathViewPlugin</h2>
<p>
<code>public <strong>XPathViewPlugin</strong>()</code>
</p>
<p>The constructor.</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>getDefault</h2>
<p>
<code>public org.eclipse.wst.xml.xpath.ui.XPathViewPlugin <strong>getDefault</strong>()</code>
</p>
<p>Returns the shared instance.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xml.xpath.ui.XPathViewPlugin</code>
</p>
<hr>
<h2>getPluginId</h2>
<p>
<code>public java.lang.String <strong>getPluginId</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getResourceBundle</h2>
<p>
<code>public java.util.ResourceBundle <strong>getResourceBundle</strong>()</code>
</p>
<p>Returns the plugin's resource bundle</p>
<h3>Returns</h3>
<p>
<code>java.util.ResourceBundle</code>
</p>
<hr>
<h2>getResourceString</h2>
<p>
<code>public java.lang.String <strong>getResourceString</strong>(java.lang.String key)</code>
</p>
<p>Returns the string from the plugin's resource bundle,
 or 'key' if not found.</p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getXPathTemplateContextRegistry</h2>
<p>
<code>public ContextTypeRegistry <strong>getXPathTemplateContextRegistry</strong>()</code>
</p>
<p>Returns the template context type registry for xpath</p>
<h3>Returns</h3>
<p>
<code>ContextTypeRegistry</code> - the template context type registry for xpath</p>
<hr>
<h2>getXPathTemplateStore</h2>
<p>
<code>public TemplateStore <strong>getXPathTemplateStore</strong>()</code>
</p>
<p>Returns the template store for the xpath templates.</p>
<h3>Returns</h3>
<p>
<code>TemplateStore</code> - the template store for the xpath templates</p>
<hr>
<h2>info</h2>
<p>
<code>public void <strong>info</strong>(java.lang.String message)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>message</code>
</p>
<hr>
<h2>initializeImageRegistry</h2>
<p>
<code>protected void <strong>initializeImageRegistry</strong>(ImageRegistry reg)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>reg</code>
</p>
<hr>
<h2>log</h2>
<p>
<code>public void <strong>log</strong>(java.lang.String message
         ,
      java.lang.Throwable ex)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>message</code>
</p>
<p>
<code>ex</code>
</p>
<hr>
<h2>log</h2>
<p>
<code>public void <strong>log</strong>(java.lang.Throwable ex)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>ex</code>
</p>
<hr>
<h2>partActivated</h2>
<p>
<code>public void <strong>partActivated</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>partBroughtToTop</h2>
<p>
<code>public void <strong>partBroughtToTop</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>partClosed</h2>
<p>
<code>public void <strong>partClosed</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>partDeactivated</h2>
<p>
<code>public void <strong>partDeactivated</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>partHidden</h2>
<p>
<code>public void <strong>partHidden</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>partInputChanged</h2>
<p>
<code>public void <strong>partInputChanged</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>partOpened</h2>
<p>
<code>public void <strong>partOpened</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>partVisible</h2>
<p>
<code>public void <strong>partVisible</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>start</h2>
<p>
<code>public void <strong>start</strong>(BundleContext context)</code>
</p>
<p>This method is called upon plug-in activation</p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<h2>stop</h2>
<p>
<code>public void <strong>stop</strong>(BundleContext context)</code>
</p>
<p>This method is called when the plug-in is stopped</p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<h2>throwCoreException</h2>
<p>
<code>public void <strong>throwCoreException</strong>(java.lang.String message
         ,
      java.lang.Throwable t)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>message</code>
</p>
<p>
<code>t</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>updateXPathNavigatorView</h2>
<p>
<code>protected void <strong>updateXPathNavigatorView</strong>(IWorkbenchPartReference partRef)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>partRef</code>
</p>
<hr>
<h2>warn</h2>
<p>
<code>public void <strong>warn</strong>(java.lang.String message)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>message</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal</strong></font>
<br>
            Class XPathUIMessages</h2>
<br>
<hr>
<pre>public class <strong>XPathUIMessages</strong>
extends NLS</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathPrefencePage_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XPathPrefencePage_0</h2>
<p>
<code>public static  java.lang.String <strong>XPathPrefencePage_0</strong></code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal.preferences</strong></font>
<br>
            Class XPathPrefencePage</h2>
<br>
<hr>
<pre>public class <strong>XPathPrefencePage</strong>
extends AbstractPreferencePage</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathPrefencePage</strong>()</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>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createContents(org.eclipse.swt.widgets.Composite parent)</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>XPathPrefencePage</h2>
<p>
<code>public <strong>XPathPrefencePage</strong>()</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>createContents</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createContents</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal.preferences</strong></font>
<br>
            Class XPathTemplatePreferencePage</h2>
<br>
<hr>
<pre>public class <strong>XPathTemplatePreferencePage</strong>
extends XMLTemplatePreferencePage</pre>XSLTemplatePreferencePage sets up the template preference page that
 contains the templates for xpath, xpath 2.0, axis, operators, and 
 exslt functions.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathTemplatePreferencePage</strong>()</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 boolean</code></td><td width="" align="left"><code>performOk()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               (non-Javadoc)</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>XPathTemplatePreferencePage</h2>
<p>
<code>public <strong>XPathTemplatePreferencePage</strong>()</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>performOk</h2>
<p>
<code>public boolean <strong>performOk</strong>()</code>
</p>
<p>(non-Javadoc)</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class DOMNodeLabelProvider</h2>
<br>
<hr>
<pre>public class <strong>DOMNodeLabelProvider</strong>
extends LabelProvider</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>DOMNodeLabelProvider</strong>()</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 org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.Object element)</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>getText(java.lang.Object element)</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>DOMNodeLabelProvider</h2>
<p>
<code>public <strong>DOMNodeLabelProvider</strong>()</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>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getText</h2>
<p>
<code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class DOMTreeContentProvider</h2>
<br>
<hr>
<pre>public class <strong>DOMTreeContentProvider</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private org.w3c.dom.Node</code></td><td width="80%" align="left"><code>node</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private static  java.lang.Object[]</code></td><td width="80%" align="left"><code>NOTHING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>DOMTreeContentProvider</strong>()</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getChildren(java.lang.Object parentElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getElements(java.lang.Object inputElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code>getParent(java.lang.Object element)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>hasChildren(java.lang.Object element)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>inputChanged(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>node</h2>
<p>
<code>package-private org.w3c.dom.Node <strong>node</strong></code>
</p>
<hr>
<h2>NOTHING</h2>
<p>
<code>package-private static  java.lang.Object[] <strong>NOTHING</strong></code>
</p>
<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>DOMTreeContentProvider</h2>
<p>
<code>public <strong>DOMTreeContentProvider</strong>()</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getChildren</h2>
<p>
<code>public java.lang.Object[] <strong>getChildren</strong>(java.lang.Object parentElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parentElement</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>getElements</h2>
<p>
<code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputElement</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>getParent</h2>
<p>
<code>public java.lang.Object <strong>getParent</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<h2>hasChildren</h2>
<p>
<code>public boolean <strong>hasChildren</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>inputChanged</h2>
<p>
<code>public void <strong>inputChanged</strong>(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>oldInput</code>
</p>
<p>
<code>newInput</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class DOMViewerFilter</h2>
<br>
<hr>
<pre>public class <strong>DOMViewerFilter</strong>
extends ViewerFilter</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>DOMViewerFilter</strong>()</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 boolean</code></td><td width="" align="left"><code>select(Viewer viewer
         ,
      java.lang.Object parentElement
         ,
      java.lang.Object element)</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>DOMViewerFilter</h2>
<p>
<code>public <strong>DOMViewerFilter</strong>()</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>select</h2>
<p>
<code>public boolean <strong>select</strong>(Viewer viewer
         ,
      java.lang.Object parentElement
         ,
      java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>parentElement</code>
</p>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class EditNamespacePrefixDialog</h2>
<br>
<hr>
<pre>public class <strong>EditNamespacePrefixDialog</strong>
extends Dialog</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Label</code></td><td width="80%" align="left"><code>errorMessageLabel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.List</code></td><td width="80%" align="left"><code>namespaceInfoList</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IPath</code></td><td width="80%" align="left"><code>resourceLocation</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>EditNamespacePrefixDialog</strong>(org.eclipse.swt.widgets.Shell parentShell
         ,
      IPath resourceLocation)</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>protected void</code></td><td width="" align="left"><code>createButtonsForButtonBar(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createDialogArea(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>getDialogArea(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getNamespaceInfoList()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setNamespaceInfoList(java.util.List list)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>updateErrorMessage(java.util.List namespaceInfoList)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>updateOccured(java.lang.Object object
         ,
      java.lang.Object arg)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>errorMessageLabel</h2>
<p>
<code>protected org.eclipse.swt.widgets.Label <strong>errorMessageLabel</strong></code>
</p>
<hr>
<h2>namespaceInfoList</h2>
<p>
<code>protected java.util.List <strong>namespaceInfoList</strong></code>
</p>
<hr>
<h2>resourceLocation</h2>
<p>
<code>protected IPath <strong>resourceLocation</strong></code>
</p>
<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>EditNamespacePrefixDialog</h2>
<p>
<code>public <strong>EditNamespacePrefixDialog</strong>(org.eclipse.swt.widgets.Shell parentShell
         ,
      IPath resourceLocation)</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>createButtonsForButtonBar</h2>
<p>
<code>protected void <strong>createButtonsForButtonBar</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>createDialogArea</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createDialogArea</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>getDialogArea</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>getDialogArea</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>getNamespaceInfoList</h2>
<p>
<code>public java.util.List <strong>getNamespaceInfoList</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.List</code>
</p>
<hr>
<h2>setNamespaceInfoList</h2>
<p>
<code>public void <strong>setNamespaceInfoList</strong>(java.util.List list)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>list</code>
</p>
<hr>
<h2>updateErrorMessage</h2>
<p>
<code>public void <strong>updateErrorMessage</strong>(java.util.List namespaceInfoList)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>namespaceInfoList</code>
</p>
<hr>
<h2>updateOccured</h2>
<p>
<code>public void <strong>updateOccured</strong>(java.lang.Object object
         ,
      java.lang.Object arg)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>object</code>
</p>
<p>
<code>arg</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator</h2>
<br>
<hr>
<pre>public class <strong>XPathNavigator</strong>
extends ViewPart</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IMemento</code></td><td width="80%" align="left"><code>memento</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MEMENTO_QUERYCONTEXT_DOCUMENT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MEMENTO_QUERYCONTEXT_KEY</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MEMENTO_QUERYCONTEXT_SELECTION</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MEMENTO_XPATHNAVIGATOR_SECTION</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MEMENTO_XPATHQUERY_KEY</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.WeakHashMap</code></td><td width="80%" align="left"><code>namespaceInfo</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator</strong>()</code></td>
</tr>
<tr>
<td><code><strong>XPathNavigator.EditorReferenceLabelProvider</strong>()</code></td>
</tr>
<tr>
<td><code><strong>XPathNavigator.RefreshAction</strong>()</code></td>
</tr>
<tr>
<td><code><strong>XPathNavigator.ShowInSourceAction</strong>()</code></td>
</tr>
<tr>
<td><code><strong>XPathNavigator.XMLEditorsContentProvider</strong>()</code></td>
</tr>
<tr>
<td><code><strong>XPathNavigator.XPathAction</strong>()</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 void</code></td><td width="" align="left"><code>createPartControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               This is a callback that will allow us to create the viewer and initialize
 it.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.w3c.dom.Element</code></td><td width="" align="left"><code>getQueryContext()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.w3c.dom.Document</code></td><td width="" align="left"><code>getSelectedDocument()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>init(IViewSite site
         ,
      IMemento memento)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>restoreState()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>saveState(IMemento memento)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setFocus()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Passing the focus request to the viewer's control.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>update()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>memento</h2>
<p>
<code>protected IMemento <strong>memento</strong></code>
</p>
<hr>
<h2>MEMENTO_QUERYCONTEXT_DOCUMENT</h2>
<p>
<code>public static  java.lang.String <strong>MEMENTO_QUERYCONTEXT_DOCUMENT</strong></code>
</p>
<hr>
<h2>MEMENTO_QUERYCONTEXT_KEY</h2>
<p>
<code>public static  java.lang.String <strong>MEMENTO_QUERYCONTEXT_KEY</strong></code>
</p>
<hr>
<h2>MEMENTO_QUERYCONTEXT_SELECTION</h2>
<p>
<code>public static  java.lang.String <strong>MEMENTO_QUERYCONTEXT_SELECTION</strong></code>
</p>
<hr>
<h2>MEMENTO_XPATHNAVIGATOR_SECTION</h2>
<p>
<code>public static  java.lang.String <strong>MEMENTO_XPATHNAVIGATOR_SECTION</strong></code>
</p>
<hr>
<h2>MEMENTO_XPATHQUERY_KEY</h2>
<p>
<code>public static  java.lang.String <strong>MEMENTO_XPATHQUERY_KEY</strong></code>
</p>
<hr>
<h2>namespaceInfo</h2>
<p>
<code>protected java.util.WeakHashMap <strong>namespaceInfo</strong></code>
</p>
<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>XPathNavigator</h2>
<p>
<code>public <strong>XPathNavigator</strong>()</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>createPartControl</h2>
<p>
<code>public void <strong>createPartControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p>This is a callback that will allow us to create the viewer and initialize
 it.</p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getQueryContext</h2>
<p>
<code>protected org.w3c.dom.Element <strong>getQueryContext</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Element</code>
</p>
<hr>
<h2>getSelectedDocument</h2>
<p>
<code>protected org.w3c.dom.Document <strong>getSelectedDocument</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Document</code>
</p>
<hr>
<h2>init</h2>
<p>
<code>public void <strong>init</strong>(IViewSite site
         ,
      IMemento memento)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>site</code>
</p>
<p>
<code>memento</code>
</p>
<h3>Throws:</h3>
<p>
<code>PartInitException</code>
</p>
<hr>
<h2>restoreState</h2>
<p>
<code>protected void <strong>restoreState</strong>()</code>
</p>
<p></p>
<hr>
<h2>saveState</h2>
<p>
<code>public void <strong>saveState</strong>(IMemento memento)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>memento</code>
</p>
<hr>
<h2>setFocus</h2>
<p>
<code>public void <strong>setFocus</strong>()</code>
</p>
<p>Passing the focus request to the viewer's control.</p>
<hr>
<h2>update</h2>
<p>
<code>public void <strong>update</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.XPathAction</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.XPathAction</strong>
extends Action</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.XPathAction</strong>()</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 void</code></td><td width="" align="left"><code>run()</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>XPathNavigator.XPathAction</h2>
<p>
<code>package-private <strong>XPathNavigator.XPathAction</strong>()</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.RefreshAction</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.RefreshAction</strong>
extends Action</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.RefreshAction</strong>()</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 void</code></td><td width="" align="left"><code>run()</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>XPathNavigator.RefreshAction</h2>
<p>
<code>package-private <strong>XPathNavigator.RefreshAction</strong>()</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.ShowInSourceAction</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.ShowInSourceAction</strong>
extends Action</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.ShowInSourceAction</strong>()</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 void</code></td><td width="" align="left"><code>run()</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>XPathNavigator.ShowInSourceAction</h2>
<p>
<code>package-private <strong>XPathNavigator.ShowInSourceAction</strong>()</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.XMLEditorsContentProvider</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.XMLEditorsContentProvider</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.XMLEditorsContentProvider</strong>()</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getElements(java.lang.Object inputElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>inputChanged(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</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>XPathNavigator.XMLEditorsContentProvider</h2>
<p>
<code>package-private <strong>XPathNavigator.XMLEditorsContentProvider</strong>()</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getElements</h2>
<p>
<code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputElement</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>inputChanged</h2>
<p>
<code>public void <strong>inputChanged</strong>(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>oldInput</code>
</p>
<p>
<code>newInput</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.EditorReferenceLabelProvider</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.EditorReferenceLabelProvider</strong>
extends LabelProvider</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  char</code></td><td width="80%" align="left"><code>DIRTY_INDICATOR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A string used to indicate that an editor is dirty</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.EditorReferenceLabelProvider</strong>()</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 org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.Object element)</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>getText(java.lang.Object element)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>DIRTY_INDICATOR</h2>
<p>
<code>public static  char <strong>DIRTY_INDICATOR</strong></code>
</p>
<table>
<tr>
<td>A string used to indicate that an editor is dirty</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>XPathNavigator.EditorReferenceLabelProvider</h2>
<p>
<code>package-private <strong>XPathNavigator.EditorReferenceLabelProvider</strong>()</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>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getText</h2>
<p>
<code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.XPathAction</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.XPathAction</strong>
extends Action</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.XPathAction</strong>()</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 void</code></td><td width="" align="left"><code>run()</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>XPathNavigator.XPathAction</h2>
<p>
<code>package-private <strong>XPathNavigator.XPathAction</strong>()</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.RefreshAction</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.RefreshAction</strong>
extends Action</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.RefreshAction</strong>()</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 void</code></td><td width="" align="left"><code>run()</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>XPathNavigator.RefreshAction</h2>
<p>
<code>package-private <strong>XPathNavigator.RefreshAction</strong>()</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.ShowInSourceAction</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.ShowInSourceAction</strong>
extends Action</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.ShowInSourceAction</strong>()</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 void</code></td><td width="" align="left"><code>run()</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>XPathNavigator.ShowInSourceAction</h2>
<p>
<code>package-private <strong>XPathNavigator.ShowInSourceAction</strong>()</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.XMLEditorsContentProvider</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.XMLEditorsContentProvider</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.XMLEditorsContentProvider</strong>()</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getElements(java.lang.Object inputElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>inputChanged(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</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>XPathNavigator.XMLEditorsContentProvider</h2>
<p>
<code>package-private <strong>XPathNavigator.XMLEditorsContentProvider</strong>()</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getElements</h2>
<p>
<code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputElement</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>inputChanged</h2>
<p>
<code>public void <strong>inputChanged</strong>(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>oldInput</code>
</p>
<p>
<code>newInput</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font>
<br>
            Class XPathNavigator.EditorReferenceLabelProvider</h2>
<br>
<hr>
<pre>package-private class <strong>XPathNavigator.EditorReferenceLabelProvider</strong>
extends LabelProvider</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  char</code></td><td width="80%" align="left"><code>DIRTY_INDICATOR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A string used to indicate that an editor is dirty</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathNavigator.EditorReferenceLabelProvider</strong>()</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 org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.Object element)</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>getText(java.lang.Object element)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>DIRTY_INDICATOR</h2>
<p>
<code>public static  char <strong>DIRTY_INDICATOR</strong></code>
</p>
<table>
<tr>
<td>A string used to indicate that an editor is dirty</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>XPathNavigator.EditorReferenceLabelProvider</h2>
<p>
<code>package-private <strong>XPathNavigator.EditorReferenceLabelProvider</strong>()</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>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getText</h2>
<p>
<code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
<br>
            Class JFaceNodeContentProviderXPath</h2>
<br>
<hr>
<pre>public class <strong>JFaceNodeContentProviderXPath</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>JFaceNodeContentProviderXPath</strong>()</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IJFaceNodeAdapter</code></td><td width="" align="left"><code>getAdapter(java.lang.Object adaptable)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getChildren(java.lang.Object object)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getElements(java.lang.Object object)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code>getParent(java.lang.Object object)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>hasChildren(java.lang.Object object)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>inputChanged(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</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>JFaceNodeContentProviderXPath</h2>
<p>
<code>public <strong>JFaceNodeContentProviderXPath</strong>()</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getAdapter</h2>
<p>
<code>protected IJFaceNodeAdapter <strong>getAdapter</strong>(java.lang.Object adaptable)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>adaptable</code>
</p>
<h3>Returns</h3>
<p>
<code>IJFaceNodeAdapter</code>
</p>
<hr>
<h2>getChildren</h2>
<p>
<code>public java.lang.Object[] <strong>getChildren</strong>(java.lang.Object object)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>object</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>getElements</h2>
<p>
<code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object object)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>object</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>getParent</h2>
<p>
<code>public java.lang.Object <strong>getParent</strong>(java.lang.Object object)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>object</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<h2>hasChildren</h2>
<p>
<code>public boolean <strong>hasChildren</strong>(java.lang.Object object)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>object</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>inputChanged</h2>
<p>
<code>public void <strong>inputChanged</strong>(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>oldInput</code>
</p>
<p>
<code>newInput</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
<br>
            Class JFaceNodeLabelProviderXPath</h2>
<br>
<hr>
<pre>public class <strong>JFaceNodeLabelProviderXPath</strong>
extends LabelProvider</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>JFaceNodeLabelProviderXPath</strong>()</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>protected IJFaceNodeAdapter</code></td><td width="" align="left"><code>getAdapter(java.lang.Object adaptable)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.Object element)</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>getText(java.lang.Object element)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isLabelProperty(java.lang.Object element
         ,
      java.lang.String property)</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>JFaceNodeLabelProviderXPath</h2>
<p>
<code>public <strong>JFaceNodeLabelProviderXPath</strong>()</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>getAdapter</h2>
<p>
<code>protected IJFaceNodeAdapter <strong>getAdapter</strong>(java.lang.Object adaptable)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>adaptable</code>
</p>
<h3>Returns</h3>
<p>
<code>IJFaceNodeAdapter</code>
</p>
<hr>
<h2>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getText</h2>
<p>
<code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>isLabelProperty</h2>
<p>
<code>public boolean <strong>isLabelProperty</strong>(java.lang.Object element
         ,
      java.lang.String property)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<p>
<code>property</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends NLS</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathComputer_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathComputer_5</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathView_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathView_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathView_2</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathView_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathViewActions_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPathViewActions_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XPathComputer_0</h2>
<p>
<code>public static  java.lang.String <strong>XPathComputer_0</strong></code>
</p>
<hr>
<h2>XPathComputer_5</h2>
<p>
<code>public static  java.lang.String <strong>XPathComputer_5</strong></code>
</p>
<hr>
<h2>XPathView_0</h2>
<p>
<code>public static  java.lang.String <strong>XPathView_0</strong></code>
</p>
<hr>
<h2>XPathView_1</h2>
<p>
<code>public static  java.lang.String <strong>XPathView_1</strong></code>
</p>
<hr>
<h2>XPathView_2</h2>
<p>
<code>public static  java.lang.String <strong>XPathView_2</strong></code>
</p>
<hr>
<h2>XPathView_8</h2>
<p>
<code>public static  java.lang.String <strong>XPathView_8</strong></code>
</p>
<hr>
<h2>XPathViewActions_0</h2>
<p>
<code>public static  java.lang.String <strong>XPathViewActions_0</strong></code>
</p>
<hr>
<h2>XPathViewActions_1</h2>
<p>
<code>public static  java.lang.String <strong>XPathViewActions_1</strong></code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
<br>
            Class XPathComputer</h2>
<br>
<hr>
<pre>public class <strong>XPathComputer</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathComputer</strong>(org.eclipse.wst.xml.xpath.internal.ui.views.XPathView xpathView)</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 void</code></td><td width="" align="left"><code>compute()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setModel(IStructuredModel model)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setSelectedNode(org.w3c.dom.Node node)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setText(java.lang.String text)</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>XPathComputer</h2>
<p>
<code>public <strong>XPathComputer</strong>(org.eclipse.wst.xml.xpath.internal.ui.views.XPathView xpathView)</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>compute</h2>
<p>
<code>public void <strong>compute</strong>()</code>
</p>
<p></p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>setModel</h2>
<p>
<code>public void <strong>setModel</strong>(IStructuredModel model)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>model</code>
</p>
<hr>
<h2>setSelectedNode</h2>
<p>
<code>public void <strong>setSelectedNode</strong>(org.w3c.dom.Node node)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>node</code>
</p>
<hr>
<h2>setText</h2>
<p>
<code>public void <strong>setText</strong>(java.lang.String text)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>text</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.xpath.XPathExpressionException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
<br>
            Class XPathView</h2>
<br>
<hr>
<pre>public class <strong>XPathView</strong>
extends ViewPart</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathView</strong>()</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 void</code></td><td width="" align="left"><code>createPartControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code>getAdapter(java.lang.Class key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>init(IViewSite site
         ,
      IMemento memento)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>saveState(IMemento memento)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setFocus()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code>xpathRecomputed(org.w3c.dom.NodeList nodeList)</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>XPathView</h2>
<p>
<code>public <strong>XPathView</strong>()</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>createPartControl</h2>
<p>
<code>public void <strong>createPartControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getAdapter</h2>
<p>
<code>public java.lang.Object <strong>getAdapter</strong>(java.lang.Class key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<h2>init</h2>
<p>
<code>public void <strong>init</strong>(IViewSite site
         ,
      IMemento memento)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>site</code>
</p>
<p>
<code>memento</code>
</p>
<h3>Throws:</h3>
<p>
<code>PartInitException</code>
</p>
<hr>
<h2>saveState</h2>
<p>
<code>public void <strong>saveState</strong>(IMemento memento)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>memento</code>
</p>
<hr>
<h2>setFocus</h2>
<p>
<code>public void <strong>setFocus</strong>()</code>
</p>
<p></p>
<hr>
<h2>xpathRecomputed</h2>
<p>
<code>package-private void <strong>xpathRecomputed</strong>(org.w3c.dom.NodeList nodeList)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>nodeList</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.internal.ui.views</strong></font>
<br>
            Class XPathViewActions</h2>
<br>
<hr>
<pre>package-private class <strong>XPathViewActions</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code>linkWithEditor</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathViewActions</strong>()</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>protected IAction[]</code></td><td width="" align="left"><code>createMenuContributions(TreeViewer viewer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IAction[]</code></td><td width="" align="left"><code>createToolbarContributions(TreeViewer viewer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code>fillContextMenu(IMenuManager manager)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ISelection</code></td><td width="" align="left"><code>getSelection(TreeViewer viewer
         ,
      ISelection selection)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isLinkedWithEditor(TreeViewer treeViewer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code>setLinkWithEditor(boolean isLinkWithEditor)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>linkWithEditor</h2>
<p>
<code>package-private boolean <strong>linkWithEditor</strong></code>
</p>
<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>XPathViewActions</h2>
<p>
<code>package-private <strong>XPathViewActions</strong>()</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>createMenuContributions</h2>
<p>
<code>protected IAction[] <strong>createMenuContributions</strong>(TreeViewer viewer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<h3>Returns</h3>
<p>
<code>IAction[]</code>
</p>
<hr>
<h2>createToolbarContributions</h2>
<p>
<code>protected IAction[] <strong>createToolbarContributions</strong>(TreeViewer viewer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<h3>Returns</h3>
<p>
<code>IAction[]</code>
</p>
<hr>
<h2>fillContextMenu</h2>
<p>
<code>package-private void <strong>fillContextMenu</strong>(IMenuManager manager)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>manager</code>
</p>
<hr>
<h2>getSelection</h2>
<p>
<code>public ISelection <strong>getSelection</strong>(TreeViewer viewer
         ,
      ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>ISelection</code>
</p>
<hr>
<h2>isLinkedWithEditor</h2>
<p>
<code>public boolean <strong>isLinkedWithEditor</strong>(TreeViewer treeViewer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>treeViewer</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>setLinkWithEditor</h2>
<p>
<code>package-private void <strong>setLinkWithEditor</strong>(boolean isLinkWithEditor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>isLinkWithEditor</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal.contentassist</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal.contentassist</strong></font>
<br>
            Class CustomTemplateProposal</h2>
<br>
<hr>
<pre>public class <strong>CustomTemplateProposal</strong>
extends TemplateProposal</pre>Purpose of this class is to make the additional proposal info into content
 fit for an HTML viewer (by escaping characters)<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>CustomTemplateProposal</strong>(Template template
         ,
      TemplateContext context
         ,
      IRegion region
         ,
      org.eclipse.swt.graphics.Image image
         ,
      int relevance)</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>getAdditionalProposalInfo()</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>getDisplayString()</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>CustomTemplateProposal</h2>
<p>
<code>public <strong>CustomTemplateProposal</strong>(Template template
         ,
      TemplateContext context
         ,
      IRegion region
         ,
      org.eclipse.swt.graphics.Image image
         ,
      int relevance)</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>getAdditionalProposalInfo</h2>
<p>
<code>public java.lang.String <strong>getAdditionalProposalInfo</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getDisplayString</h2>
<p>
<code>public java.lang.String <strong>getDisplayString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal.contentassist</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal.contentassist</strong></font>
<br>
            Class XPathTemplateCompletionProcessor</h2>
<br>
<hr>
<pre>public class <strong>XPathTemplateCompletionProcessor</strong>
extends TemplateCompletionProcessor</pre>Completion processor for XML Templates. Most of the work is already done by
 the XML Content Assist processor, so by the time the
 XMLTemplateCompletionProcessor is asked for content assist proposals, the
 XML content assist processor has already set the context type for
 templates.<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathTemplateCompletionProcessor</strong>()</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 ICompletionProposal[]</code></td><td width="" align="left"><code>computeCompletionProposals(ITextViewer viewer
         ,
      int offset)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected ICompletionProposal</code></td><td width="" align="left"><code>createProposal(Template template
         ,
      TemplateContext context
         ,
      IRegion region
         ,
      int relevance)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected TemplateContextType</code></td><td width="" align="left"><code>getContextType(ITextViewer viewer
         ,
      IRegion region)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(Template template)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected Template[]</code></td><td width="" align="left"><code>getTemplates(java.lang.String contextTypeId)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setContextType(java.lang.String contextTypeId)</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>XPathTemplateCompletionProcessor</h2>
<p>
<code>public <strong>XPathTemplateCompletionProcessor</strong>()</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>computeCompletionProposals</h2>
<p>
<code>public ICompletionProposal[] <strong>computeCompletionProposals</strong>(ITextViewer viewer
         ,
      int offset)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>offset</code>
</p>
<h3>Returns</h3>
<p>
<code>ICompletionProposal[]</code>
</p>
<hr>
<h2>createProposal</h2>
<p>
<code>protected ICompletionProposal <strong>createProposal</strong>(Template template
         ,
      TemplateContext context
         ,
      IRegion region
         ,
      int relevance)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>template</code>
</p>
<p>
<code>context</code>
</p>
<p>
<code>region</code>
</p>
<p>
<code>relevance</code>
</p>
<h3>Returns</h3>
<p>
<code>ICompletionProposal</code>
</p>
<hr>
<h2>getContextType</h2>
<p>
<code>protected TemplateContextType <strong>getContextType</strong>(ITextViewer viewer
         ,
      IRegion region)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>region</code>
</p>
<h3>Returns</h3>
<p>
<code>TemplateContextType</code>
</p>
<hr>
<h2>getImage</h2>
<p>
<code>protected org.eclipse.swt.graphics.Image <strong>getImage</strong>(Template template)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>template</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getTemplates</h2>
<p>
<code>protected Template[] <strong>getTemplates</strong>(java.lang.String contextTypeId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>contextTypeId</code>
</p>
<h3>Returns</h3>
<p>
<code>Template[]</code>
</p>
<hr>
<h2>setContextType</h2>
<p>
<code>public void <strong>setContextType</strong>(java.lang.String contextTypeId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>contextTypeId</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal.templates</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal.templates</strong></font>
<br>
            Class TemplateContextTypeIdsXPath</h2>
<br>
<hr>
<pre>public class <strong>TemplateContextTypeIdsXPath</strong>
extends java.lang.Object</pre>This class contains the names and values for the XSL ContenxtTypes for
 the XPath completion proposals.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AXIS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>CUSTOM</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>EXSLT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OPERATOR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATH2</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>TemplateContextTypeIdsXPath</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>AXIS</h2>
<p>
<code>public static  java.lang.String <strong>AXIS</strong></code>
</p>
<table>
<tr>
<td>TODO: Add Javadoc</td>
</tr>
</table>
<hr>
<h2>CUSTOM</h2>
<p>
<code>public static  java.lang.String <strong>CUSTOM</strong></code>
</p>
<table>
<tr>
<td>TODO: Add Javadoc</td>
</tr>
</table>
<hr>
<h2>EXSLT</h2>
<p>
<code>public static  java.lang.String <strong>EXSLT</strong></code>
</p>
<table>
<tr>
<td>TODO: Add Javadoc</td>
</tr>
</table>
<hr>
<h2>OPERATOR</h2>
<p>
<code>public static  java.lang.String <strong>OPERATOR</strong></code>
</p>
<table>
<tr>
<td>TODO: Add Javadoc</td>
</tr>
</table>
<hr>
<h2>XPATH</h2>
<p>
<code>public static  java.lang.String <strong>XPATH</strong></code>
</p>
<table>
<tr>
<td>TODO: Add Javadoc</td>
</tr>
</table>
<hr>
<h2>XPATH2</h2>
<p>
<code>public static  java.lang.String <strong>XPATH2</strong></code>
</p>
<table>
<tr>
<td>TODO: Add Javadoc</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>TemplateContextTypeIdsXPath</h2>
<p>
<code>public <strong>TemplateContextTypeIdsXPath</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal.util</strong></font>
<br>
            Class XPathPluginImageHelper</h2>
<br>
<hr>
<pre>public class <strong>XPathPluginImageHelper</strong>
extends java.lang.Object</pre>Helper class to handle images provided by this plug-in.
 
 NOTE: For internal use only. For images used externally, please use the
 Shared***ImageHelper class instead.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathPluginImageHelper</strong>()</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 org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.String resource)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the image associated with resource from the image registry.
 If the image cannot be retrieved, attempt to find and load the image at
 the location specified in resource.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ImageDescriptor</code></td><td width="" align="left"><code>getImageDescriptor(java.lang.String resource)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the image descriptor associated with resource from the image
 descriptor registry. If the image descriptor cannot be retrieved,
 attempt to find and load the image descriptor at the location specified
 in resource.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath.ui.internal.util.XPathPluginImageHelper</code></td><td width="" align="left"><code>getInstance()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Gets the instance.</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>XPathPluginImageHelper</h2>
<p>
<code>public <strong>XPathPluginImageHelper</strong>()</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>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.String resource)</code>
</p>
<p>Retrieves the image associated with resource from the image registry.
 If the image cannot be retrieved, attempt to find and load the image at
 the location specified in resource.</p>
<h3>Parameters</h3>
<p>
<code>resource</code> - the image to retrieve</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code> - Image the image associated with resource or null if one could          not be found</p>
<hr>
<h2>getImageDescriptor</h2>
<p>
<code>public ImageDescriptor <strong>getImageDescriptor</strong>(java.lang.String resource)</code>
</p>
<p>Retrieves the image descriptor associated with resource from the image
 descriptor registry. If the image descriptor cannot be retrieved,
 attempt to find and load the image descriptor at the location specified
 in resource.</p>
<h3>Parameters</h3>
<p>
<code>resource</code> - the image descriptor to retrieve</p>
<h3>Returns</h3>
<p>
<code>ImageDescriptor</code> - ImageDescriptor the image descriptor assocated with resource or          the default "missing" image descriptor if one could not be          found</p>
<hr>
<h2>getInstance</h2>
<p>
<code>public org.eclipse.wst.xml.xpath.ui.internal.util.XPathPluginImageHelper <strong>getInstance</strong>()</code>
</p>
<p>Gets the instance.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xml.xpath.ui.internal.util.XPathPluginImageHelper</code> - Returns a XMLEditorPluginImageHelper</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.internal.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.internal.util</strong></font>
<br>
            Class XPathPluginImages</h2>
<br>
<hr>
<pre>public class <strong>XPathPluginImages</strong>
extends java.lang.Object</pre>Bundle of most images used by the XSL Plugins<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>IMG_OPERATOR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Path to the XPATH Images used for Content Assist</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>IMG_VARIABLES</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Path to the XPATH Images used for Content Assist</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>IMG_XPATH_AXIS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Path to the XPATH Images used for Content Assist</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>IMG_XPATH_FUNCTION</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Path to the XPATH Images used for Content Assist</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathPluginImages</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>IMG_OPERATOR</h2>
<p>
<code>public static  java.lang.String <strong>IMG_OPERATOR</strong></code>
</p>
<table>
<tr>
<td>Path to the XPATH Images used for Content Assist</td>
</tr>
</table>
<hr>
<h2>IMG_VARIABLES</h2>
<p>
<code>public static  java.lang.String <strong>IMG_VARIABLES</strong></code>
</p>
<table>
<tr>
<td>Path to the XPATH Images used for Content Assist</td>
</tr>
</table>
<hr>
<h2>IMG_XPATH_AXIS</h2>
<p>
<code>public static  java.lang.String <strong>IMG_XPATH_AXIS</strong></code>
</p>
<table>
<tr>
<td>Path to the XPATH Images used for Content Assist</td>
</tr>
</table>
<hr>
<h2>IMG_XPATH_FUNCTION</h2>
<p>
<code>public static  java.lang.String <strong>IMG_XPATH_FUNCTION</strong></code>
</p>
<table>
<tr>
<td>Path to the XPATH Images used for Content Assist</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>XPathPluginImages</h2>
<p>
<code>public <strong>XPathPluginImages</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core</strong></font>
<br>
            Class ValidationPreferences</h2>
<br>
<hr>
<pre>public class <strong>ValidationPreferences</strong>
extends java.lang.Object</pre>Preference constants specific to the XSL validator.<p></p>
<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>CALL_TEMPLATES</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which an unresolved called template is reported. 
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>CIRCULAR_REF</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which an include/import circular references is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>DUPLICATE_PARAMETER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which a duplicate parameter is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>EMPTY_PARAM</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which a parameter that does not have a default value and does not specify a value is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MAX_ERRORS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The maximum number of errors allowed per XSL file.
 &lt;p&gt;
 Value is of type &lt;code&gt;Integer&lt;/code&gt;.
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MISSING_INCLUDE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which an unresolved import or included is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MISSING_PARAM</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which a missing parameter is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>NAME_ATTRIBUTE_EMPTY</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which a parameter with an empty name attribute is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>NAME_ATTRIBUTE_MISSING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which a parameter without a name attribute is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>TEMPLATE_CONFLICT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which a template conflict is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATHS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The level at which an invalid XPath is reported.
 &lt;p&gt;
 Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
 &lt;/p&gt;</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ValidationPreferences</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>CALL_TEMPLATES</h2>
<p>
<code>public static  java.lang.String <strong>CALL_TEMPLATES</strong></code>
</p>
<table>
<tr>
<td>The level at which an unresolved called template is reported. 
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>CIRCULAR_REF</h2>
<p>
<code>public static  java.lang.String <strong>CIRCULAR_REF</strong></code>
</p>
<table>
<tr>
<td>The level at which an include/import circular references is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>DUPLICATE_PARAMETER</h2>
<p>
<code>public static  java.lang.String <strong>DUPLICATE_PARAMETER</strong></code>
</p>
<table>
<tr>
<td>The level at which a duplicate parameter is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>EMPTY_PARAM</h2>
<p>
<code>public static  java.lang.String <strong>EMPTY_PARAM</strong></code>
</p>
<table>
<tr>
<td>The level at which a parameter that does not have a default value and does not specify a value is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>MAX_ERRORS</h2>
<p>
<code>public static  java.lang.String <strong>MAX_ERRORS</strong></code>
</p>
<table>
<tr>
<td>The maximum number of errors allowed per XSL file.
 <p>
 Value is of type <code>Integer</code>.
 </p></td>
</tr>
</table>
<hr>
<h2>MISSING_INCLUDE</h2>
<p>
<code>public static  java.lang.String <strong>MISSING_INCLUDE</strong></code>
</p>
<table>
<tr>
<td>The level at which an unresolved import or included is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>MISSING_PARAM</h2>
<p>
<code>public static  java.lang.String <strong>MISSING_PARAM</strong></code>
</p>
<table>
<tr>
<td>The level at which a missing parameter is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>NAME_ATTRIBUTE_EMPTY</h2>
<p>
<code>public static  java.lang.String <strong>NAME_ATTRIBUTE_EMPTY</strong></code>
</p>
<table>
<tr>
<td>The level at which a parameter with an empty name attribute is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>NAME_ATTRIBUTE_MISSING</h2>
<p>
<code>public static  java.lang.String <strong>NAME_ATTRIBUTE_MISSING</strong></code>
</p>
<table>
<tr>
<td>The level at which a parameter without a name attribute is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>TEMPLATE_CONFLICT</h2>
<p>
<code>public static  java.lang.String <strong>TEMPLATE_CONFLICT</strong></code>
</p>
<table>
<tr>
<td>The level at which a template conflict is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></td>
</tr>
</table>
<hr>
<h2>XPATHS</h2>
<p>
<code>public static  java.lang.String <strong>XPATHS</strong></code>
</p>
<table>
<tr>
<td>The level at which an invalid XPath is reported.
 <p>
 Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
 </p></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>ValidationPreferences</h2>
<p>
<code>public <strong>ValidationPreferences</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core</strong></font>
<br>
            Class XSLCore</h2>
<br>
<hr>
<pre>public class <strong>XSLCore</strong>
extends java.lang.Object</pre>The interface to all aspects of the XSL core functionality.
 <p>
 This is responsible for building and maintaining the cache of built XSL models.
 </p><p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSL_CONTENT_TYPE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The XSL content type (= org.eclipse.wst.xml.core.xslsource)</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSL_NAMESPACE_URI</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The XSL namespace URI (= http://www.w3.org/1999/XSL/Transform)</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 org.eclipse.wst.xsl.core.internal.model.StylesheetModel</code></td><td width="" align="left"><code>buildStylesheet(IFile file)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Completely rebuild the source file from its DOM</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>clean(IProject project
         ,
      IProgressMonitor monitor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Clean all of the stylesheets from the given project.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.wst.xsl.core.XSLCore</code></td><td width="" align="left"><code>getInstance()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the singleton <code>XSLCore</code> instance.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.model.StylesheetModel</code></td><td width="" align="left"><code>getStylesheet(IFile file)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the cached stylesheet, or build it if it has not yet been built.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code>isXMLFile(IFile file)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Determine whether the given file is an XML file by inspecting its content types.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code>isXSLFile(IFile file)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Determine whether the given file is an XSL file by inspecting its content types.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code>isXSLNamespace(IDOMNode node)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static IFile</code></td><td width="" align="left"><code>resolveFile(IFile currentFile
         ,
      java.lang.String uri)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Locates a file for the given current file and URI.</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XSL_CONTENT_TYPE</h2>
<p>
<code>public static  java.lang.String <strong>XSL_CONTENT_TYPE</strong></code>
</p>
<table>
<tr>
<td>The XSL content type (= org.eclipse.wst.xml.core.xslsource)</td>
</tr>
</table>
<hr>
<h2>XSL_NAMESPACE_URI</h2>
<p>
<code>public static  java.lang.String <strong>XSL_NAMESPACE_URI</strong></code>
</p>
<table>
<tr>
<td>The XSL namespace URI (= http://www.w3.org/1999/XSL/Transform)</td>
</tr>
</table>
<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>buildStylesheet</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.StylesheetModel <strong>buildStylesheet</strong>(IFile file)</code>
</p>
<p>Completely rebuild the source file from its DOM</p>
<h3>Parameters</h3>
<p>
<code>file</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.StylesheetModel</code> - the stylesheet model, or null if it could not be created.</p>
<hr>
<h2>clean</h2>
<p>
<code>public void <strong>clean</strong>(IProject project
         ,
      IProgressMonitor monitor)</code>
</p>
<p>Clean all of the stylesheets from the given project.</p>
<h3>Parameters</h3>
<p>
<code>project</code> - the project to be cleaned</p>
<p>
<code>monitor</code> - a progress monitor to track the clean progress</p>
<hr>
<h2>getInstance</h2>
<p>
<code>public org.eclipse.wst.xsl.core.XSLCore <strong>getInstance</strong>()</code>
</p>
<p>Get the singleton <code>XSLCore</code> instance.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.XSLCore</code> - the <code>XSLCore</code> instance</p>
<hr>
<h2>getStylesheet</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.StylesheetModel <strong>getStylesheet</strong>(IFile file)</code>
</p>
<p>Get the cached stylesheet, or build it if it has not yet been built.</p>
<h3>Parameters</h3>
<p>
<code>file</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.StylesheetModel</code> - source file, or null if could not be built</p>
<hr>
<h2>isXMLFile</h2>
<p>
<code>public boolean <strong>isXMLFile</strong>(IFile file)</code>
</p>
<p>Determine whether the given file is an XML file by inspecting its content types.</p>
<h3>Parameters</h3>
<p>
<code>file</code> - the file to inspect</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - true if this file is an XML file</p>
<hr>
<h2>isXSLFile</h2>
<p>
<code>public boolean <strong>isXSLFile</strong>(IFile file)</code>
</p>
<p>Determine whether the given file is an XSL file by inspecting its content types.</p>
<h3>Parameters</h3>
<p>
<code>file</code> - the file to inspect</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - true if this file is an XSL file</p>
<hr>
<h2>isXSLNamespace</h2>
<p>
<code>public boolean <strong>isXSLNamespace</strong>(IDOMNode node)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>node</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>resolveFile</h2>
<p>
<code>public IFile <strong>resolveFile</strong>(IFile currentFile
         ,
      java.lang.String uri)</code>
</p>
<p>Locates a file for the given current file and URI.</p>
<h3>Parameters</h3>
<p>
<code>currentFile</code> - the file to resolve relative to</p>
<p>
<code>uri</code> - the relative URI</p>
<h3>Returns</h3>
<p>
<code>IFile</code> - the file at the URI relative to this <code>currentFile</code></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends NLS</pre>
<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLCorePlugin_badInitializationData</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLCorePlugin_coreError</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLCorePlugin_parserConfiguration</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Messages</strong>()</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 static void</code></td><td width="" align="left"><code>reloadMessages()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XSLCorePlugin_badInitializationData</h2>
<p>
<code>public static  java.lang.String <strong>XSLCorePlugin_badInitializationData</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XSLCorePlugin_coreError</h2>
<p>
<code>public static  java.lang.String <strong>XSLCorePlugin_coreError</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XSLCorePlugin_parserConfiguration</h2>
<p>
<code>public static  java.lang.String <strong>XSLCorePlugin_parserConfiguration</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</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>Messages</h2>
<p>
<code>public <strong>Messages</strong>()</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>reloadMessages</h2>
<p>
<code>public void <strong>reloadMessages</strong>()</code>
</p>
<p>TODO: Add JavaDoc</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal</strong></font>
<br>
            Class XSLCorePlugin</h2>
<br>
<hr>
<pre>public class <strong>XSLCorePlugin</strong>
extends Plugin</pre>The activator class controls the plug-in life cycle<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>PLUGIN_ID</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLCorePlugin</strong>()</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 static org.eclipse.wst.xsl.core.internal.XSLCorePlugin</code></td><td width="" align="left"><code>getDefault()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the shared instance</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public javax.xml.parsers.SAXParserFactory</code></td><td width="" align="left"><code>getFactory()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Return the registered SAX parser factory or null if one
 does not exist.	 * @return</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>log(IStatus status)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Logs the specified status with this plug-in's log.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static IStatus</code></td><td width="" align="left"><code>newErrorStatus(java.lang.String message
         ,
      java.lang.Throwable exception)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns a new error status for this plug-in with the given message</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>start(BundleContext context)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stop(BundleContext context)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>PLUGIN_ID</h2>
<p>
<code>public static  java.lang.String <strong>PLUGIN_ID</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</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>XSLCorePlugin</h2>
<p>
<code>public <strong>XSLCorePlugin</strong>()</code>
</p>
<p>The constructor</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>getDefault</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.XSLCorePlugin <strong>getDefault</strong>()</code>
</p>
<p>Returns the shared instance</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.XSLCorePlugin</code> - the shared instance</p>
<hr>
<h2>getFactory</h2>
<p>
<code>public javax.xml.parsers.SAXParserFactory <strong>getFactory</strong>()</code>
</p>
<p>Return the registered SAX parser factory or null if one
 does not exist.	 * @return</p>
<h3>Returns</h3>
<p>
<code>javax.xml.parsers.SAXParserFactory</code> - returns a SAXParserFactory</p>
<hr>
<h2>log</h2>
<p>
<code>public void <strong>log</strong>(IStatus status)</code>
</p>
<p>Logs the specified status with this plug-in's log.</p>
<h3>Parameters</h3>
<p>
<code>status</code> - status to log</p>
<hr>
<h2>newErrorStatus</h2>
<p>
<code>public IStatus <strong>newErrorStatus</strong>(java.lang.String message
         ,
      java.lang.Throwable exception)</code>
</p>
<p>Returns a new error status for this plug-in with the given message</p>
<h3>Parameters</h3>
<p>
<code>message</code> - the message to be included in the status</p>
<p>
<code>exception</code> - the exception to be included in the status or <code>null</code> if none</p>
<h3>Returns</h3>
<p>
<code>IStatus</code> - a new error status</p>
<hr>
<h2>start</h2>
<p>
<code>public void <strong>start</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<h2>stop</h2>
<p>
<code>public void <strong>stop</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.ant</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.ant</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends NLS</pre>The XInclude message properties for string externalization<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_2</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_3</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_4</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_5</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_6</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_7</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XIncludeTask_9</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XIncludeTask_0</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_0</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_1</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_1</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_2</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_2</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_3</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_3</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_4</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_4</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_5</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_5</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_6</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_6</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_7</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_7</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_8</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_8</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<h2>XIncludeTask_9</h2>
<p>
<code>public static  java.lang.String <strong>XIncludeTask_9</strong></code>
</p>
<table>
<tr>
<td>TODO: Add JavaDoc</td>
</tr>
</table>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.ant</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.ant</strong></font>
<br>
            Class XIncludeTask</h2>
<br>
<hr>
<pre>public class <strong>XIncludeTask</strong>
extends org.apache.tools.ant.Task</pre>TODO: Add Java Doc<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XIncludeTask</strong>()</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 void</code></td><td width="" align="left"><code>execute()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code>listFiles(java.io.File directory
         ,
      boolean recurse)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setIn(java.lang.String inFile)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setOut(java.lang.String outFile)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add JavaDoc</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>XIncludeTask</h2>
<p>
<code>public <strong>XIncludeTask</strong>()</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>execute</h2>
<p>
<code>public void <strong>execute</strong>()</code>
</p>
<p></p>
<hr>
<h2>listFiles</h2>
<p>
<code>public java.util.Collection <strong>listFiles</strong>(java.io.File directory
         ,
      boolean recurse)</code>
</p>
<p>TODO: Add JavaDoc</p>
<h3>Parameters</h3>
<p>
<code>directory</code>
</p>
<p>
<code>recurse</code>
</p>
<h3>Returns</h3>
<p>
<code>java.util.Collection</code>
</p>
<hr>
<h2>setIn</h2>
<p>
<code>public void <strong>setIn</strong>(java.lang.String inFile)</code>
</p>
<p>TODO: Add JavaDoc</p>
<h3>Parameters</h3>
<p>
<code>inFile</code>
</p>
<hr>
<h2>setOut</h2>
<p>
<code>public void <strong>setOut</strong>(java.lang.String outFile)</code>
</p>
<p>TODO: Add JavaDoc</p>
<h3>Parameters</h3>
<p>
<code>outFile</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class CallTemplate</h2>
<br>
<hr>
<pre>public class <strong>CallTemplate</strong>
extends org.eclipse.wst.xsl.core.internal.model.XSLElement</pre>The <code>xsl:call-template</code> model element.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>parameters</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>CallTemplate</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</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 void</code></td><td width="" align="left"><code>addParameter(org.eclipse.wst.xsl.core.internal.model.Parameter parameter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a parameter to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>name</code> attribute if one exists.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getParameters()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of parameters associated with this.</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>parameters</h2>
<p>
<code>package-private java.util.List <strong>parameters</strong></code>
</p>
<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>CallTemplate</h2>
<p>
<code>public <strong>CallTemplate</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</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>addParameter</h2>
<p>
<code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.core.internal.model.Parameter parameter)</code>
</p>
<p>Add a parameter to this.</p>
<h3>Parameters</h3>
<p>
<code>parameter</code> - the parameter to add</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p>Get the value of the <code>name</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the template name, or null</p>
<hr>
<h2>getParameters</h2>
<p>
<code>public java.util.List <strong>getParameters</strong>()</code>
</p>
<p>Get the list of parameters associated with this.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - a list of parameters</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class Import</h2>
<br>
<hr>
<pre>public class <strong>Import</strong>
extends org.eclipse.wst.xsl.core.internal.model.Include</pre>The <code>xsl:import</code> model element.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Import</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</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>Import</h2>
<p>
<code>public <strong>Import</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class Include</h2>
<br>
<hr>
<pre>public class <strong>Include</strong>
extends org.eclipse.wst.xsl.core.internal.model.XSLElement</pre>The <code>xsl:include</code> model element.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>IMPORT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant indicating that this is an &lt;code&gt;Import&lt;/code&gt;.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>INCLUDE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant indicating that this is an &lt;code&gt;Include&lt;/code&gt;.</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Include</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code></td>
</tr>
<tr>
<td><code><strong>Include</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet
         ,
      int type)</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>getHref()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>href</code> attribute if one exists.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IFile</code></td><td width="" align="left"><code>getHrefAsFile()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Gets the included file as a source file, if possible (returned file may be null and need not exist).</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getIncludeType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the type of include, whether an <code>Include</code> or an <code>Import</code>.</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>IMPORT</h2>
<p>
<code>public static  int <strong>IMPORT</strong></code>
</p>
<table>
<tr>
<td>Constant indicating that this is an <code>Import</code>.</td>
</tr>
</table>
<hr>
<h2>INCLUDE</h2>
<p>
<code>public static  int <strong>INCLUDE</strong></code>
</p>
<table>
<tr>
<td>Constant indicating that this is an <code>Include</code>.</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>Include</h2>
<p>
<code>public <strong>Include</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</p>
<hr>
<h2>Include</h2>
<p>
<code>protected <strong>Include</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet
         ,
      int type)</code>
</p>
<p>Create a new instance of this, specifying whether an <code>Include</code> or an <code>Import</code>.</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>getHref</h2>
<p>
<code>public java.lang.String <strong>getHref</strong>()</code>
</p>
<p>Get the value of the <code>href</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the <code>href</code> value, or null</p>
<hr>
<h2>getHrefAsFile</h2>
<p>
<code>public IFile <strong>getHrefAsFile</strong>()</code>
</p>
<p>Gets the included file as a source file, if possible (returned file may be null and need not exist).</p>
<h3>Returns</h3>
<p>
<code>IFile</code> - the included file, or null</p>
<hr>
<h2>getIncludeType</h2>
<p>
<code>public int <strong>getIncludeType</strong>()</code>
</p>
<p>Get the type of include, whether an <code>Include</code> or an <code>Import</code>.</p>
<h3>Returns</h3>
<p>
<code>int</code> - one of the constants <code>INCLUDE</code> or <code>IMPORT</code></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class Parameter</h2>
<br>
<hr>
<pre>public class <strong>Parameter</strong>
extends org.eclipse.wst.xsl.core.internal.model.Variable</pre>The <code>xsl:parameter</code> or <code>xsl:with-param</code> model element.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Parameter</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</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 boolean</code></td><td width="" align="left"><code>isValue()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get whether this has a value.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setValue(boolean valueSet)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set whether this has a value.</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>Parameter</h2>
<p>
<code>public <strong>Parameter</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</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>isValue</h2>
<p>
<code>public boolean <strong>isValue</strong>()</code>
</p>
<p>Get whether this has a value.</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - <code>true</code> if this has a value</p>
<hr>
<h2>setValue</h2>
<p>
<code>public void <strong>setValue</strong>(boolean valueSet)</code>
</p>
<p>Set whether this has a value.</p>
<h3>Parameters</h3>
<p>
<code>valueSet</code> - <code>true</code> if this has a value</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class Stylesheet</h2>
<br>
<hr>
<pre>public class <strong>Stylesheet</strong>
extends org.eclipse.wst.xsl.core.internal.model.XSLElement</pre>The <code>xsl:stylesheet</code> model element.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>calledTemplates</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>elements</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private IFile</code></td><td width="80%" align="left"><code>file</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>globalVariables</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>imports</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>includes</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>templates</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Stylesheet</strong>(IFile file)</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 void</code></td><td width="" align="left"><code>addCalledTemplate(org.eclipse.wst.xsl.core.internal.model.CallTemplate template)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a <code>CallTemplate</code> to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addGlobalVariable(org.eclipse.wst.xsl.core.internal.model.Variable var)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a global variable to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addImport(org.eclipse.wst.xsl.core.internal.model.Import include)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add an <code>Import</code> to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addInclude(org.eclipse.wst.xsl.core.internal.model.Include include)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add an <code>Include</code> to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addTemplate(org.eclipse.wst.xsl.core.internal.model.Template template)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a <code>Template</code> to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getCalledTemplates()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of called templates for this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IFile</code></td><td width="" align="left"><code>getFile()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the file that this represents.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getImports()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of imports for this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getIncludes()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of includes for this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet</code></td><td width="" align="left"><code>getStylesheet()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getTemplates()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of templates for this.</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>calledTemplates</h2>
<p>
<code>package-private java.util.List <strong>calledTemplates</strong></code>
</p>
<hr>
<h2>elements</h2>
<p>
<code>package-private java.util.List <strong>elements</strong></code>
</p>
<hr>
<h2>file</h2>
<p>
<code>package-private IFile <strong>file</strong></code>
</p>
<hr>
<h2>globalVariables</h2>
<p>
<code>package-private java.util.List <strong>globalVariables</strong></code>
</p>
<hr>
<h2>imports</h2>
<p>
<code>package-private java.util.List <strong>imports</strong></code>
</p>
<hr>
<h2>includes</h2>
<p>
<code>package-private java.util.List <strong>includes</strong></code>
</p>
<hr>
<h2>templates</h2>
<p>
<code>package-private java.util.List <strong>templates</strong></code>
</p>
<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>Stylesheet</h2>
<p>
<code>public <strong>Stylesheet</strong>(IFile file)</code>
</p>
<p>Create an instance of this.</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>addCalledTemplate</h2>
<p>
<code>public void <strong>addCalledTemplate</strong>(org.eclipse.wst.xsl.core.internal.model.CallTemplate template)</code>
</p>
<p>Add a <code>CallTemplate</code> to this.</p>
<h3>Parameters</h3>
<p>
<code>template</code> - the template to add</p>
<hr>
<h2>addGlobalVariable</h2>
<p>
<code>public void <strong>addGlobalVariable</strong>(org.eclipse.wst.xsl.core.internal.model.Variable var)</code>
</p>
<p>Add a global variable to this.</p>
<h3>Parameters</h3>
<p>
<code>var</code> - the variable to add</p>
<hr>
<h2>addImport</h2>
<p>
<code>public void <strong>addImport</strong>(org.eclipse.wst.xsl.core.internal.model.Import include)</code>
</p>
<p>Add an <code>Import</code> to this.</p>
<h3>Parameters</h3>
<p>
<code>include</code> - the import to add</p>
<hr>
<h2>addInclude</h2>
<p>
<code>public void <strong>addInclude</strong>(org.eclipse.wst.xsl.core.internal.model.Include include)</code>
</p>
<p>Add an <code>Include</code> to this.</p>
<h3>Parameters</h3>
<p>
<code>include</code> - the include to add</p>
<hr>
<h2>addTemplate</h2>
<p>
<code>public void <strong>addTemplate</strong>(org.eclipse.wst.xsl.core.internal.model.Template template)</code>
</p>
<p>Add a <code>Template</code> to this.</p>
<h3>Parameters</h3>
<p>
<code>template</code> - the template to add</p>
<hr>
<h2>getCalledTemplates</h2>
<p>
<code>public java.util.List <strong>getCalledTemplates</strong>()</code>
</p>
<p>Get the list of called templates for this.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of called templates</p>
<hr>
<h2>getFile</h2>
<p>
<code>public IFile <strong>getFile</strong>()</code>
</p>
<p>Get the file that this represents.</p>
<h3>Returns</h3>
<p>
<code>IFile</code> - the file that this represents</p>
<hr>
<h2>getImports</h2>
<p>
<code>public java.util.List <strong>getImports</strong>()</code>
</p>
<p>Get the list of imports for this.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of imports</p>
<hr>
<h2>getIncludes</h2>
<p>
<code>public java.util.List <strong>getIncludes</strong>()</code>
</p>
<p>Get the list of includes for this.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of includes</p>
<hr>
<h2>getStylesheet</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet <strong>getStylesheet</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.Stylesheet</code>
</p>
<hr>
<h2>getTemplates</h2>
<p>
<code>public java.util.List <strong>getTemplates</strong>()</code>
</p>
<p>Get the list of templates for this.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of templates</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class StylesheetBuilder</h2>
<br>
<hr>
<pre>public class <strong>StylesheetBuilder</strong>
extends java.lang.Object</pre>A builder that creates and maintains a cache of <code>Stylesheet</code>'s.<p></p>
<hr>
<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 static org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder</code></td><td width="" align="left"><code>getInstance()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the singleton <code>StylesheetBuilder</code> instance.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet</code></td><td width="" align="left"><code>getStylesheet(IFile file
         ,
      boolean force)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the <code>Stylesheet</code> associated with the given file. If either
 the <code>Stylesheet</code> has not yet been created or
 <code>force</code> is specified then the <code>Stylesheet</code> is
 built.</td>
</tr>
</table>
<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>getInstance</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder <strong>getInstance</strong>()</code>
</p>
<p>Get the singleton <code>StylesheetBuilder</code> instance.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder</code> - the <code>StylesheetBuilder</code> instance</p>
<hr>
<h2>getStylesheet</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet <strong>getStylesheet</strong>(IFile file
         ,
      boolean force)</code>
</p>
<p>Get the <code>Stylesheet</code> associated with the given file. If either
 the <code>Stylesheet</code> has not yet been created or
 <code>force</code> is specified then the <code>Stylesheet</code> is
 built.</p>
<h3>Parameters</h3>
<p>
<code>file</code> - the XSL file</p>
<p>
<code>force</code> - <code>true</code> to force a parse of the file</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.Stylesheet</code> - the <code>Stylesheet</code></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class StylesheetModel</h2>
<br>
<hr>
<pre>public class <strong>StylesheetModel</strong>
extends java.lang.Object</pre>The composed stylesheet, consisting of all templates and variables available
 via imports and includes.
 
 <p>
 The <code>fix()</code> method does the actual work of populating the fields
 of this, so it must be called before calling any of the other methods.
 </p>
 
 <p>
 Note that this model may not be valid - for instance there may be more than
 one named template for a given name or more than one global variable with a
 given name.
 </p><p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code>circularReference</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code>files</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>globalVariables</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code>stylesheets</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>templates</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code>templateSet</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>StylesheetModel</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</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.util.List</code></td><td width="" align="left"><code>findMatching(org.eclipse.wst.xsl.core.internal.model.Template toMatch)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get all templates that match the given template (determined from
 <code>Template.equals()</code>).</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>fix()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Perform the process of traversing the hierarchy to determine all of the
 properties of this. Note that this method may force other
 <code>StylesheetModel</code>'s to be built during the process of fixing.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code>getFileDependencies()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get all files that are included in this stylesheet anywhere in the
 hierarchy via either import or include.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getGlobalVariables()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get all global variables that are included in this stylesheet anywhere in
 the hierarchy via either import or include.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code>getIncludedStylesheets()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get all stylesheets that are included in this stylesheet anywhere in the
 hierarchy via either import or include.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet</code></td><td width="" align="left"><code>getStylesheet()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the stylesheet that this is the model for.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getTemplates()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get all templates that are included in this stylesheet anywhere in the
 hierarchy via either import or include.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getTemplatesByName(java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get all named templates that are included in this stylesheet anywhere in
 the hierarchy via either import or include which have the given name.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>hasCircularReference()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get whether this has a circular reference anywhere in its import/included
 hierarchy.</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>circularReference</h2>
<p>
<code>package-private boolean <strong>circularReference</strong></code>
</p>
<hr>
<h2>files</h2>
<p>
<code>package-private java.util.Set <strong>files</strong></code>
</p>
<hr>
<h2>globalVariables</h2>
<p>
<code>package-private java.util.List <strong>globalVariables</strong></code>
</p>
<hr>
<h2>stylesheets</h2>
<p>
<code>package-private java.util.Set <strong>stylesheets</strong></code>
</p>
<hr>
<h2>templates</h2>
<p>
<code>package-private java.util.List <strong>templates</strong></code>
</p>
<hr>
<h2>templateSet</h2>
<p>
<code>package-private java.util.Set <strong>templateSet</strong></code>
</p>
<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>StylesheetModel</h2>
<p>
<code>public <strong>StylesheetModel</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</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>findMatching</h2>
<p>
<code>public java.util.List <strong>findMatching</strong>(org.eclipse.wst.xsl.core.internal.model.Template toMatch)</code>
</p>
<p>Get all templates that match the given template (determined from
 <code>Template.equals()</code>).</p>
<h3>Parameters</h3>
<p>
<code>toMatch</code> - the template to match</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the set of templates that match</p>
<hr>
<h2>fix</h2>
<p>
<code>public void <strong>fix</strong>()</code>
</p>
<p>Perform the process of traversing the hierarchy to determine all of the
 properties of this. Note that this method may force other
 <code>StylesheetModel</code>'s to be built during the process of fixing.</p>
<hr>
<h2>getFileDependencies</h2>
<p>
<code>public java.util.Set <strong>getFileDependencies</strong>()</code>
</p>
<p>Get all files that are included in this stylesheet anywhere in the
 hierarchy via either import or include.</p>
<h3>Returns</h3>
<p>
<code>java.util.Set</code> - the set of files in the entire hierarchy</p>
<hr>
<h2>getGlobalVariables</h2>
<p>
<code>public java.util.List <strong>getGlobalVariables</strong>()</code>
</p>
<p>Get all global variables that are included in this stylesheet anywhere in
 the hierarchy via either import or include.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the set of files in the entire hierarchy</p>
<hr>
<h2>getIncludedStylesheets</h2>
<p>
<code>public java.util.Set <strong>getIncludedStylesheets</strong>()</code>
</p>
<p>Get all stylesheets that are included in this stylesheet anywhere in the
 hierarchy via either import or include.</p>
<h3>Returns</h3>
<p>
<code>java.util.Set</code> - the set of stylesheets in the entire hierarchy</p>
<hr>
<h2>getStylesheet</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet <strong>getStylesheet</strong>()</code>
</p>
<p>Get the stylesheet that this is the model for.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.Stylesheet</code> - the stylesheet that this is the model for</p>
<hr>
<h2>getTemplates</h2>
<p>
<code>public java.util.List <strong>getTemplates</strong>()</code>
</p>
<p>Get all templates that are included in this stylesheet anywhere in the
 hierarchy via either import or include.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the set of templates in the entire hierarchy</p>
<hr>
<h2>getTemplatesByName</h2>
<p>
<code>public java.util.List <strong>getTemplatesByName</strong>(java.lang.String name)</code>
</p>
<p>Get all named templates that are included in this stylesheet anywhere in
 the hierarchy via either import or include which have the given name.</p>
<h3>Parameters</h3>
<p>
<code>name</code> - the template name</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the set of named templates with the given name</p>
<hr>
<h2>hasCircularReference</h2>
<p>
<code>public boolean <strong>hasCircularReference</strong>()</code>
</p>
<p>Get whether this has a circular reference anywhere in its import/included
 hierarchy.</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - <code>true</code> if this has a circular reference</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class Template</h2>
<br>
<hr>
<pre>public class <strong>Template</strong>
extends org.eclipse.wst.xsl.core.internal.model.XSLElement</pre>The <code>xsl:template</code> model element.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>parameters</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>variables</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Template</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</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 void</code></td><td width="" align="left"><code>addParameter(org.eclipse.wst.xsl.core.internal.model.Parameter parameter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a parameter to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addVariable(org.eclipse.wst.xsl.core.internal.model.Variable var)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a variable to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>equals(java.lang.Object obj)</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>getMatch()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>match</code> attribute if one exists.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getMode()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>mode</code> attribute if one exists.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>name</code> attribute if one exists.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getParameters()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of parameters of this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getPriority()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>priority</code> attribute if one exists.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>hashCode()</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>toString()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>parameters</h2>
<p>
<code>package-private java.util.List <strong>parameters</strong></code>
</p>
<hr>
<h2>variables</h2>
<p>
<code>package-private java.util.List <strong>variables</strong></code>
</p>
<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>Template</h2>
<p>
<code>public <strong>Template</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</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>addParameter</h2>
<p>
<code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.core.internal.model.Parameter parameter)</code>
</p>
<p>Add a parameter to this.</p>
<h3>Parameters</h3>
<p>
<code>parameter</code> - the parameter to add</p>
<hr>
<h2>addVariable</h2>
<p>
<code>public void <strong>addVariable</strong>(org.eclipse.wst.xsl.core.internal.model.Variable var)</code>
</p>
<p>Add a variable to this.</p>
<h3>Parameters</h3>
<p>
<code>var</code> - the variable to add</p>
<hr>
<h2>equals</h2>
<p>
<code>public boolean <strong>equals</strong>(java.lang.Object obj)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>obj</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>getMatch</h2>
<p>
<code>public java.lang.String <strong>getMatch</strong>()</code>
</p>
<p>Get the value of the <code>match</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the match value, or null</p>
<hr>
<h2>getMode</h2>
<p>
<code>public java.lang.String <strong>getMode</strong>()</code>
</p>
<p>Get the value of the <code>mode</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the mode value, or null</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p>Get the value of the <code>name</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the template name, or null</p>
<hr>
<h2>getParameters</h2>
<p>
<code>public java.util.List <strong>getParameters</strong>()</code>
</p>
<p>Get the list of parameters of this.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of parameters</p>
<hr>
<h2>getPriority</h2>
<p>
<code>public java.lang.String <strong>getPriority</strong>()</code>
</p>
<p>Get the value of the <code>priority</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the priority value, or null</p>
<hr>
<h2>hashCode</h2>
<p>
<code>public int <strong>hashCode</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class Variable</h2>
<br>
<hr>
<pre>public class <strong>Variable</strong>
extends org.eclipse.wst.xsl.core.internal.model.XSLElement</pre>The <code>xsl:variable</code> model element.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Variable</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>name</code> attribute if one exists.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getSelect()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the <code>select</code> attribute if one exists.</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>Variable</h2>
<p>
<code>public <strong>Variable</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</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>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p>Get the value of the <code>name</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the variable name, or null</p>
<hr>
<h2>getSelect</h2>
<p>
<code>public java.lang.String <strong>getSelect</strong>()</code>
</p>
<p>Get the value of the <code>select</code> attribute if one exists.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the select value, or null</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class XSLAttribute</h2>
<br>
<hr>
<pre>public class <strong>XSLAttribute</strong>
extends org.eclipse.wst.xsl.core.internal.model.XSLNode</pre>An attribute of an element in the XSL namespace.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>value</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLAttribute</strong>(org.eclipse.wst.xsl.core.internal.model.XSLElement element
         ,
      java.lang.String name
         ,
      java.lang.String value)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the name of this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getValue()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of this.</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>name</h2>
<p>
<code>package-private java.lang.String <strong>name</strong></code>
</p>
<hr>
<h2>value</h2>
<p>
<code>package-private java.lang.String <strong>value</strong></code>
</p>
<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>XSLAttribute</h2>
<p>
<code>public <strong>XSLAttribute</strong>(org.eclipse.wst.xsl.core.internal.model.XSLElement element
         ,
      java.lang.String name
         ,
      java.lang.String value)</code>
</p>
<p>Create a new instance of this.</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>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p>Get the name of this.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the attribute's name</p>
<hr>
<h2>getValue</h2>
<p>
<code>public java.lang.String <strong>getValue</strong>()</code>
</p>
<p>Get the value of this.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the attribute's value</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class XSLElement</h2>
<br>
<hr>
<pre>public class <strong>XSLElement</strong>
extends org.eclipse.wst.xsl.core.internal.model.XSLNode</pre>An element in the XSL namespace.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.Map</code></td><td width="80%" align="left"><code>attributes</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code>childElements</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLElement</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</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 void</code></td><td width="" align="left"><code>addChild(org.eclipse.wst.xsl.core.internal.model.XSLElement element)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a child element of this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.model.XSLAttribute</code></td><td width="" align="left"><code>getAttribute(java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the attribute with the given name.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code>getAttributes()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the attributes keyed by their names.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getAttributeValue(java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the value of the attribute with the given name.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getChildElements()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of child elements</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setAttribute(org.eclipse.wst.xsl.core.internal.model.XSLAttribute attribute)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add an attribute of this</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>attributes</h2>
<p>
<code>package-private java.util.Map <strong>attributes</strong></code>
</p>
<hr>
<h2>childElements</h2>
<p>
<code>package-private java.util.List <strong>childElements</strong></code>
</p>
<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>XSLElement</h2>
<p>
<code>public <strong>XSLElement</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet)</code>
</p>
<p>Create a new instance of this.</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>addChild</h2>
<p>
<code>public void <strong>addChild</strong>(org.eclipse.wst.xsl.core.internal.model.XSLElement element)</code>
</p>
<p>Add a child element of this.</p>
<h3>Parameters</h3>
<p>
<code>element</code> - the chold element</p>
<hr>
<h2>getAttribute</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.XSLAttribute <strong>getAttribute</strong>(java.lang.String name)</code>
</p>
<p>Get the attribute with the given name.</p>
<h3>Parameters</h3>
<p>
<code>name</code> - the name of the attribute</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.XSLAttribute</code> - the attribute</p>
<hr>
<h2>getAttributes</h2>
<p>
<code>public java.util.Map <strong>getAttributes</strong>()</code>
</p>
<p>Get the attributes keyed by their names.</p>
<h3>Returns</h3>
<p>
<code>java.util.Map</code> - the map of attribute names and instances</p>
<hr>
<h2>getAttributeValue</h2>
<p>
<code>public java.lang.String <strong>getAttributeValue</strong>(java.lang.String name)</code>
</p>
<p>Get the value of the attribute with the given name.</p>
<h3>Parameters</h3>
<p>
<code>name</code> - the name of the attribute</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the attribute value</p>
<hr>
<h2>getChildElements</h2>
<p>
<code>public java.util.List <strong>getChildElements</strong>()</code>
</p>
<p>Get the list of child elements</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of children</p>
<hr>
<h2>setAttribute</h2>
<p>
<code>public void <strong>setAttribute</strong>(org.eclipse.wst.xsl.core.internal.model.XSLAttribute attribute)</code>
</p>
<p>Add an attribute of this</p>
<h3>Parameters</h3>
<p>
<code>attribute</code> - the attribute to add</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font>
<br>
            Class XSLNode</h2>
<br>
<hr>
<pre>public class <strong>XSLNode</strong>
extends PlatformObject</pre>A node in the XSL namespace.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code>ATTRIBUTE_NODE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A constant for the attribute node (= &lt;code&gt;org.w3c.dom.Node.ATTRIBUTE_NODE&lt;/code&gt;)</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code>columnNumber</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code>ELEMENT_NODE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A constant for the element node (= &lt;code&gt;org.w3c.dom.Node.ELEMENT_NODE&lt;/code&gt;)</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code>lineNumber</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLNode</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet
         ,
      short type)</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>getColumnNumber()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the column number where this node occurs in the XSL file.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getLength()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the length of this node.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getLineNumber()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the line number where this node occurs in the XSL file.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code>getNodeType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the type of node.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getOffset()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the document offset where this node occurs.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet</code></td><td width="" align="left"><code>getStylesheet()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the stylesheet that this belongs to.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setColumnNumber(int columnNumber)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the columns number where this node occurs in the XSL file.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setLength(int length)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the length of this node.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setLineNumber(int lineNumber)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the line number where this node occurs in the XSL file.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setOffset(int offset)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the document offset where this node occurs.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>toString()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>ATTRIBUTE_NODE</h2>
<p>
<code>public static  short <strong>ATTRIBUTE_NODE</strong></code>
</p>
<table>
<tr>
<td>A constant for the attribute node (= <code>org.w3c.dom.Node.ATTRIBUTE_NODE</code>)</td>
</tr>
</table>
<hr>
<h2>columnNumber</h2>
<p>
<code>package-private int <strong>columnNumber</strong></code>
</p>
<hr>
<h2>ELEMENT_NODE</h2>
<p>
<code>public static  short <strong>ELEMENT_NODE</strong></code>
</p>
<table>
<tr>
<td>A constant for the element node (= <code>org.w3c.dom.Node.ELEMENT_NODE</code>)</td>
</tr>
</table>
<hr>
<h2>lineNumber</h2>
<p>
<code>package-private int <strong>lineNumber</strong></code>
</p>
<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>XSLNode</h2>
<p>
<code>public <strong>XSLNode</strong>(org.eclipse.wst.xsl.core.internal.model.Stylesheet stylesheet
         ,
      short type)</code>
</p>
<p>Create a new instance of this.</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>getColumnNumber</h2>
<p>
<code>public int <strong>getColumnNumber</strong>()</code>
</p>
<p>Set the column number where this node occurs in the XSL file.</p>
<h3>Returns</h3>
<p>
<code>int</code> - the column number where this node occurs in the XSL file.</p>
<hr>
<h2>getLength</h2>
<p>
<code>public int <strong>getLength</strong>()</code>
</p>
<p>Get the length of this node.</p>
<h3>Returns</h3>
<p>
<code>int</code> - the node length</p>
<hr>
<h2>getLineNumber</h2>
<p>
<code>public int <strong>getLineNumber</strong>()</code>
</p>
<p>Set the line number where this node occurs in the XSL file.</p>
<h3>Returns</h3>
<p>
<code>int</code> - the line number where this node occurs in the XSL file.</p>
<hr>
<h2>getNodeType</h2>
<p>
<code>public short <strong>getNodeType</strong>()</code>
</p>
<p>Get the type of node.</p>
<h3>Returns</h3>
<p>
<code>short</code> - one of <code>ELEMENT_NODE</code> or <code>ATTRIBUTE_NODE</code></p>
<hr>
<h2>getOffset</h2>
<p>
<code>public int <strong>getOffset</strong>()</code>
</p>
<p>Get the document offset where this node occurs.</p>
<h3>Returns</h3>
<p>
<code>int</code> - the document offset</p>
<hr>
<h2>getStylesheet</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.Stylesheet <strong>getStylesheet</strong>()</code>
</p>
<p>Get the stylesheet that this belongs to.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.Stylesheet</code> - the stylesheet</p>
<hr>
<h2>setColumnNumber</h2>
<p>
<code>public void <strong>setColumnNumber</strong>(int columnNumber)</code>
</p>
<p>Set the columns number where this node occurs in the XSL file.</p>
<h3>Parameters</h3>
<p>
<code>columnNumber</code> - the column number</p>
<hr>
<h2>setLength</h2>
<p>
<code>public void <strong>setLength</strong>(int length)</code>
</p>
<p>Set the length of this node.</p>
<h3>Parameters</h3>
<p>
<code>length</code> - the node length</p>
<hr>
<h2>setLineNumber</h2>
<p>
<code>public void <strong>setLineNumber</strong>(int lineNumber)</code>
</p>
<p>Set the line number where this node occurs in the XSL file.</p>
<h3>Parameters</h3>
<p>
<code>lineNumber</code> - the line number</p>
<hr>
<h2>setOffset</h2>
<p>
<code>public void <strong>setOffset</strong>(int offset)</code>
</p>
<p>Set the document offset where this node occurs.</p>
<h3>Parameters</h3>
<p>
<code>offset</code> - the document offset</p>
<hr>
<h2>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.preferences</strong></font>
<br>
            Class PreferenceInitializer</h2>
<br>
<hr>
<pre>public class <strong>PreferenceInitializer</strong>
extends AbstractPreferenceInitializer</pre>Preferences initializer for XSL core preferences.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>PreferenceInitializer</strong>()</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 void</code></td><td width="" align="left"><code>initializeDefaultPreferences()</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>PreferenceInitializer</h2>
<p>
<code>public <strong>PreferenceInitializer</strong>()</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>initializeDefaultPreferences</h2>
<p>
<code>public void <strong>initializeDefaultPreferences</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.util</strong></font>
<br>
            Class Debug</h2>
<br>
<hr>
<pre>public class <strong>Debug</strong>
extends java.lang.Object</pre>Debug Class is used to determine when Debugging output to system out.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>checkForMemoryLeaks</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>collectStats</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DEBUG</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>DEBUG_THREADLOCAL</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugBreakpoints</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugCaretMediator</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugDisplayTreePositions</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugLauncher</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugMediator</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugNotification</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugNotificationAndEvents</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugNotifyDeferred</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugReconciling</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugRtfFormatProvider</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugStructuredDocument</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugTaglibs</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugTokenizer</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugTreeModel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugUpdateTreePositions</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>debugXSLModel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Output Modeling Messages.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>displayInfo</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>displayToConsole</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               effects output of Logger</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>displayWarnings</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>headParsing</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>jsDebugContextAssist</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>jsDebugSyntaxColoring</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>LOCKS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>perfTest</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>perfTestAdapterClassLoading</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>perfTestFormat</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>perfTestRawStructuredDocumentOnly</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>perfTestStructuredDocumentEventOnly</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>perfTestStructuredDocumentOnly</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>syntaxHighlighting</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code>useStandardEolInWidget</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Debug</strong>()</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 static void</code></td><td width="" align="left"><code>dump(IStructuredDocument structuredDocument)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               For tests and debug only</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>dump(IStructuredDocument structuredDocument
         ,
      boolean verbose)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>println(java.lang.String msg)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Simple utility to make sure println's are some what in order</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code>toStringUtil(IStructuredDocument object)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>checkForMemoryLeaks</h2>
<p>
<code>public static  boolean <strong>checkForMemoryLeaks</strong></code>
</p>
<hr>
<h2>collectStats</h2>
<p>
<code>public static  boolean <strong>collectStats</strong></code>
</p>
<hr>
<h2>DEBUG</h2>
<p>
<code>public static  int <strong>DEBUG</strong></code>
</p>
<hr>
<h2>DEBUG_THREADLOCAL</h2>
<p>
<code>public static  boolean <strong>DEBUG_THREADLOCAL</strong></code>
</p>
<hr>
<h2>debugBreakpoints</h2>
<p>
<code>public static  boolean <strong>debugBreakpoints</strong></code>
</p>
<hr>
<h2>debugCaretMediator</h2>
<p>
<code>public static  boolean <strong>debugCaretMediator</strong></code>
</p>
<hr>
<h2>debugDisplayTreePositions</h2>
<p>
<code>public static  boolean <strong>debugDisplayTreePositions</strong></code>
</p>
<hr>
<h2>debugLauncher</h2>
<p>
<code>public static  boolean <strong>debugLauncher</strong></code>
</p>
<hr>
<h2>debugMediator</h2>
<p>
<code>public static  boolean <strong>debugMediator</strong></code>
</p>
<hr>
<h2>debugNotification</h2>
<p>
<code>public static  boolean <strong>debugNotification</strong></code>
</p>
<hr>
<h2>debugNotificationAndEvents</h2>
<p>
<code>public static  boolean <strong>debugNotificationAndEvents</strong></code>
</p>
<hr>
<h2>debugNotifyDeferred</h2>
<p>
<code>public static  boolean <strong>debugNotifyDeferred</strong></code>
</p>
<hr>
<h2>debugReconciling</h2>
<p>
<code>public static  boolean <strong>debugReconciling</strong></code>
</p>
<hr>
<h2>debugRtfFormatProvider</h2>
<p>
<code>public static  boolean <strong>debugRtfFormatProvider</strong></code>
</p>
<hr>
<h2>debugStructuredDocument</h2>
<p>
<code>public static  boolean <strong>debugStructuredDocument</strong></code>
</p>
<hr>
<h2>debugTaglibs</h2>
<p>
<code>public static  boolean <strong>debugTaglibs</strong></code>
</p>
<hr>
<h2>debugTokenizer</h2>
<p>
<code>public static  boolean <strong>debugTokenizer</strong></code>
</p>
<hr>
<h2>debugTreeModel</h2>
<p>
<code>public static  boolean <strong>debugTreeModel</strong></code>
</p>
<hr>
<h2>debugUpdateTreePositions</h2>
<p>
<code>public static  boolean <strong>debugUpdateTreePositions</strong></code>
</p>
<hr>
<h2>debugXSLModel</h2>
<p>
<code>public static  boolean <strong>debugXSLModel</strong></code>
</p>
<table>
<tr>
<td>Output Modeling Messages.</td>
</tr>
</table>
<hr>
<h2>displayInfo</h2>
<p>
<code>public static  boolean <strong>displayInfo</strong></code>
</p>
<hr>
<h2>displayToConsole</h2>
<p>
<code>public static  boolean <strong>displayToConsole</strong></code>
</p>
<table>
<tr>
<td>effects output of Logger</td>
</tr>
</table>
<hr>
<h2>displayWarnings</h2>
<p>
<code>public static  boolean <strong>displayWarnings</strong></code>
</p>
<hr>
<h2>headParsing</h2>
<p>
<code>public static  boolean <strong>headParsing</strong></code>
</p>
<hr>
<h2>jsDebugContextAssist</h2>
<p>
<code>public static  boolean <strong>jsDebugContextAssist</strong></code>
</p>
<hr>
<h2>jsDebugSyntaxColoring</h2>
<p>
<code>public static  boolean <strong>jsDebugSyntaxColoring</strong></code>
</p>
<hr>
<h2>LOCKS</h2>
<p>
<code>public static  boolean <strong>LOCKS</strong></code>
</p>
<hr>
<h2>perfTest</h2>
<p>
<code>public static  boolean <strong>perfTest</strong></code>
</p>
<hr>
<h2>perfTestAdapterClassLoading</h2>
<p>
<code>public static  boolean <strong>perfTestAdapterClassLoading</strong></code>
</p>
<hr>
<h2>perfTestFormat</h2>
<p>
<code>public static  boolean <strong>perfTestFormat</strong></code>
</p>
<hr>
<h2>perfTestRawStructuredDocumentOnly</h2>
<p>
<code>public static  boolean <strong>perfTestRawStructuredDocumentOnly</strong></code>
</p>
<hr>
<h2>perfTestStructuredDocumentEventOnly</h2>
<p>
<code>public static  boolean <strong>perfTestStructuredDocumentEventOnly</strong></code>
</p>
<hr>
<h2>perfTestStructuredDocumentOnly</h2>
<p>
<code>public static  boolean <strong>perfTestStructuredDocumentOnly</strong></code>
</p>
<hr>
<h2>syntaxHighlighting</h2>
<p>
<code>public static  boolean <strong>syntaxHighlighting</strong></code>
</p>
<hr>
<h2>useStandardEolInWidget</h2>
<p>
<code>public static  boolean <strong>useStandardEolInWidget</strong></code>
</p>
<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>Debug</h2>
<p>
<code>public <strong>Debug</strong>()</code>
</p>
<p>Debug constructor comment.</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>dump</h2>
<p>
<code>public void <strong>dump</strong>(IStructuredDocument structuredDocument)</code>
</p>
<p>For tests and debug only</p>
<h3>Parameters</h3>
<p>
<code>structuredDocument</code>
</p>
<hr>
<h2>dump</h2>
<p>
<code>public void <strong>dump</strong>(IStructuredDocument structuredDocument
         ,
      boolean verbose)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>structuredDocument</code>
</p>
<p>
<code>verbose</code>
</p>
<hr>
<h2>println</h2>
<p>
<code>public void <strong>println</strong>(java.lang.String msg)</code>
</p>
<p>Simple utility to make sure println's are some what in order</p>
<h3>Parameters</h3>
<p>
<code>msg</code>
</p>
<hr>
<h2>toStringUtil</h2>
<p>
<code>public java.lang.String <strong>toStringUtil</strong>(IStructuredDocument object)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>object</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.util</strong></font>
<br>
            Class FileUtil</h2>
<br>
<hr>
<pre>public class <strong>FileUtil</strong>
extends java.lang.Object</pre>This is a general file utility class.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>FileUtil</strong>()</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 static boolean</code></td><td width="" align="left"><code>isXMLFile(IFile file)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Determines if a file is one of the valid XML content types.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code>isXSLFile(IFile file)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Determines if a file is a XSLT File.</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>FileUtil</h2>
<p>
<code>public <strong>FileUtil</strong>()</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>isXMLFile</h2>
<p>
<code>public boolean <strong>isXMLFile</strong>(IFile file)</code>
</p>
<p>Determines if a file is one of the valid XML content types.</p>
<h3>Parameters</h3>
<p>
<code>file</code> - The input IFile to check</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - True if it is a XML file, false otherwise.</p>
<hr>
<h2>isXSLFile</h2>
<p>
<code>public boolean <strong>isXSLFile</strong>(IFile file)</code>
</p>
<p>Determines if a file is a XSLT File.</p>
<h3>Parameters</h3>
<p>
<code>file</code> - The input IFile to check.</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - True if it is a XSLT file, false otherwise.</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.util</strong></font>
<br>
            Class StructuredDocumentUtil</h2>
<br>
<hr>
<pre>public class <strong>StructuredDocumentUtil</strong>
extends java.lang.Object</pre>General Purpose utility classes to convert from StructuredDocument to DOM.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>StructuredDocumentUtil</strong>()</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 static IDOMNode</code></td><td width="" align="left"><code>getNode(IStructuredDocumentRegion documentRegion
         ,
      ITextRegion textRegion)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Given a StructuredDocumentRegion and a TextRegion, return a
 IDOMNode for that particular position in the StructuredDocument</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>StructuredDocumentUtil</h2>
<p>
<code>public <strong>StructuredDocumentUtil</strong>()</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>getNode</h2>
<p>
<code>public IDOMNode <strong>getNode</strong>(IStructuredDocumentRegion documentRegion
         ,
      ITextRegion textRegion)</code>
</p>
<p>Given a StructuredDocumentRegion and a TextRegion, return a
 IDOMNode for that particular position in the StructuredDocument</p>
<h3>Parameters</h3>
<p>
<code>documentRegion</code>
</p>
<p>
<code>textRegion</code>
</p>
<h3>Returns</h3>
<p>
<code>IDOMNode</code> - IDOMNode</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font>
<br>
            Class MaxErrorsExceededException</h2>
<br>
<hr>
<pre>public class <strong>MaxErrorsExceededException</strong>
extends java.lang.Exception</pre>An exception used to indicate whether the maximum number of errors has been reached 
 for a given Stylesheet validation.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MaxErrorsExceededException</strong>()</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>MaxErrorsExceededException</h2>
<p>
<code>public <strong>MaxErrorsExceededException</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends NLS</pre>Messages for the validator.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Invalid xpath.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_10</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Stylesheet importing itself</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_11</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Template conflict (internal)</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_12</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Template conflict (included)</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_13</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Template conflict (external)</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_14</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Parameter missing name attribute</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_15</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Parameter with empty name attribute</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_16</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Duplicate parameter</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_18</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Unresolved named template</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_2</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Circular reference</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_20</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Parameter without default value</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_22</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Parameter does not exist</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_23</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               href attribute is required</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_3</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Missing parameter</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_4</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Unresolved include</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_6</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Stylesheet includes itself</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLValidator_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Unresolved import</td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XSLValidator_1</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_1</strong></code>
</p>
<table>
<tr>
<td>Invalid xpath.</td>
</tr>
</table>
<hr>
<h2>XSLValidator_10</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_10</strong></code>
</p>
<table>
<tr>
<td>Stylesheet importing itself</td>
</tr>
</table>
<hr>
<h2>XSLValidator_11</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_11</strong></code>
</p>
<table>
<tr>
<td>Template conflict (internal)</td>
</tr>
</table>
<hr>
<h2>XSLValidator_12</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_12</strong></code>
</p>
<table>
<tr>
<td>Template conflict (included)</td>
</tr>
</table>
<hr>
<h2>XSLValidator_13</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_13</strong></code>
</p>
<table>
<tr>
<td>Template conflict (external)</td>
</tr>
</table>
<hr>
<h2>XSLValidator_14</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_14</strong></code>
</p>
<table>
<tr>
<td>Parameter missing name attribute</td>
</tr>
</table>
<hr>
<h2>XSLValidator_15</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_15</strong></code>
</p>
<table>
<tr>
<td>Parameter with empty name attribute</td>
</tr>
</table>
<hr>
<h2>XSLValidator_16</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_16</strong></code>
</p>
<table>
<tr>
<td>Duplicate parameter</td>
</tr>
</table>
<hr>
<h2>XSLValidator_18</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_18</strong></code>
</p>
<table>
<tr>
<td>Unresolved named template</td>
</tr>
</table>
<hr>
<h2>XSLValidator_2</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_2</strong></code>
</p>
<table>
<tr>
<td>Circular reference</td>
</tr>
</table>
<hr>
<h2>XSLValidator_20</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_20</strong></code>
</p>
<table>
<tr>
<td>Parameter without default value</td>
</tr>
</table>
<hr>
<h2>XSLValidator_22</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_22</strong></code>
</p>
<table>
<tr>
<td>Parameter does not exist</td>
</tr>
</table>
<hr>
<h2>XSLValidator_23</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_23</strong></code>
</p>
<table>
<tr>
<td>href attribute is required</td>
</tr>
</table>
<hr>
<h2>XSLValidator_3</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_3</strong></code>
</p>
<table>
<tr>
<td>Missing parameter</td>
</tr>
</table>
<hr>
<h2>XSLValidator_4</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_4</strong></code>
</p>
<table>
<tr>
<td>Unresolved include</td>
</tr>
</table>
<hr>
<h2>XSLValidator_6</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_6</strong></code>
</p>
<table>
<tr>
<td>Stylesheet includes itself</td>
</tr>
</table>
<hr>
<h2>XSLValidator_8</h2>
<p>
<code>public static  java.lang.String <strong>XSLValidator_8</strong></code>
</p>
<table>
<tr>
<td>Unresolved import</td>
</tr>
</table>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font>
<br>
            Class XSLValidationMessage</h2>
<br>
<hr>
<pre>public class <strong>XSLValidationMessage</strong>
extends ValidationMessage</pre>A validation message specific to the XSL validator which adds the ability 
 to specify the XSL node.<p></p>
<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLValidationMessage</strong>(java.lang.String message
         ,
      int lineNumber
         ,
      int columnNumber
         ,
      java.lang.String uri)</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 org.eclipse.wst.xsl.core.internal.model.XSLNode</code></td><td width="" align="left"><code>getNode()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the node that this message applies to.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setNode(org.eclipse.wst.xsl.core.internal.model.XSLNode node)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the node that this message applies to.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>toString()</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>XSLValidationMessage</h2>
<p>
<code>public <strong>XSLValidationMessage</strong>(java.lang.String message
         ,
      int lineNumber
         ,
      int columnNumber
         ,
      java.lang.String uri)</code>
</p>
<p>Create a new instance of this.</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>getNode</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.model.XSLNode <strong>getNode</strong>()</code>
</p>
<p>Get the node that this message applies to.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.model.XSLNode</code> - the node</p>
<hr>
<h2>setNode</h2>
<p>
<code>public void <strong>setNode</strong>(org.eclipse.wst.xsl.core.internal.model.XSLNode node)</code>
</p>
<p>Set the node that this message applies to.</p>
<h3>Parameters</h3>
<p>
<code>node</code> - the node</p>
<hr>
<h2>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font>
<br>
            Class XSLValidationReport</h2>
<br>
<hr>
<pre>public class <strong>XSLValidationReport</strong>
extends java.lang.Object</pre>A validation report for the XSL validator.<p></p>
<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLValidationReport</strong>(java.lang.String uri)</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 ValidationMessage</code></td><td width="" align="left"><code>addError(org.eclipse.wst.xsl.core.internal.model.XSLNode node
         ,
      java.lang.String message)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add an error message for the given XSL node.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ValidationMessage</code></td><td width="" align="left"><code>addWarning(org.eclipse.wst.xsl.core.internal.model.XSLNode node
         ,
      java.lang.String message)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add an warning message for the given XSL node.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getErrors()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the error level validation messages.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getFileURI()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the URI that this report applies to.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.HashMap</code></td><td width="" align="left"><code>getNestedMessages()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ValidationMessage[]</code></td><td width="" align="left"><code>getValidationMessages()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns an array of validation messages.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getWarnings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the warn level validation messages.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isValid()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns whether the file is valid. The file may have warnings associated with it.</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>XSLValidationReport</h2>
<p>
<code>public <strong>XSLValidationReport</strong>(java.lang.String uri)</code>
</p>
<p>Create a new instance of this.</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>addError</h2>
<p>
<code>public ValidationMessage <strong>addError</strong>(org.eclipse.wst.xsl.core.internal.model.XSLNode node
         ,
      java.lang.String message)</code>
</p>
<p>Add an error message for the given XSL node.</p>
<h3>Parameters</h3>
<p>
<code>node</code> - the node the error applies to</p>
<p>
<code>message</code> - the message to associate with the node</p>
<h3>Returns</h3>
<p>
<code>ValidationMessage</code> - the validation message created</p>
<hr>
<h2>addWarning</h2>
<p>
<code>public ValidationMessage <strong>addWarning</strong>(org.eclipse.wst.xsl.core.internal.model.XSLNode node
         ,
      java.lang.String message)</code>
</p>
<p>Add an warning message for the given XSL node.</p>
<h3>Parameters</h3>
<p>
<code>node</code> - the node the warning applies to</p>
<p>
<code>message</code> - the message to associate with the node</p>
<h3>Returns</h3>
<p>
<code>ValidationMessage</code> - the validation message created</p>
<hr>
<h2>getErrors</h2>
<p>
<code>public java.util.List <strong>getErrors</strong>()</code>
</p>
<p>Get the error level validation messages.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - error level validation messages</p>
<hr>
<h2>getFileURI</h2>
<p>
<code>public java.lang.String <strong>getFileURI</strong>()</code>
</p>
<p>Get the URI that this report applies to.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the URI</p>
<hr>
<h2>getNestedMessages</h2>
<p>
<code>public java.util.HashMap <strong>getNestedMessages</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.HashMap</code> - null</p>
<hr>
<h2>getValidationMessages</h2>
<p>
<code>public ValidationMessage[] <strong>getValidationMessages</strong>()</code>
</p>
<p>Returns an array of validation messages.</p>
<h3>Returns</h3>
<p>
<code>ValidationMessage[]</code> - An array of validation messages.</p>
<hr>
<h2>getWarnings</h2>
<p>
<code>public java.util.List <strong>getWarnings</strong>()</code>
</p>
<p>Get the warn level validation messages.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - warn level validation messages</p>
<hr>
<h2>isValid</h2>
<p>
<code>public boolean <strong>isValid</strong>()</code>
</p>
<p>Returns whether the file is valid. The file may have warnings associated with it.</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - True if the file is valid, false otherwise.</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font>
<br>
            Class XSLValidator</h2>
<br>
<hr>
<pre>public class <strong>XSLValidator</strong>
extends java.lang.Object</pre>The XSL validator for workspace XSL files.<p></p>
<hr>
<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 static org.eclipse.wst.xsl.core.internal.validation.XSLValidator</code></td><td width="" align="left"><code>getInstance()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the singleton XSLValidator instance.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ValidationReport</code></td><td width="" align="left"><code>validate(IFile xslFile
         ,
      boolean forceBuild)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Validate the given XSL file. Same as <code>validate(xslFile,report,forceBuild)</code> except a new report is created and returned.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>validate(IFile xslFile
         ,
      org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport report
         ,
      boolean forceBuild)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Validate the given XSL file using the specified report.</td>
</tr>
</table>
<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>getInstance</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.validation.XSLValidator <strong>getInstance</strong>()</code>
</p>
<p>Get the singleton XSLValidator instance.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.validation.XSLValidator</code> - the singleson XSLValidator instance</p>
<hr>
<h2>validate</h2>
<p>
<code>public ValidationReport <strong>validate</strong>(IFile xslFile
         ,
      boolean forceBuild)</code>
</p>
<p>Validate the given XSL file. Same as <code>validate(xslFile,report,forceBuild)</code> except a new report is created and returned.</p>
<h3>Parameters</h3>
<p>
<code>xslFile</code> - the XSL file</p>
<p>
<code>forceBuild</code> - true if build should always be forced</p>
<h3>Returns</h3>
<p>
<code>ValidationReport</code> - the validation report</p>
<h3>Throws:</h3>
<p>
<code>CoreException - if any exception occurs while validating</code>
</p>
<hr>
<h2>validate</h2>
<p>
<code>public void <strong>validate</strong>(IFile xslFile
         ,
      org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport report
         ,
      boolean forceBuild)</code>
</p>
<p>Validate the given XSL file using the specified report.</p>
<h3>Parameters</h3>
<p>
<code>xslFile</code> - the XSL file</p>
<p>
<code>report</code> - the report to use for reporting validation errors</p>
<p>
<code>forceBuild</code> - true if build should always be forced</p>
<h3>Throws:</h3>
<p>
<code>CoreException - if any exception occurs while validating</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font>
<br>
            Class Validator</h2>
<br>
<hr>
<pre>public class <strong>Validator</strong>
extends AbstractNestedValidator</pre>The XSL validator extends the XML <code>AbstractNestedValidator</code>.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Validator</strong>()</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>protected void</code></td><td width="" align="left"><code>addInfoToMessage(ValidationMessage validationMessage
         ,
      IMessage message)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>clean(IProject project
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ValidationResult</code></td><td width="" align="left"><code>validate(IResource resource
         ,
      int kind
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ValidationReport</code></td><td width="" align="left"><code>validate(java.lang.String uri
         ,
      java.io.InputStream inputstream
         ,
      NestedValidatorContext context)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IStatus</code></td><td width="" align="left"><code>validateInJob(IValidationContext context
         ,
      IReporter reporter)</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>Validator</h2>
<p>
<code>public <strong>Validator</strong>()</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>addInfoToMessage</h2>
<p>
<code>protected void <strong>addInfoToMessage</strong>(ValidationMessage validationMessage
         ,
      IMessage message)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>validationMessage</code>
</p>
<p>
<code>message</code>
</p>
<hr>
<h2>clean</h2>
<p>
<code>public void <strong>clean</strong>(IProject project
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>project</code>
</p>
<p>
<code>state</code>
</p>
<p>
<code>monitor</code>
</p>
<hr>
<h2>validate</h2>
<p>
<code>public ValidationResult <strong>validate</strong>(IResource resource
         ,
      int kind
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>resource</code>
</p>
<p>
<code>kind</code>
</p>
<p>
<code>state</code>
</p>
<p>
<code>monitor</code>
</p>
<h3>Returns</h3>
<p>
<code>ValidationResult</code>
</p>
<hr>
<h2>validate</h2>
<p>
<code>public ValidationReport <strong>validate</strong>(java.lang.String uri
         ,
      java.io.InputStream inputstream
         ,
      NestedValidatorContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>uri</code>
</p>
<p>
<code>inputstream</code>
</p>
<p>
<code>context</code>
</p>
<h3>Returns</h3>
<p>
<code>ValidationReport</code>
</p>
<hr>
<h2>validateInJob</h2>
<p>
<code>public IStatus <strong>validateInJob</strong>(IValidationContext context
         ,
      IReporter reporter)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<p>
<code>reporter</code>
</p>
<h3>Returns</h3>
<p>
<code>IStatus</code>
</p>
<h3>Throws:</h3>
<p>
<code>ValidationException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font>
<br>
            Class Validator2</h2>
<br>
<hr>
<pre>public class <strong>Validator2</strong>
extends AbstractValidator</pre>Validator for both build validation (AbstractValidator) and as-you-type validation (IValidatorJob).<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Validator2</strong>()</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 void</code></td><td width="" align="left"><code>clean(IProject project
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>cleanup(IReporter reporter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ISchedulingRule</code></td><td width="" align="left"><code>getSchedulingRule(IValidationContext helper)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ValidationResult</code></td><td width="" align="left"><code>validate(IResource resource
         ,
      int kind
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>validate(IValidationContext helper
         ,
      IReporter reporter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IStatus</code></td><td width="" align="left"><code>validateInJob(IValidationContext helper
         ,
      IReporter reporter)</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>Validator2</h2>
<p>
<code>public <strong>Validator2</strong>()</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>clean</h2>
<p>
<code>public void <strong>clean</strong>(IProject project
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>project</code>
</p>
<p>
<code>state</code>
</p>
<p>
<code>monitor</code>
</p>
<hr>
<h2>cleanup</h2>
<p>
<code>public void <strong>cleanup</strong>(IReporter reporter)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>reporter</code>
</p>
<hr>
<h2>getSchedulingRule</h2>
<p>
<code>public ISchedulingRule <strong>getSchedulingRule</strong>(IValidationContext helper)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>helper</code>
</p>
<h3>Returns</h3>
<p>
<code>ISchedulingRule</code>
</p>
<hr>
<h2>validate</h2>
<p>
<code>public ValidationResult <strong>validate</strong>(IResource resource
         ,
      int kind
         ,
      ValidationState state
         ,
      IProgressMonitor monitor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>resource</code>
</p>
<p>
<code>kind</code>
</p>
<p>
<code>state</code>
</p>
<p>
<code>monitor</code>
</p>
<h3>Returns</h3>
<p>
<code>ValidationResult</code>
</p>
<hr>
<h2>validate</h2>
<p>
<code>public void <strong>validate</strong>(IValidationContext helper
         ,
      IReporter reporter)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>helper</code>
</p>
<p>
<code>reporter</code>
</p>
<h3>Throws:</h3>
<p>
<code>ValidationException</code>
</p>
<hr>
<h2>validateInJob</h2>
<p>
<code>public IStatus <strong>validateInJob</strong>(IValidationContext helper
         ,
      IReporter reporter)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>helper</code>
</p>
<p>
<code>reporter</code>
</p>
<h3>Returns</h3>
<p>
<code>IStatus</code>
</p>
<h3>Throws:</h3>
<p>
<code>ValidationException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xinclude</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xinclude</strong></font>
<br>
            Class XIncluder</h2>
<br>
<hr>
<pre>public class <strong>XIncluder</strong>
extends java.lang.Object</pre>XIncluder will read an XML file, that has elements from the XInclude
 namespace and follows the W3C XInclude specification (http://www.w3.org/TR/xinclude/).
 It will output a merged file.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XIncluder</strong>()</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 void</code></td><td width="" align="left"><code>extractXMLFile(java.lang.String in
         ,
      java.lang.String out)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               extracXMLFile merges the files referenced by xinclude include elements.</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>XIncluder</h2>
<p>
<code>public <strong>XIncluder</strong>()</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>extractXMLFile</h2>
<p>
<code>public void <strong>extractXMLFile</strong>(java.lang.String in
         ,
      java.lang.String out)</code>
</p>
<p>extracXMLFile merges the files referenced by xinclude include elements.</p>
<h3>Parameters</h3>
<p>
<code>in</code> - The full path to the input XML file</p>
<p>
<code>out</code> - The full path to the merged XML file</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.resolver</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.resolver</strong></font>
<br>
            Class ResolverExtension</h2>
<br>
<hr>
<pre>public class <strong>ResolverExtension</strong>
extends java.lang.Object</pre>TODO: Javadoc<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ResolverExtension</strong>()</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>resolve(IFile file
         ,
      java.lang.String baseLocation
         ,
      java.lang.String publicId
         ,
      java.lang.String systemId)</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>ResolverExtension</h2>
<p>
<code>public <strong>ResolverExtension</strong>()</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>resolve</h2>
<p>
<code>public java.lang.String <strong>resolve</strong>(IFile file
         ,
      java.lang.String baseLocation
         ,
      java.lang.String publicId
         ,
      java.lang.String systemId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>file</code>
</p>
<p>
<code>baseLocation</code>
</p>
<p>
<code>publicId</code>
</p>
<p>
<code>systemId</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.resolver</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.resolver</strong></font>
<br>
            Class XSLVersionHandler</h2>
<br>
<hr>
<pre>public class <strong>XSLVersionHandler</strong>
extends org.xml.sax.helpers.DefaultHandler</pre>A simple XML parser to find the XSL version of a given XML file, expectedly a XSLT stylesheet.<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLVersionHandler</strong>()</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 void</code></td><td width="" align="left"><code>comment(char[] ch
         ,
      int start
         ,
      int length)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>endCDATA()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>endDTD()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>endEntity(java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>error(org.xml.sax.SAXParseException e)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>fatalError(org.xml.sax.SAXParseException e)</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>getVersionAttribute()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>parseContents(org.xml.sax.InputSource contents)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               TODO: Add Javadoc</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.xml.sax.InputSource</code></td><td width="" align="left"><code>resolveEntity(java.lang.String publicId
         ,
      java.lang.String systemId)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>startCDATA()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>startDTD(java.lang.String name
         ,
      java.lang.String publicId
         ,
      java.lang.String systemId)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>startElement(java.lang.String uri
         ,
      java.lang.String elementName
         ,
      java.lang.String qualifiedName
         ,
      org.xml.sax.Attributes attributes)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>startEntity(java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>warning(org.xml.sax.SAXParseException e)</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>XSLVersionHandler</h2>
<p>
<code>public <strong>XSLVersionHandler</strong>()</code>
</p>
<p>TODO: Add Javadoc</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>comment</h2>
<p>
<code>public void <strong>comment</strong>(char[] ch
         ,
      int start
         ,
      int length)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>ch</code>
</p>
<p>
<code>start</code>
</p>
<p>
<code>length</code>
</p>
<hr>
<h2>endCDATA</h2>
<p>
<code>public void <strong>endCDATA</strong>()</code>
</p>
<p></p>
<hr>
<h2>endDTD</h2>
<p>
<code>public void <strong>endDTD</strong>()</code>
</p>
<p></p>
<hr>
<h2>endEntity</h2>
<p>
<code>public void <strong>endEntity</strong>(java.lang.String name)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>name</code>
</p>
<hr>
<h2>error</h2>
<p>
<code>public void <strong>error</strong>(org.xml.sax.SAXParseException e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<hr>
<h2>fatalError</h2>
<p>
<code>public void <strong>fatalError</strong>(org.xml.sax.SAXParseException e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<hr>
<h2>getVersionAttribute</h2>
<p>
<code>public java.lang.String <strong>getVersionAttribute</strong>()</code>
</p>
<p>TODO: Add Javadoc</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>parseContents</h2>
<p>
<code>public boolean <strong>parseContents</strong>(org.xml.sax.InputSource contents)</code>
</p>
<p>TODO: Add Javadoc</p>
<h3>Parameters</h3>
<p>
<code>contents</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.io.IOException</code>
</p>
<p>
<code>javax.xml.parsers.ParserConfigurationException</code>
</p>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<hr>
<h2>resolveEntity</h2>
<p>
<code>public org.xml.sax.InputSource <strong>resolveEntity</strong>(java.lang.String publicId
         ,
      java.lang.String systemId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>publicId</code>
</p>
<p>
<code>systemId</code>
</p>
<h3>Returns</h3>
<p>
<code>org.xml.sax.InputSource</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<hr>
<h2>startCDATA</h2>
<p>
<code>public void <strong>startCDATA</strong>()</code>
</p>
<p></p>
<hr>
<h2>startDTD</h2>
<p>
<code>public void <strong>startDTD</strong>(java.lang.String name
         ,
      java.lang.String publicId
         ,
      java.lang.String systemId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>name</code>
</p>
<p>
<code>publicId</code>
</p>
<p>
<code>systemId</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<hr>
<h2>startElement</h2>
<p>
<code>public void <strong>startElement</strong>(java.lang.String uri
         ,
      java.lang.String elementName
         ,
      java.lang.String qualifiedName
         ,
      org.xml.sax.Attributes attributes)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>uri</code>
</p>
<p>
<code>elementName</code>
</p>
<p>
<code>qualifiedName</code>
</p>
<p>
<code>attributes</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<hr>
<h2>startEntity</h2>
<p>
<code>public void <strong>startEntity</strong>(java.lang.String name)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>name</code>
</p>
<hr>
<h2>warning</h2>
<p>
<code>public void <strong>warning</strong>(org.xml.sax.SAXParseException e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.encoding</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.encoding</strong></font>
<br>
            Class XSLDocumentLoader</h2>
<br>
<hr>
<pre>public class <strong>XSLDocumentLoader</strong>
extends AbstractDocumentLoader</pre>This class reads an XSL file and creates an XML Structured Model.<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLDocumentLoader</strong>()</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 IDocumentPartitioner</code></td><td width="" align="left"><code>getDefaultDocumentPartitioner()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IDocumentCharsetDetector</code></td><td width="" align="left"><code>getDocumentEncodingDetector()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public RegionParser</code></td><td width="" align="left"><code>getParser()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getSpecDefaultEncoding()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IEncodedDocument</code></td><td width="" align="left"><code>newEncodedDocument()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IDocumentLoader</code></td><td width="" align="left"><code>newInstance()</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>XSLDocumentLoader</h2>
<p>
<code>public <strong>XSLDocumentLoader</strong>()</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>getDefaultDocumentPartitioner</h2>
<p>
<code>public IDocumentPartitioner <strong>getDefaultDocumentPartitioner</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDocumentPartitioner</code>
</p>
<hr>
<h2>getDocumentEncodingDetector</h2>
<p>
<code>public IDocumentCharsetDetector <strong>getDocumentEncodingDetector</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDocumentCharsetDetector</code>
</p>
<hr>
<h2>getParser</h2>
<p>
<code>public RegionParser <strong>getParser</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>RegionParser</code>
</p>
<hr>
<h2>getSpecDefaultEncoding</h2>
<p>
<code>protected java.lang.String <strong>getSpecDefaultEncoding</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>newEncodedDocument</h2>
<p>
<code>protected IEncodedDocument <strong>newEncodedDocument</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IEncodedDocument</code>
</p>
<hr>
<h2>newInstance</h2>
<p>
<code>public IDocumentLoader <strong>newInstance</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDocumentLoader</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.modelhandler</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.modelhandler</strong></font>
<br>
            Class ModelHandlerForXSL</h2>
<br>
<hr>
<pre>public class <strong>ModelHandlerForXSL</strong>
extends ModelHandlerForXML</pre>Provides generic XML model handling. It is also marked as the default
 content type handler. There should be only one implementation of the
 default.<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private static  java.lang.String</code></td><td width="80%" align="left"><code>AssociatedContentTypeID</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Needs to match what's in plugin registry. In fact, can be overwritten
 at run time with what's in registry! (so should never be 'final')</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ModelHandlerForXSL</strong>()</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 IDocumentLoader</code></td><td width="" align="left"><code>getDocumentLoader()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IDocumentCharsetDetector</code></td><td width="" align="left"><code>getEncodingDetector()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IModelLoader</code></td><td width="" align="left"><code>getModelLoader()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>AssociatedContentTypeID</h2>
<p>
<code>package-private static  java.lang.String <strong>AssociatedContentTypeID</strong></code>
</p>
<table>
<tr>
<td>Needs to match what's in plugin registry. In fact, can be overwritten
 at run time with what's in registry! (so should never be 'final')</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>ModelHandlerForXSL</h2>
<p>
<code>public <strong>ModelHandlerForXSL</strong>()</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>getDocumentLoader</h2>
<p>
<code>public IDocumentLoader <strong>getDocumentLoader</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDocumentLoader</code>
</p>
<hr>
<h2>getEncodingDetector</h2>
<p>
<code>public IDocumentCharsetDetector <strong>getEncodingDetector</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDocumentCharsetDetector</code>
</p>
<hr>
<h2>getModelLoader</h2>
<p>
<code>public IModelLoader <strong>getModelLoader</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IModelLoader</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.modelhandler</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.modelhandler</strong></font>
<br>
            Class XSLModelLoader</h2>
<br>
<hr>
<pre>public class <strong>XSLModelLoader</strong>
extends XMLModelLoader</pre>This class reads an XML file and creates an XML Structured Model.<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLModelLoader</strong>()</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 IDocumentLoader</code></td><td width="" align="left"><code>getDocumentLoader()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IModelLoader</code></td><td width="" align="left"><code>newInstance()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IStructuredModel</code></td><td width="" align="left"><code>newModel()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>preLoadAdapt(IStructuredModel structuredModel)</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>XSLModelLoader</h2>
<p>
<code>public <strong>XSLModelLoader</strong>()</code>
</p>
<p>XMLLoader constructor comment.</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>getDocumentLoader</h2>
<p>
<code>public IDocumentLoader <strong>getDocumentLoader</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDocumentLoader</code>
</p>
<hr>
<h2>newInstance</h2>
<p>
<code>public IModelLoader <strong>newInstance</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IModelLoader</code>
</p>
<hr>
<h2>newModel</h2>
<p>
<code>public IStructuredModel <strong>newModel</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IStructuredModel</code>
</p>
<hr>
<h2>preLoadAdapt</h2>
<p>
<code>protected void <strong>preLoadAdapt</strong>(IStructuredModel structuredModel)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>structuredModel</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.parser</strong></font>
<br>
            Class XSLSourceParser</h2>
<br>
<hr>
<pre>public class <strong>XSLSourceParser</strong>
extends XMLSourceParser</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLSourceParser</strong>()</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 RegionParser</code></td><td width="" align="left"><code>newInstance()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IStructuredDocumentRegion</code></td><td width="" align="left"><code>parseNodes()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setTokenizer(BlockTokenizer newTokenizer)</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>XSLSourceParser</h2>
<p>
<code>public <strong>XSLSourceParser</strong>()</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>newInstance</h2>
<p>
<code>public RegionParser <strong>newInstance</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>RegionParser</code>
</p>
<hr>
<h2>parseNodes</h2>
<p>
<code>protected IStructuredDocumentRegion <strong>parseNodes</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IStructuredDocumentRegion</code>
</p>
<hr>
<h2>setTokenizer</h2>
<p>
<code>protected void <strong>setTokenizer</strong>(BlockTokenizer newTokenizer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>newTokenizer</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.parser.regions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.parser.regions</strong></font>
<br>
            Class XPathSeparatorRegion</h2>
<br>
<hr>
<pre>public class <strong>XPathSeparatorRegion</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathSeparatorRegion</strong>()</code></td>
</tr>
<tr>
<td><code><strong>XPathSeparatorRegion</strong>(int start
         ,
      int textLength
         ,
      int length)</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 void</code></td><td width="" align="left"><code>adjustLength(int i)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>adjustStart(int i)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>adjustTextLength(int i)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>equatePositions(ITextRegion region)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getEnd()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getLength()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getStart()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getTextEnd()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getTextLength()</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>getType()</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>toString()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public StructuredDocumentEvent</code></td><td width="" align="left"><code>updateRegion(java.lang.Object requester
         ,
      IStructuredDocumentRegion parent
         ,
      java.lang.String changes
         ,
      int requestStart
         ,
      int lengthToReplace)</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>XPathSeparatorRegion</h2>
<p>
<code>public <strong>XPathSeparatorRegion</strong>()</code>
</p>
<p></p>
<hr>
<h2>XPathSeparatorRegion</h2>
<p>
<code>public <strong>XPathSeparatorRegion</strong>(int start
         ,
      int textLength
         ,
      int length)</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>adjustLength</h2>
<p>
<code>public void <strong>adjustLength</strong>(int i)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>i</code>
</p>
<hr>
<h2>adjustStart</h2>
<p>
<code>public void <strong>adjustStart</strong>(int i)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>i</code>
</p>
<hr>
<h2>adjustTextLength</h2>
<p>
<code>public void <strong>adjustTextLength</strong>(int i)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>i</code>
</p>
<hr>
<h2>equatePositions</h2>
<p>
<code>public void <strong>equatePositions</strong>(ITextRegion region)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>region</code>
</p>
<hr>
<h2>getEnd</h2>
<p>
<code>public int <strong>getEnd</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getLength</h2>
<p>
<code>public int <strong>getLength</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getStart</h2>
<p>
<code>public int <strong>getStart</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getTextEnd</h2>
<p>
<code>public int <strong>getTextEnd</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getTextLength</h2>
<p>
<code>public int <strong>getTextLength</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getType</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>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>updateRegion</h2>
<p>
<code>public StructuredDocumentEvent <strong>updateRegion</strong>(java.lang.Object requester
         ,
      IStructuredDocumentRegion parent
         ,
      java.lang.String changes
         ,
      int requestStart
         ,
      int lengthToReplace)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>requester</code>
</p>
<p>
<code>parent</code>
</p>
<p>
<code>changes</code>
</p>
<p>
<code>requestStart</code>
</p>
<p>
<code>lengthToReplace</code>
</p>
<h3>Returns</h3>
<p>
<code>StructuredDocumentEvent</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.regions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.regions</strong></font>
<br>
            Class XPathRegionContext</h2>
<br>
<hr>
<pre>public class <strong>XPathRegionContext</strong>
extends </pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>BLOCK_TEXT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>UNDEFINED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WHITE_SPACE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATH_CONTENT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATH_FUNCTION_NAME</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATH_FUNCTION_PARAMETERS_CLOSE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATH_FUNCTION_PARAMETERS_OPEN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XPATH_SEPARATOR_DIV</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>BLOCK_TEXT</h2>
<p>
<code>public static  java.lang.String <strong>BLOCK_TEXT</strong></code>
</p>
<hr>
<h2>UNDEFINED</h2>
<p>
<code>public static  java.lang.String <strong>UNDEFINED</strong></code>
</p>
<hr>
<h2>WHITE_SPACE</h2>
<p>
<code>public static  java.lang.String <strong>WHITE_SPACE</strong></code>
</p>
<hr>
<h2>XPATH_CONTENT</h2>
<p>
<code>public static  java.lang.String <strong>XPATH_CONTENT</strong></code>
</p>
<hr>
<h2>XPATH_FUNCTION_NAME</h2>
<p>
<code>public static  java.lang.String <strong>XPATH_FUNCTION_NAME</strong></code>
</p>
<hr>
<h2>XPATH_FUNCTION_PARAMETERS_CLOSE</h2>
<p>
<code>public static  java.lang.String <strong>XPATH_FUNCTION_PARAMETERS_CLOSE</strong></code>
</p>
<hr>
<h2>XPATH_FUNCTION_PARAMETERS_OPEN</h2>
<p>
<code>public static  java.lang.String <strong>XPATH_FUNCTION_PARAMETERS_OPEN</strong></code>
</p>
<hr>
<h2>XPATH_SEPARATOR_DIV</h2>
<p>
<code>public static  java.lang.String <strong>XPATH_SEPARATOR_DIV</strong></code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.regions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.regions</strong></font>
<br>
            Class XSLParserRegionFactory</h2>
<br>
<hr>
<pre>public class <strong>XSLParserRegionFactory</strong>
extends XMLParserRegionFactory</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLParserRegionFactory</strong>()</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>XSLParserRegionFactory</h2>
<p>
<code>public <strong>XSLParserRegionFactory</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.text</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.text</strong></font>
<br>
            Class IXSLPartitions</h2>
<br>
<hr>
<pre>public class <strong>IXSLPartitions</strong>
extends </pre>This interface is not intended to be implemented.
 It defines the partition types for XSL.
 Clients should reference the partition type Strings defined here directly.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSL_XPATH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XSL_XPATH</h2>
<p>
<code>public static  java.lang.String <strong>XSL_XPATH</strong></code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.text.rules</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.text.rules</strong></font>
<br>
            Class StructuredTextPartitionerForXSL</h2>
<br>
<hr>
<pre>public class <strong>StructuredTextPartitionerForXSL</strong>
extends StructuredTextPartitionerForXML</pre>Contains information specific to setting up Structured Document Partions 
 in XSL documents.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>StructuredTextPartitionerForXSL</strong>()</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 static java.lang.String[]</code></td><td width="" align="left"><code>getConfiguredContentTypes()</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>getPartitionType(ITextRegion region
         ,
      int offset)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IDocumentPartitioner</code></td><td width="" align="left"><code>newInstance()</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>StructuredTextPartitionerForXSL</h2>
<p>
<code>public <strong>StructuredTextPartitionerForXSL</strong>()</code>
</p>
<p>The StructuredTextPartitionerForXSL adds the necessary
 Partition types to help Identify potential XPath areas.
 This is also used for Line Styling and Content Assistance.</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>getConfiguredContentTypes</h2>
<p>
<code>public java.lang.String[] <strong>getConfiguredContentTypes</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<hr>
<h2>getPartitionType</h2>
<p>
<code>public java.lang.String <strong>getPartitionType</strong>(ITextRegion region
         ,
      int offset)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>region</code>
</p>
<p>
<code>offset</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>newInstance</h2>
<p>
<code>public IDocumentPartitioner <strong>newInstance</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDocumentPartitioner</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class XPathParserLexer</h2>
<br>
<hr>
<pre>public class <strong>XPathParserLexer</strong>
extends Lexer</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>AT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>COLON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>COMMA</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DIGIT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DIV</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOLLAR_SIGN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOT_DOT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_COLON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_QUOTE_STRING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_SLASH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>EOF</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>EQUALS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>GT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>GTE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>IDENTIFIER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>KW_AND</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>KW_OR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LEFT_BRACKET</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LEFT_PAREN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LITERAL</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LTE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>MINUS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>MOD</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>NOT_EQUALS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>NUMBER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>PIPE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>PLUS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>RIGHT_BRACKET</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>RIGHT_PAREN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>SINGLE_QUOTE_STRING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>SLASH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>STAR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>Tokens</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>WS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XPathParserLexer</strong>()</code></td>
</tr>
<tr>
<td><code><strong>XPathParserLexer</strong>(CharStream input)</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>getGrammarFileName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mAT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mCOLON()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mCOMMA()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDIGIT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDIV()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOLLAR_SIGN()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOT_DOT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOUBLE_COLON()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOUBLE_QUOTE_STRING()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOUBLE_SLASH()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mEQUALS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mGT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mGTE()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mIDENTIFIER()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLEFT_BRACKET()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLEFT_PAREN()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLITERAL()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLTE()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mMINUS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mMOD()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mNOT_EQUALS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mNUMBER()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mPIPE()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mPLUS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mRIGHT_BRACKET()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mRIGHT_PAREN()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mSINGLE_QUOTE_STRING()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mSLASH()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mSTAR()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mTokens()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mWS()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>AT</h2>
<p>
<code>public static  int <strong>AT</strong></code>
</p>
<hr>
<h2>COLON</h2>
<p>
<code>public static  int <strong>COLON</strong></code>
</p>
<hr>
<h2>COMMA</h2>
<p>
<code>public static  int <strong>COMMA</strong></code>
</p>
<hr>
<h2>DIGIT</h2>
<p>
<code>public static  int <strong>DIGIT</strong></code>
</p>
<hr>
<h2>DIV</h2>
<p>
<code>public static  int <strong>DIV</strong></code>
</p>
<hr>
<h2>DOLLAR_SIGN</h2>
<p>
<code>public static  int <strong>DOLLAR_SIGN</strong></code>
</p>
<hr>
<h2>DOT</h2>
<p>
<code>public static  int <strong>DOT</strong></code>
</p>
<hr>
<h2>DOT_DOT</h2>
<p>
<code>public static  int <strong>DOT_DOT</strong></code>
</p>
<hr>
<h2>DOUBLE_COLON</h2>
<p>
<code>public static  int <strong>DOUBLE_COLON</strong></code>
</p>
<hr>
<h2>DOUBLE_QUOTE_STRING</h2>
<p>
<code>public static  int <strong>DOUBLE_QUOTE_STRING</strong></code>
</p>
<hr>
<h2>DOUBLE_SLASH</h2>
<p>
<code>public static  int <strong>DOUBLE_SLASH</strong></code>
</p>
<hr>
<h2>EOF</h2>
<p>
<code>public static  int <strong>EOF</strong></code>
</p>
<hr>
<h2>EQUALS</h2>
<p>
<code>public static  int <strong>EQUALS</strong></code>
</p>
<hr>
<h2>GT</h2>
<p>
<code>public static  int <strong>GT</strong></code>
</p>
<hr>
<h2>GTE</h2>
<p>
<code>public static  int <strong>GTE</strong></code>
</p>
<hr>
<h2>IDENTIFIER</h2>
<p>
<code>public static  int <strong>IDENTIFIER</strong></code>
</p>
<hr>
<h2>KW_AND</h2>
<p>
<code>public static  int <strong>KW_AND</strong></code>
</p>
<hr>
<h2>KW_OR</h2>
<p>
<code>public static  int <strong>KW_OR</strong></code>
</p>
<hr>
<h2>LEFT_BRACKET</h2>
<p>
<code>public static  int <strong>LEFT_BRACKET</strong></code>
</p>
<hr>
<h2>LEFT_PAREN</h2>
<p>
<code>public static  int <strong>LEFT_PAREN</strong></code>
</p>
<hr>
<h2>LITERAL</h2>
<p>
<code>public static  int <strong>LITERAL</strong></code>
</p>
<hr>
<h2>LT</h2>
<p>
<code>public static  int <strong>LT</strong></code>
</p>
<hr>
<h2>LTE</h2>
<p>
<code>public static  int <strong>LTE</strong></code>
</p>
<hr>
<h2>MINUS</h2>
<p>
<code>public static  int <strong>MINUS</strong></code>
</p>
<hr>
<h2>MOD</h2>
<p>
<code>public static  int <strong>MOD</strong></code>
</p>
<hr>
<h2>NOT_EQUALS</h2>
<p>
<code>public static  int <strong>NOT_EQUALS</strong></code>
</p>
<hr>
<h2>NUMBER</h2>
<p>
<code>public static  int <strong>NUMBER</strong></code>
</p>
<hr>
<h2>PIPE</h2>
<p>
<code>public static  int <strong>PIPE</strong></code>
</p>
<hr>
<h2>PLUS</h2>
<p>
<code>public static  int <strong>PLUS</strong></code>
</p>
<hr>
<h2>RIGHT_BRACKET</h2>
<p>
<code>public static  int <strong>RIGHT_BRACKET</strong></code>
</p>
<hr>
<h2>RIGHT_PAREN</h2>
<p>
<code>public static  int <strong>RIGHT_PAREN</strong></code>
</p>
<hr>
<h2>SINGLE_QUOTE_STRING</h2>
<p>
<code>public static  int <strong>SINGLE_QUOTE_STRING</strong></code>
</p>
<hr>
<h2>SLASH</h2>
<p>
<code>public static  int <strong>SLASH</strong></code>
</p>
<hr>
<h2>STAR</h2>
<p>
<code>public static  int <strong>STAR</strong></code>
</p>
<hr>
<h2>Tokens</h2>
<p>
<code>public static  int <strong>Tokens</strong></code>
</p>
<hr>
<h2>WS</h2>
<p>
<code>public static  int <strong>WS</strong></code>
</p>
<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>XPathParserLexer</h2>
<p>
<code>public <strong>XPathParserLexer</strong>()</code>
</p>
<p></p>
<hr>
<h2>XPathParserLexer</h2>
<p>
<code>public <strong>XPathParserLexer</strong>(CharStream input)</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>getGrammarFileName</h2>
<p>
<code>public java.lang.String <strong>getGrammarFileName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>mAT</h2>
<p>
<code>public void <strong>mAT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mCOLON</h2>
<p>
<code>public void <strong>mCOLON</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mCOMMA</h2>
<p>
<code>public void <strong>mCOMMA</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDIGIT</h2>
<p>
<code>public void <strong>mDIGIT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDIV</h2>
<p>
<code>public void <strong>mDIV</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOLLAR_SIGN</h2>
<p>
<code>public void <strong>mDOLLAR_SIGN</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOT</h2>
<p>
<code>public void <strong>mDOT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOT_DOT</h2>
<p>
<code>public void <strong>mDOT_DOT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOUBLE_COLON</h2>
<p>
<code>public void <strong>mDOUBLE_COLON</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOUBLE_QUOTE_STRING</h2>
<p>
<code>public void <strong>mDOUBLE_QUOTE_STRING</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOUBLE_SLASH</h2>
<p>
<code>public void <strong>mDOUBLE_SLASH</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mEQUALS</h2>
<p>
<code>public void <strong>mEQUALS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mGT</h2>
<p>
<code>public void <strong>mGT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mGTE</h2>
<p>
<code>public void <strong>mGTE</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mIDENTIFIER</h2>
<p>
<code>public void <strong>mIDENTIFIER</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLEFT_BRACKET</h2>
<p>
<code>public void <strong>mLEFT_BRACKET</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLEFT_PAREN</h2>
<p>
<code>public void <strong>mLEFT_PAREN</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLITERAL</h2>
<p>
<code>public void <strong>mLITERAL</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLT</h2>
<p>
<code>public void <strong>mLT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLTE</h2>
<p>
<code>public void <strong>mLTE</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mMINUS</h2>
<p>
<code>public void <strong>mMINUS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mMOD</h2>
<p>
<code>public void <strong>mMOD</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mNOT_EQUALS</h2>
<p>
<code>public void <strong>mNOT_EQUALS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mNUMBER</h2>
<p>
<code>public void <strong>mNUMBER</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mPIPE</h2>
<p>
<code>public void <strong>mPIPE</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mPLUS</h2>
<p>
<code>public void <strong>mPLUS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mRIGHT_BRACKET</h2>
<p>
<code>public void <strong>mRIGHT_BRACKET</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mRIGHT_PAREN</h2>
<p>
<code>public void <strong>mRIGHT_PAREN</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mSINGLE_QUOTE_STRING</h2>
<p>
<code>public void <strong>mSINGLE_QUOTE_STRING</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mSLASH</h2>
<p>
<code>public void <strong>mSLASH</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mSTAR</h2>
<p>
<code>public void <strong>mSTAR</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mTokens</h2>
<p>
<code>public void <strong>mTokens</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mWS</h2>
<p>
<code>public void <strong>mWS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathLexer</h2>
<br>
<hr>
<pre>public class <strong>xpathLexer</strong>
extends Lexer</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>AT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>COLON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>COMMA</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DIGIT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DIV</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOLLAR_SIGN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOT_DOT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_COLON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_QUOTE_STRING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_SLASH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>EOF</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>EQUALS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>GT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>GTE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>IDENTIFIER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>KW_AND</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>KW_OR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LEFT_BRACKET</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LEFT_PAREN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LITERAL</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LTE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>MINUS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>MOD</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>NOT_EQUALS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>NUMBER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>PIPE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>PLUS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>RIGHT_BRACKET</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>RIGHT_PAREN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>SINGLE_QUOTE_STRING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>SLASH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>STAR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>Tokens</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>WS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathLexer</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathLexer</strong>(CharStream input)</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>getGrammarFileName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mAT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mCOLON()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mCOMMA()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDIGIT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDIV()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOLLAR_SIGN()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOT_DOT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOUBLE_COLON()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOUBLE_QUOTE_STRING()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mDOUBLE_SLASH()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mEQUALS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mGT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mGTE()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mIDENTIFIER()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mKW_AND()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mKW_OR()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLEFT_BRACKET()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLEFT_PAREN()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLITERAL()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLT()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mLTE()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mMINUS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mMOD()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mNOT_EQUALS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mNUMBER()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mPIPE()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mPLUS()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mRIGHT_BRACKET()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mRIGHT_PAREN()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mSINGLE_QUOTE_STRING()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mSLASH()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mSTAR()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mTokens()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>mWS()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>AT</h2>
<p>
<code>public static  int <strong>AT</strong></code>
</p>
<hr>
<h2>COLON</h2>
<p>
<code>public static  int <strong>COLON</strong></code>
</p>
<hr>
<h2>COMMA</h2>
<p>
<code>public static  int <strong>COMMA</strong></code>
</p>
<hr>
<h2>DIGIT</h2>
<p>
<code>public static  int <strong>DIGIT</strong></code>
</p>
<hr>
<h2>DIV</h2>
<p>
<code>public static  int <strong>DIV</strong></code>
</p>
<hr>
<h2>DOLLAR_SIGN</h2>
<p>
<code>public static  int <strong>DOLLAR_SIGN</strong></code>
</p>
<hr>
<h2>DOT</h2>
<p>
<code>public static  int <strong>DOT</strong></code>
</p>
<hr>
<h2>DOT_DOT</h2>
<p>
<code>public static  int <strong>DOT_DOT</strong></code>
</p>
<hr>
<h2>DOUBLE_COLON</h2>
<p>
<code>public static  int <strong>DOUBLE_COLON</strong></code>
</p>
<hr>
<h2>DOUBLE_QUOTE_STRING</h2>
<p>
<code>public static  int <strong>DOUBLE_QUOTE_STRING</strong></code>
</p>
<hr>
<h2>DOUBLE_SLASH</h2>
<p>
<code>public static  int <strong>DOUBLE_SLASH</strong></code>
</p>
<hr>
<h2>EOF</h2>
<p>
<code>public static  int <strong>EOF</strong></code>
</p>
<hr>
<h2>EQUALS</h2>
<p>
<code>public static  int <strong>EQUALS</strong></code>
</p>
<hr>
<h2>GT</h2>
<p>
<code>public static  int <strong>GT</strong></code>
</p>
<hr>
<h2>GTE</h2>
<p>
<code>public static  int <strong>GTE</strong></code>
</p>
<hr>
<h2>IDENTIFIER</h2>
<p>
<code>public static  int <strong>IDENTIFIER</strong></code>
</p>
<hr>
<h2>KW_AND</h2>
<p>
<code>public static  int <strong>KW_AND</strong></code>
</p>
<hr>
<h2>KW_OR</h2>
<p>
<code>public static  int <strong>KW_OR</strong></code>
</p>
<hr>
<h2>LEFT_BRACKET</h2>
<p>
<code>public static  int <strong>LEFT_BRACKET</strong></code>
</p>
<hr>
<h2>LEFT_PAREN</h2>
<p>
<code>public static  int <strong>LEFT_PAREN</strong></code>
</p>
<hr>
<h2>LITERAL</h2>
<p>
<code>public static  int <strong>LITERAL</strong></code>
</p>
<hr>
<h2>LT</h2>
<p>
<code>public static  int <strong>LT</strong></code>
</p>
<hr>
<h2>LTE</h2>
<p>
<code>public static  int <strong>LTE</strong></code>
</p>
<hr>
<h2>MINUS</h2>
<p>
<code>public static  int <strong>MINUS</strong></code>
</p>
<hr>
<h2>MOD</h2>
<p>
<code>public static  int <strong>MOD</strong></code>
</p>
<hr>
<h2>NOT_EQUALS</h2>
<p>
<code>public static  int <strong>NOT_EQUALS</strong></code>
</p>
<hr>
<h2>NUMBER</h2>
<p>
<code>public static  int <strong>NUMBER</strong></code>
</p>
<hr>
<h2>PIPE</h2>
<p>
<code>public static  int <strong>PIPE</strong></code>
</p>
<hr>
<h2>PLUS</h2>
<p>
<code>public static  int <strong>PLUS</strong></code>
</p>
<hr>
<h2>RIGHT_BRACKET</h2>
<p>
<code>public static  int <strong>RIGHT_BRACKET</strong></code>
</p>
<hr>
<h2>RIGHT_PAREN</h2>
<p>
<code>public static  int <strong>RIGHT_PAREN</strong></code>
</p>
<hr>
<h2>SINGLE_QUOTE_STRING</h2>
<p>
<code>public static  int <strong>SINGLE_QUOTE_STRING</strong></code>
</p>
<hr>
<h2>SLASH</h2>
<p>
<code>public static  int <strong>SLASH</strong></code>
</p>
<hr>
<h2>STAR</h2>
<p>
<code>public static  int <strong>STAR</strong></code>
</p>
<hr>
<h2>Tokens</h2>
<p>
<code>public static  int <strong>Tokens</strong></code>
</p>
<hr>
<h2>WS</h2>
<p>
<code>public static  int <strong>WS</strong></code>
</p>
<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>xpathLexer</h2>
<p>
<code>public <strong>xpathLexer</strong>()</code>
</p>
<p></p>
<hr>
<h2>xpathLexer</h2>
<p>
<code>public <strong>xpathLexer</strong>(CharStream input)</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>getGrammarFileName</h2>
<p>
<code>public java.lang.String <strong>getGrammarFileName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>mAT</h2>
<p>
<code>public void <strong>mAT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mCOLON</h2>
<p>
<code>public void <strong>mCOLON</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mCOMMA</h2>
<p>
<code>public void <strong>mCOMMA</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDIGIT</h2>
<p>
<code>public void <strong>mDIGIT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDIV</h2>
<p>
<code>public void <strong>mDIV</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOLLAR_SIGN</h2>
<p>
<code>public void <strong>mDOLLAR_SIGN</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOT</h2>
<p>
<code>public void <strong>mDOT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOT_DOT</h2>
<p>
<code>public void <strong>mDOT_DOT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOUBLE_COLON</h2>
<p>
<code>public void <strong>mDOUBLE_COLON</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOUBLE_QUOTE_STRING</h2>
<p>
<code>public void <strong>mDOUBLE_QUOTE_STRING</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mDOUBLE_SLASH</h2>
<p>
<code>public void <strong>mDOUBLE_SLASH</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mEQUALS</h2>
<p>
<code>public void <strong>mEQUALS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mGT</h2>
<p>
<code>public void <strong>mGT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mGTE</h2>
<p>
<code>public void <strong>mGTE</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mIDENTIFIER</h2>
<p>
<code>public void <strong>mIDENTIFIER</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mKW_AND</h2>
<p>
<code>public void <strong>mKW_AND</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mKW_OR</h2>
<p>
<code>public void <strong>mKW_OR</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLEFT_BRACKET</h2>
<p>
<code>public void <strong>mLEFT_BRACKET</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLEFT_PAREN</h2>
<p>
<code>public void <strong>mLEFT_PAREN</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLITERAL</h2>
<p>
<code>public void <strong>mLITERAL</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLT</h2>
<p>
<code>public void <strong>mLT</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mLTE</h2>
<p>
<code>public void <strong>mLTE</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mMINUS</h2>
<p>
<code>public void <strong>mMINUS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mMOD</h2>
<p>
<code>public void <strong>mMOD</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mNOT_EQUALS</h2>
<p>
<code>public void <strong>mNOT_EQUALS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mNUMBER</h2>
<p>
<code>public void <strong>mNUMBER</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mPIPE</h2>
<p>
<code>public void <strong>mPIPE</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mPLUS</h2>
<p>
<code>public void <strong>mPLUS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mRIGHT_BRACKET</h2>
<p>
<code>public void <strong>mRIGHT_BRACKET</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mRIGHT_PAREN</h2>
<p>
<code>public void <strong>mRIGHT_PAREN</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mSINGLE_QUOTE_STRING</h2>
<p>
<code>public void <strong>mSINGLE_QUOTE_STRING</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mSLASH</h2>
<p>
<code>public void <strong>mSLASH</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mSTAR</h2>
<p>
<code>public void <strong>mSTAR</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mTokens</h2>
<p>
<code>public void <strong>mTokens</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mWS</h2>
<p>
<code>public void <strong>mWS</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser</h2>
<br>
<hr>
<pre>public class <strong>xpathParser</strong>
extends DebugParser</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected DebugTreeAdaptor</code></td><td width="80%" align="left"><code>adaptor</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>AT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>COLON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>COMMA</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DIGIT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DIV</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOLLAR_SIGN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOT_DOT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_COLON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_QUOTE_STRING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DOUBLE_SLASH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>EOF</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>EQUALS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_abbr_step_in_step384</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_absolute_location_path_in_location_path96</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_absolute_location_path_in_path_expr857</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_absolute_location_path_in_path_expr908</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_additive_expr_in_relational_expr1105</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_additive_expr_in_relational_expr1175</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_and_expr_in_or_expr964</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_and_expr_in_or_expr981</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_arg_list_in_function_call706</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_argument_in_arg_list727</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_argument_in_arg_list737</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_AT_in_abbr_axis_specifier560</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_AT_in_axis476</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_AT_in_synpred2243</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_axis_in_step247</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_COLON_in_step289</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_COMMA_in_arg_list735</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_DIV_in_mult_expr1294</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_DOLLAR_SIGN_in_variable_reference676</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_DOUBLE_COLON_in_axis469</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_DOUBLE_COLON_in_synpred2239</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_DOUBLE_SLASH_in_absolute_location_path124</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_DOUBLE_SLASH_in_i_relative_location_path198</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_equality_expr_in_and_expr1002</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_equality_expr_in_and_expr1020</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_EQUALS_in_equality_expr1044</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_expr_in_argument755</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_expr_in_predicate_expr521</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_expr_in_primary_expr614</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_filter_expr_in_path_expr849</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_filter_expr_in_path_expr900</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_function_call_in_primary_expr635</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_GT_in_relational_expr1126</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_GTE_in_relational_expr1153</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_i_relative_location_path_in_absolute_location_path147</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_i_relative_location_path_in_relative_location_path169</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_axis467</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_function_call699</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_special_step417</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_special_step427</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_special_step448</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_step287</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_synpred2237</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_synpred3821</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_synpred4841</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_IDENTIFIER_in_variable_reference679</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_KW_AND_in_and_expr1006</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_KW_OR_in_or_expr968</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LEFT_BRACKET_in_predicate500</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LEFT_PAREN_in_function_call701</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LEFT_PAREN_in_primary_expr611</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LEFT_PAREN_in_special_step419</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LEFT_PAREN_in_special_step450</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LEFT_PAREN_in_synpred3823</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LEFT_PAREN_in_synpred4843</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LITERAL_in_literal648</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_literal_in_primary_expr623</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_location_path_in_path_expr831</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_location_path_in_path_expr889</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LT_in_relational_expr1111</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_LTE_in_relational_expr1139</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_MINUS_in_additive_expr1232</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_MINUS_in_unary_expr1361</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_MOD_in_mult_expr1307</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_mult_expr_in_additive_expr1213</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_mult_expr_in_additive_expr1251</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_NOT_EQUALS_in_equality_expr1059</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_NUMBER_in_number662</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_number_in_primary_expr629</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_or_expr_in_expr589</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_path_expr_in_union_expr775</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_path_expr_in_union_expr785</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_PIPE_in_union_expr782</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_PLUS_in_additive_expr1219</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_predicate_expr_in_predicate503</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_predicate_in_filter_expr937</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_predicate_in_step367</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_predicate_in_step395</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_primary_expr_in_filter_expr930</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_relational_expr_in_equality_expr1038</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_relational_expr_in_equality_expr1080</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_relative_location_path_in_location_path102</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_RIGHT_BRACKET_in_predicate505</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_RIGHT_PAREN_in_function_call711</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_RIGHT_PAREN_in_primary_expr616</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_RIGHT_PAREN_in_special_step438</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_RIGHT_PAREN_in_special_step452</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_set_in_abbr_step0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_set_in_step301</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_set_in_synpred1135</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_set_in_synpred5872</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_SLASH_in_absolute_location_path117</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_SLASH_in_i_relative_location_path190</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_special_step_in_step351</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_STAR_in_mult_expr1281</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_step_in_i_relative_location_path182</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_step_in_i_relative_location_path207</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_unary_expr_in_mult_expr1275</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_unary_expr_in_mult_expr1327</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_unary_expr_in_unary_expr1363</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_union_expr_in_unary_expr1352</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_union_expr_in_xpath75</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  BitSet</code></td><td width="80%" align="left"><code>FOLLOW_variable_reference_in_primary_expr605</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>GT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>GTE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>IDENTIFIER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>KW_AND</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>KW_OR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LEFT_BRACKET</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LEFT_PAREN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LITERAL</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>LTE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>MINUS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>MOD</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>NOT_EQUALS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>NUMBER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>PIPE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>PLUS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>RIGHT_BRACKET</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>RIGHT_PAREN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="80%" align="left"><code>ruleLevel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String[]</code></td><td width="80%" align="left"><code>ruleNames</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>SINGLE_QUOTE_STRING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>SLASH</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>STAR</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String[]</code></td><td width="80%" align="left"><code>tokenNames</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>WS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser</strong>(TokenStream input
         ,
      int port)</code></td>
</tr>
<tr>
<td><code><strong>xpathParser</strong>(TokenStream input)</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.abbr_axis_specifier_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.abbr_step_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.absolute_location_path_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.additive_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.and_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.arg_list_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.argument_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.axis_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.equality_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.filter_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.function_call_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.i_relative_location_path_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.literal_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.location_path_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.mult_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.number_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.or_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.path_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.predicate_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.predicate_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.primary_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.relational_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.relative_location_path_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.special_step_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.step_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.unary_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.union_expr_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.variable_reference_return</strong>()</code></td>
</tr>
<tr>
<td><code><strong>xpathParser.xpath_return</strong>()</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 org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_axis_specifier_return</code></td><td width="" align="left"><code>abbr_axis_specifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_step_return</code></td><td width="" align="left"><code>abbr_step()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.absolute_location_path_return</code></td><td width="" align="left"><code>absolute_location_path()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.additive_expr_return</code></td><td width="" align="left"><code>additive_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.and_expr_return</code></td><td width="" align="left"><code>and_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.arg_list_return</code></td><td width="" align="left"><code>arg_list()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.argument_return</code></td><td width="" align="left"><code>argument()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.axis_return</code></td><td width="" align="left"><code>axis()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.equality_expr_return</code></td><td width="" align="left"><code>equality_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>evalPredicate(boolean result
         ,
      java.lang.String predicate)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.expr_return</code></td><td width="" align="left"><code>expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.filter_expr_return</code></td><td width="" align="left"><code>filter_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.function_call_return</code></td><td width="" align="left"><code>function_call()</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>getGrammarFileName()</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>getTokenNames()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public TreeAdaptor</code></td><td width="" align="left"><code>getTreeAdaptor()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.i_relative_location_path_return</code></td><td width="" align="left"><code>i_relative_location_path()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.literal_return</code></td><td width="" align="left"><code>literal()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.location_path_return</code></td><td width="" align="left"><code>location_path()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.mult_expr_return</code></td><td width="" align="left"><code>mult_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.number_return</code></td><td width="" align="left"><code>number()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.or_expr_return</code></td><td width="" align="left"><code>or_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.path_expr_return</code></td><td width="" align="left"><code>path_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_return</code></td><td width="" align="left"><code>predicate()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_expr_return</code></td><td width="" align="left"><code>predicate_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.primary_expr_return</code></td><td width="" align="left"><code>primary_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relational_expr_return</code></td><td width="" align="left"><code>relational_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relative_location_path_return</code></td><td width="" align="left"><code>relative_location_path()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setTreeAdaptor(TreeAdaptor adaptor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.special_step_return</code></td><td width="" align="left"><code>special_step()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.step_return</code></td><td width="" align="left"><code>step()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>synpred1()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>synpred1_fragment()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>synpred2()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>synpred2_fragment()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>synpred3()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>synpred3_fragment()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>synpred4()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>synpred4_fragment()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>synpred5()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>synpred5_fragment()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.unary_expr_return</code></td><td width="" align="left"><code>unary_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.union_expr_return</code></td><td width="" align="left"><code>union_expr()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.variable_reference_return</code></td><td width="" align="left"><code>variable_reference()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.xpath_return</code></td><td width="" align="left"><code>xpath()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>adaptor</h2>
<p>
<code>protected DebugTreeAdaptor <strong>adaptor</strong></code>
</p>
<hr>
<h2>AT</h2>
<p>
<code>public static  int <strong>AT</strong></code>
</p>
<hr>
<h2>COLON</h2>
<p>
<code>public static  int <strong>COLON</strong></code>
</p>
<hr>
<h2>COMMA</h2>
<p>
<code>public static  int <strong>COMMA</strong></code>
</p>
<hr>
<h2>DIGIT</h2>
<p>
<code>public static  int <strong>DIGIT</strong></code>
</p>
<hr>
<h2>DIV</h2>
<p>
<code>public static  int <strong>DIV</strong></code>
</p>
<hr>
<h2>DOLLAR_SIGN</h2>
<p>
<code>public static  int <strong>DOLLAR_SIGN</strong></code>
</p>
<hr>
<h2>DOT</h2>
<p>
<code>public static  int <strong>DOT</strong></code>
</p>
<hr>
<h2>DOT_DOT</h2>
<p>
<code>public static  int <strong>DOT_DOT</strong></code>
</p>
<hr>
<h2>DOUBLE_COLON</h2>
<p>
<code>public static  int <strong>DOUBLE_COLON</strong></code>
</p>
<hr>
<h2>DOUBLE_QUOTE_STRING</h2>
<p>
<code>public static  int <strong>DOUBLE_QUOTE_STRING</strong></code>
</p>
<hr>
<h2>DOUBLE_SLASH</h2>
<p>
<code>public static  int <strong>DOUBLE_SLASH</strong></code>
</p>
<hr>
<h2>EOF</h2>
<p>
<code>public static  int <strong>EOF</strong></code>
</p>
<hr>
<h2>EQUALS</h2>
<p>
<code>public static  int <strong>EQUALS</strong></code>
</p>
<hr>
<h2>FOLLOW_abbr_step_in_step384</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_abbr_step_in_step384</strong></code>
</p>
<hr>
<h2>FOLLOW_absolute_location_path_in_location_path96</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_absolute_location_path_in_location_path96</strong></code>
</p>
<hr>
<h2>FOLLOW_absolute_location_path_in_path_expr857</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_absolute_location_path_in_path_expr857</strong></code>
</p>
<hr>
<h2>FOLLOW_absolute_location_path_in_path_expr908</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_absolute_location_path_in_path_expr908</strong></code>
</p>
<hr>
<h2>FOLLOW_additive_expr_in_relational_expr1105</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_additive_expr_in_relational_expr1105</strong></code>
</p>
<hr>
<h2>FOLLOW_additive_expr_in_relational_expr1175</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_additive_expr_in_relational_expr1175</strong></code>
</p>
<hr>
<h2>FOLLOW_and_expr_in_or_expr964</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_and_expr_in_or_expr964</strong></code>
</p>
<hr>
<h2>FOLLOW_and_expr_in_or_expr981</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_and_expr_in_or_expr981</strong></code>
</p>
<hr>
<h2>FOLLOW_arg_list_in_function_call706</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_arg_list_in_function_call706</strong></code>
</p>
<hr>
<h2>FOLLOW_argument_in_arg_list727</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_argument_in_arg_list727</strong></code>
</p>
<hr>
<h2>FOLLOW_argument_in_arg_list737</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_argument_in_arg_list737</strong></code>
</p>
<hr>
<h2>FOLLOW_AT_in_abbr_axis_specifier560</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_AT_in_abbr_axis_specifier560</strong></code>
</p>
<hr>
<h2>FOLLOW_AT_in_axis476</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_AT_in_axis476</strong></code>
</p>
<hr>
<h2>FOLLOW_AT_in_synpred2243</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_AT_in_synpred2243</strong></code>
</p>
<hr>
<h2>FOLLOW_axis_in_step247</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_axis_in_step247</strong></code>
</p>
<hr>
<h2>FOLLOW_COLON_in_step289</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_COLON_in_step289</strong></code>
</p>
<hr>
<h2>FOLLOW_COMMA_in_arg_list735</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_COMMA_in_arg_list735</strong></code>
</p>
<hr>
<h2>FOLLOW_DIV_in_mult_expr1294</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_DIV_in_mult_expr1294</strong></code>
</p>
<hr>
<h2>FOLLOW_DOLLAR_SIGN_in_variable_reference676</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_DOLLAR_SIGN_in_variable_reference676</strong></code>
</p>
<hr>
<h2>FOLLOW_DOUBLE_COLON_in_axis469</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_DOUBLE_COLON_in_axis469</strong></code>
</p>
<hr>
<h2>FOLLOW_DOUBLE_COLON_in_synpred2239</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_DOUBLE_COLON_in_synpred2239</strong></code>
</p>
<hr>
<h2>FOLLOW_DOUBLE_SLASH_in_absolute_location_path124</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_DOUBLE_SLASH_in_absolute_location_path124</strong></code>
</p>
<hr>
<h2>FOLLOW_DOUBLE_SLASH_in_i_relative_location_path198</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_DOUBLE_SLASH_in_i_relative_location_path198</strong></code>
</p>
<hr>
<h2>FOLLOW_equality_expr_in_and_expr1002</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_equality_expr_in_and_expr1002</strong></code>
</p>
<hr>
<h2>FOLLOW_equality_expr_in_and_expr1020</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_equality_expr_in_and_expr1020</strong></code>
</p>
<hr>
<h2>FOLLOW_EQUALS_in_equality_expr1044</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_EQUALS_in_equality_expr1044</strong></code>
</p>
<hr>
<h2>FOLLOW_expr_in_argument755</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_expr_in_argument755</strong></code>
</p>
<hr>
<h2>FOLLOW_expr_in_predicate_expr521</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_expr_in_predicate_expr521</strong></code>
</p>
<hr>
<h2>FOLLOW_expr_in_primary_expr614</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_expr_in_primary_expr614</strong></code>
</p>
<hr>
<h2>FOLLOW_filter_expr_in_path_expr849</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_filter_expr_in_path_expr849</strong></code>
</p>
<hr>
<h2>FOLLOW_filter_expr_in_path_expr900</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_filter_expr_in_path_expr900</strong></code>
</p>
<hr>
<h2>FOLLOW_function_call_in_primary_expr635</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_function_call_in_primary_expr635</strong></code>
</p>
<hr>
<h2>FOLLOW_GT_in_relational_expr1126</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_GT_in_relational_expr1126</strong></code>
</p>
<hr>
<h2>FOLLOW_GTE_in_relational_expr1153</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_GTE_in_relational_expr1153</strong></code>
</p>
<hr>
<h2>FOLLOW_i_relative_location_path_in_absolute_location_path147</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_i_relative_location_path_in_absolute_location_path147</strong></code>
</p>
<hr>
<h2>FOLLOW_i_relative_location_path_in_relative_location_path169</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_i_relative_location_path_in_relative_location_path169</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_axis467</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_axis467</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_function_call699</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_function_call699</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_special_step417</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_special_step417</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_special_step427</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_special_step427</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_special_step448</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_special_step448</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_step287</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_step287</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_synpred2237</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_synpred2237</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_synpred3821</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_synpred3821</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_synpred4841</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_synpred4841</strong></code>
</p>
<hr>
<h2>FOLLOW_IDENTIFIER_in_variable_reference679</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_IDENTIFIER_in_variable_reference679</strong></code>
</p>
<hr>
<h2>FOLLOW_KW_AND_in_and_expr1006</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_KW_AND_in_and_expr1006</strong></code>
</p>
<hr>
<h2>FOLLOW_KW_OR_in_or_expr968</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_KW_OR_in_or_expr968</strong></code>
</p>
<hr>
<h2>FOLLOW_LEFT_BRACKET_in_predicate500</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LEFT_BRACKET_in_predicate500</strong></code>
</p>
<hr>
<h2>FOLLOW_LEFT_PAREN_in_function_call701</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LEFT_PAREN_in_function_call701</strong></code>
</p>
<hr>
<h2>FOLLOW_LEFT_PAREN_in_primary_expr611</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LEFT_PAREN_in_primary_expr611</strong></code>
</p>
<hr>
<h2>FOLLOW_LEFT_PAREN_in_special_step419</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LEFT_PAREN_in_special_step419</strong></code>
</p>
<hr>
<h2>FOLLOW_LEFT_PAREN_in_special_step450</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LEFT_PAREN_in_special_step450</strong></code>
</p>
<hr>
<h2>FOLLOW_LEFT_PAREN_in_synpred3823</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LEFT_PAREN_in_synpred3823</strong></code>
</p>
<hr>
<h2>FOLLOW_LEFT_PAREN_in_synpred4843</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LEFT_PAREN_in_synpred4843</strong></code>
</p>
<hr>
<h2>FOLLOW_LITERAL_in_literal648</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LITERAL_in_literal648</strong></code>
</p>
<hr>
<h2>FOLLOW_literal_in_primary_expr623</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_literal_in_primary_expr623</strong></code>
</p>
<hr>
<h2>FOLLOW_location_path_in_path_expr831</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_location_path_in_path_expr831</strong></code>
</p>
<hr>
<h2>FOLLOW_location_path_in_path_expr889</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_location_path_in_path_expr889</strong></code>
</p>
<hr>
<h2>FOLLOW_LT_in_relational_expr1111</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LT_in_relational_expr1111</strong></code>
</p>
<hr>
<h2>FOLLOW_LTE_in_relational_expr1139</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_LTE_in_relational_expr1139</strong></code>
</p>
<hr>
<h2>FOLLOW_MINUS_in_additive_expr1232</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_MINUS_in_additive_expr1232</strong></code>
</p>
<hr>
<h2>FOLLOW_MINUS_in_unary_expr1361</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_MINUS_in_unary_expr1361</strong></code>
</p>
<hr>
<h2>FOLLOW_MOD_in_mult_expr1307</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_MOD_in_mult_expr1307</strong></code>
</p>
<hr>
<h2>FOLLOW_mult_expr_in_additive_expr1213</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_mult_expr_in_additive_expr1213</strong></code>
</p>
<hr>
<h2>FOLLOW_mult_expr_in_additive_expr1251</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_mult_expr_in_additive_expr1251</strong></code>
</p>
<hr>
<h2>FOLLOW_NOT_EQUALS_in_equality_expr1059</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_NOT_EQUALS_in_equality_expr1059</strong></code>
</p>
<hr>
<h2>FOLLOW_NUMBER_in_number662</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_NUMBER_in_number662</strong></code>
</p>
<hr>
<h2>FOLLOW_number_in_primary_expr629</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_number_in_primary_expr629</strong></code>
</p>
<hr>
<h2>FOLLOW_or_expr_in_expr589</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_or_expr_in_expr589</strong></code>
</p>
<hr>
<h2>FOLLOW_path_expr_in_union_expr775</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_path_expr_in_union_expr775</strong></code>
</p>
<hr>
<h2>FOLLOW_path_expr_in_union_expr785</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_path_expr_in_union_expr785</strong></code>
</p>
<hr>
<h2>FOLLOW_PIPE_in_union_expr782</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_PIPE_in_union_expr782</strong></code>
</p>
<hr>
<h2>FOLLOW_PLUS_in_additive_expr1219</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_PLUS_in_additive_expr1219</strong></code>
</p>
<hr>
<h2>FOLLOW_predicate_expr_in_predicate503</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_predicate_expr_in_predicate503</strong></code>
</p>
<hr>
<h2>FOLLOW_predicate_in_filter_expr937</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_predicate_in_filter_expr937</strong></code>
</p>
<hr>
<h2>FOLLOW_predicate_in_step367</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_predicate_in_step367</strong></code>
</p>
<hr>
<h2>FOLLOW_predicate_in_step395</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_predicate_in_step395</strong></code>
</p>
<hr>
<h2>FOLLOW_primary_expr_in_filter_expr930</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_primary_expr_in_filter_expr930</strong></code>
</p>
<hr>
<h2>FOLLOW_relational_expr_in_equality_expr1038</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_relational_expr_in_equality_expr1038</strong></code>
</p>
<hr>
<h2>FOLLOW_relational_expr_in_equality_expr1080</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_relational_expr_in_equality_expr1080</strong></code>
</p>
<hr>
<h2>FOLLOW_relative_location_path_in_location_path102</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_relative_location_path_in_location_path102</strong></code>
</p>
<hr>
<h2>FOLLOW_RIGHT_BRACKET_in_predicate505</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_RIGHT_BRACKET_in_predicate505</strong></code>
</p>
<hr>
<h2>FOLLOW_RIGHT_PAREN_in_function_call711</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_RIGHT_PAREN_in_function_call711</strong></code>
</p>
<hr>
<h2>FOLLOW_RIGHT_PAREN_in_primary_expr616</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_RIGHT_PAREN_in_primary_expr616</strong></code>
</p>
<hr>
<h2>FOLLOW_RIGHT_PAREN_in_special_step438</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_RIGHT_PAREN_in_special_step438</strong></code>
</p>
<hr>
<h2>FOLLOW_RIGHT_PAREN_in_special_step452</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_RIGHT_PAREN_in_special_step452</strong></code>
</p>
<hr>
<h2>FOLLOW_set_in_abbr_step0</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_set_in_abbr_step0</strong></code>
</p>
<hr>
<h2>FOLLOW_set_in_step301</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_set_in_step301</strong></code>
</p>
<hr>
<h2>FOLLOW_set_in_synpred1135</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_set_in_synpred1135</strong></code>
</p>
<hr>
<h2>FOLLOW_set_in_synpred5872</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_set_in_synpred5872</strong></code>
</p>
<hr>
<h2>FOLLOW_SLASH_in_absolute_location_path117</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_SLASH_in_absolute_location_path117</strong></code>
</p>
<hr>
<h2>FOLLOW_SLASH_in_i_relative_location_path190</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_SLASH_in_i_relative_location_path190</strong></code>
</p>
<hr>
<h2>FOLLOW_special_step_in_step351</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_special_step_in_step351</strong></code>
</p>
<hr>
<h2>FOLLOW_STAR_in_mult_expr1281</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_STAR_in_mult_expr1281</strong></code>
</p>
<hr>
<h2>FOLLOW_step_in_i_relative_location_path182</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_step_in_i_relative_location_path182</strong></code>
</p>
<hr>
<h2>FOLLOW_step_in_i_relative_location_path207</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_step_in_i_relative_location_path207</strong></code>
</p>
<hr>
<h2>FOLLOW_unary_expr_in_mult_expr1275</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_unary_expr_in_mult_expr1275</strong></code>
</p>
<hr>
<h2>FOLLOW_unary_expr_in_mult_expr1327</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_unary_expr_in_mult_expr1327</strong></code>
</p>
<hr>
<h2>FOLLOW_unary_expr_in_unary_expr1363</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_unary_expr_in_unary_expr1363</strong></code>
</p>
<hr>
<h2>FOLLOW_union_expr_in_unary_expr1352</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_union_expr_in_unary_expr1352</strong></code>
</p>
<hr>
<h2>FOLLOW_union_expr_in_xpath75</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_union_expr_in_xpath75</strong></code>
</p>
<hr>
<h2>FOLLOW_variable_reference_in_primary_expr605</h2>
<p>
<code>public static  BitSet <strong>FOLLOW_variable_reference_in_primary_expr605</strong></code>
</p>
<hr>
<h2>GT</h2>
<p>
<code>public static  int <strong>GT</strong></code>
</p>
<hr>
<h2>GTE</h2>
<p>
<code>public static  int <strong>GTE</strong></code>
</p>
<hr>
<h2>IDENTIFIER</h2>
<p>
<code>public static  int <strong>IDENTIFIER</strong></code>
</p>
<hr>
<h2>KW_AND</h2>
<p>
<code>public static  int <strong>KW_AND</strong></code>
</p>
<hr>
<h2>KW_OR</h2>
<p>
<code>public static  int <strong>KW_OR</strong></code>
</p>
<hr>
<h2>LEFT_BRACKET</h2>
<p>
<code>public static  int <strong>LEFT_BRACKET</strong></code>
</p>
<hr>
<h2>LEFT_PAREN</h2>
<p>
<code>public static  int <strong>LEFT_PAREN</strong></code>
</p>
<hr>
<h2>LITERAL</h2>
<p>
<code>public static  int <strong>LITERAL</strong></code>
</p>
<hr>
<h2>LT</h2>
<p>
<code>public static  int <strong>LT</strong></code>
</p>
<hr>
<h2>LTE</h2>
<p>
<code>public static  int <strong>LTE</strong></code>
</p>
<hr>
<h2>MINUS</h2>
<p>
<code>public static  int <strong>MINUS</strong></code>
</p>
<hr>
<h2>MOD</h2>
<p>
<code>public static  int <strong>MOD</strong></code>
</p>
<hr>
<h2>NOT_EQUALS</h2>
<p>
<code>public static  int <strong>NOT_EQUALS</strong></code>
</p>
<hr>
<h2>NUMBER</h2>
<p>
<code>public static  int <strong>NUMBER</strong></code>
</p>
<hr>
<h2>PIPE</h2>
<p>
<code>public static  int <strong>PIPE</strong></code>
</p>
<hr>
<h2>PLUS</h2>
<p>
<code>public static  int <strong>PLUS</strong></code>
</p>
<hr>
<h2>RIGHT_BRACKET</h2>
<p>
<code>public static  int <strong>RIGHT_BRACKET</strong></code>
</p>
<hr>
<h2>RIGHT_PAREN</h2>
<p>
<code>public static  int <strong>RIGHT_PAREN</strong></code>
</p>
<hr>
<h2>ruleLevel</h2>
<p>
<code>public int <strong>ruleLevel</strong></code>
</p>
<hr>
<h2>ruleNames</h2>
<p>
<code>public static  java.lang.String[] <strong>ruleNames</strong></code>
</p>
<hr>
<h2>SINGLE_QUOTE_STRING</h2>
<p>
<code>public static  int <strong>SINGLE_QUOTE_STRING</strong></code>
</p>
<hr>
<h2>SLASH</h2>
<p>
<code>public static  int <strong>SLASH</strong></code>
</p>
<hr>
<h2>STAR</h2>
<p>
<code>public static  int <strong>STAR</strong></code>
</p>
<hr>
<h2>tokenNames</h2>
<p>
<code>public static  java.lang.String[] <strong>tokenNames</strong></code>
</p>
<hr>
<h2>WS</h2>
<p>
<code>public static  int <strong>WS</strong></code>
</p>
<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>xpathParser</h2>
<p>
<code>public <strong>xpathParser</strong>(TokenStream input
         ,
      int port)</code>
</p>
<p></p>
<hr>
<h2>xpathParser</h2>
<p>
<code>public <strong>xpathParser</strong>(TokenStream input)</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>abbr_axis_specifier</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_axis_specifier_return <strong>abbr_axis_specifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_axis_specifier_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>abbr_step</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_step_return <strong>abbr_step</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_step_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>absolute_location_path</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.absolute_location_path_return <strong>absolute_location_path</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.absolute_location_path_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>additive_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.additive_expr_return <strong>additive_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.additive_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>and_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.and_expr_return <strong>and_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.and_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>arg_list</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.arg_list_return <strong>arg_list</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.arg_list_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>argument</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.argument_return <strong>argument</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.argument_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>axis</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.axis_return <strong>axis</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.axis_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>equality_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.equality_expr_return <strong>equality_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.equality_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>evalPredicate</h2>
<p>
<code>protected boolean <strong>evalPredicate</strong>(boolean result
         ,
      java.lang.String predicate)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>result</code>
</p>
<p>
<code>predicate</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.expr_return <strong>expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>filter_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.filter_expr_return <strong>filter_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.filter_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>function_call</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.function_call_return <strong>function_call</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.function_call_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>getGrammarFileName</h2>
<p>
<code>public java.lang.String <strong>getGrammarFileName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getTokenNames</h2>
<p>
<code>public java.lang.String[] <strong>getTokenNames</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<hr>
<h2>getTreeAdaptor</h2>
<p>
<code>public TreeAdaptor <strong>getTreeAdaptor</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>TreeAdaptor</code>
</p>
<hr>
<h2>i_relative_location_path</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.i_relative_location_path_return <strong>i_relative_location_path</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.i_relative_location_path_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>literal</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.literal_return <strong>literal</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.literal_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>location_path</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.location_path_return <strong>location_path</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.location_path_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>mult_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.mult_expr_return <strong>mult_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.mult_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>number</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.number_return <strong>number</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.number_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>or_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.or_expr_return <strong>or_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.or_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>path_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.path_expr_return <strong>path_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.path_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>predicate</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_return <strong>predicate</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>predicate_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_expr_return <strong>predicate_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>primary_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.primary_expr_return <strong>primary_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.primary_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>relational_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relational_expr_return <strong>relational_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relational_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>relative_location_path</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relative_location_path_return <strong>relative_location_path</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relative_location_path_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>setTreeAdaptor</h2>
<p>
<code>public void <strong>setTreeAdaptor</strong>(TreeAdaptor adaptor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>adaptor</code>
</p>
<hr>
<h2>special_step</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.special_step_return <strong>special_step</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.special_step_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>step</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.step_return <strong>step</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.step_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>synpred1</h2>
<p>
<code>public boolean <strong>synpred1</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>synpred1_fragment</h2>
<p>
<code>public void <strong>synpred1_fragment</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>synpred2</h2>
<p>
<code>public boolean <strong>synpred2</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>synpred2_fragment</h2>
<p>
<code>public void <strong>synpred2_fragment</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>synpred3</h2>
<p>
<code>public boolean <strong>synpred3</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>synpred3_fragment</h2>
<p>
<code>public void <strong>synpred3_fragment</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>synpred4</h2>
<p>
<code>public boolean <strong>synpred4</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>synpred4_fragment</h2>
<p>
<code>public void <strong>synpred4_fragment</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>synpred5</h2>
<p>
<code>public boolean <strong>synpred5</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>synpred5_fragment</h2>
<p>
<code>public void <strong>synpred5_fragment</strong>()</code>
</p>
<p></p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>unary_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.unary_expr_return <strong>unary_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.unary_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>union_expr</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.union_expr_return <strong>union_expr</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.union_expr_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>variable_reference</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.variable_reference_return <strong>variable_reference</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.variable_reference_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<h2>xpath</h2>
<p>
<code>public org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.xpath_return <strong>xpath</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.xpath_return</code>
</p>
<h3>Throws:</h3>
<p>
<code>RecognitionException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.xpath_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.xpath_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.xpath_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.xpath_return</h2>
<p>
<code>public <strong>xpathParser.xpath_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.location_path_return</h2>
<p>
<code>public <strong>xpathParser.location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.absolute_location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.absolute_location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.absolute_location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.absolute_location_path_return</h2>
<p>
<code>public <strong>xpathParser.absolute_location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.relative_location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.relative_location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.relative_location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.relative_location_path_return</h2>
<p>
<code>public <strong>xpathParser.relative_location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.i_relative_location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.i_relative_location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.i_relative_location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.i_relative_location_path_return</h2>
<p>
<code>public <strong>xpathParser.i_relative_location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.step_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.step_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.step_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.step_return</h2>
<p>
<code>public <strong>xpathParser.step_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.special_step_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.special_step_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.special_step_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.special_step_return</h2>
<p>
<code>public <strong>xpathParser.special_step_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.axis_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.axis_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.axis_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.axis_return</h2>
<p>
<code>public <strong>xpathParser.axis_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.predicate_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.predicate_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.predicate_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.predicate_return</h2>
<p>
<code>public <strong>xpathParser.predicate_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.predicate_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.predicate_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.predicate_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.predicate_expr_return</h2>
<p>
<code>public <strong>xpathParser.predicate_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.abbr_step_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.abbr_step_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.abbr_step_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.abbr_step_return</h2>
<p>
<code>public <strong>xpathParser.abbr_step_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.abbr_axis_specifier_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.abbr_axis_specifier_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.abbr_axis_specifier_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.abbr_axis_specifier_return</h2>
<p>
<code>public <strong>xpathParser.abbr_axis_specifier_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.expr_return</h2>
<p>
<code>public <strong>xpathParser.expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.primary_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.primary_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.primary_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.primary_expr_return</h2>
<p>
<code>public <strong>xpathParser.primary_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.literal_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.literal_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.literal_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.literal_return</h2>
<p>
<code>public <strong>xpathParser.literal_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.number_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.number_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.number_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.number_return</h2>
<p>
<code>public <strong>xpathParser.number_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.variable_reference_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.variable_reference_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.variable_reference_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.variable_reference_return</h2>
<p>
<code>public <strong>xpathParser.variable_reference_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.function_call_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.function_call_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.function_call_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.function_call_return</h2>
<p>
<code>public <strong>xpathParser.function_call_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.arg_list_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.arg_list_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.arg_list_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.arg_list_return</h2>
<p>
<code>public <strong>xpathParser.arg_list_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.argument_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.argument_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.argument_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.argument_return</h2>
<p>
<code>public <strong>xpathParser.argument_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.union_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.union_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.union_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.union_expr_return</h2>
<p>
<code>public <strong>xpathParser.union_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.path_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.path_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.path_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.path_expr_return</h2>
<p>
<code>public <strong>xpathParser.path_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.filter_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.filter_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.filter_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.filter_expr_return</h2>
<p>
<code>public <strong>xpathParser.filter_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.or_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.or_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.or_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.or_expr_return</h2>
<p>
<code>public <strong>xpathParser.or_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.and_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.and_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.and_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.and_expr_return</h2>
<p>
<code>public <strong>xpathParser.and_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.equality_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.equality_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.equality_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.equality_expr_return</h2>
<p>
<code>public <strong>xpathParser.equality_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.relational_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.relational_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.relational_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.relational_expr_return</h2>
<p>
<code>public <strong>xpathParser.relational_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.additive_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.additive_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.additive_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.additive_expr_return</h2>
<p>
<code>public <strong>xpathParser.additive_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.mult_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.mult_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.mult_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.mult_expr_return</h2>
<p>
<code>public <strong>xpathParser.mult_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.unary_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.unary_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.unary_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.unary_expr_return</h2>
<p>
<code>public <strong>xpathParser.unary_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.xpath_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.xpath_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.xpath_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.xpath_return</h2>
<p>
<code>public <strong>xpathParser.xpath_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.location_path_return</h2>
<p>
<code>public <strong>xpathParser.location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.absolute_location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.absolute_location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.absolute_location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.absolute_location_path_return</h2>
<p>
<code>public <strong>xpathParser.absolute_location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.relative_location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.relative_location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.relative_location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.relative_location_path_return</h2>
<p>
<code>public <strong>xpathParser.relative_location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.i_relative_location_path_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.i_relative_location_path_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.i_relative_location_path_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.i_relative_location_path_return</h2>
<p>
<code>public <strong>xpathParser.i_relative_location_path_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.step_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.step_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.step_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.step_return</h2>
<p>
<code>public <strong>xpathParser.step_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.special_step_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.special_step_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.special_step_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.special_step_return</h2>
<p>
<code>public <strong>xpathParser.special_step_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.axis_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.axis_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.axis_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.axis_return</h2>
<p>
<code>public <strong>xpathParser.axis_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.predicate_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.predicate_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.predicate_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.predicate_return</h2>
<p>
<code>public <strong>xpathParser.predicate_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.predicate_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.predicate_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.predicate_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.predicate_expr_return</h2>
<p>
<code>public <strong>xpathParser.predicate_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.abbr_step_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.abbr_step_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.abbr_step_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.abbr_step_return</h2>
<p>
<code>public <strong>xpathParser.abbr_step_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.abbr_axis_specifier_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.abbr_axis_specifier_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.abbr_axis_specifier_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.abbr_axis_specifier_return</h2>
<p>
<code>public <strong>xpathParser.abbr_axis_specifier_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.expr_return</h2>
<p>
<code>public <strong>xpathParser.expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.primary_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.primary_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.primary_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.primary_expr_return</h2>
<p>
<code>public <strong>xpathParser.primary_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.literal_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.literal_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.literal_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.literal_return</h2>
<p>
<code>public <strong>xpathParser.literal_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.number_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.number_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.number_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.number_return</h2>
<p>
<code>public <strong>xpathParser.number_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.variable_reference_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.variable_reference_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.variable_reference_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.variable_reference_return</h2>
<p>
<code>public <strong>xpathParser.variable_reference_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.function_call_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.function_call_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.function_call_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.function_call_return</h2>
<p>
<code>public <strong>xpathParser.function_call_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.arg_list_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.arg_list_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.arg_list_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.arg_list_return</h2>
<p>
<code>public <strong>xpathParser.arg_list_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.argument_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.argument_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.argument_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.argument_return</h2>
<p>
<code>public <strong>xpathParser.argument_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.union_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.union_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.union_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.union_expr_return</h2>
<p>
<code>public <strong>xpathParser.union_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.path_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.path_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.path_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.path_expr_return</h2>
<p>
<code>public <strong>xpathParser.path_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.filter_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.filter_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.filter_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.filter_expr_return</h2>
<p>
<code>public <strong>xpathParser.filter_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.or_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.or_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.or_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.or_expr_return</h2>
<p>
<code>public <strong>xpathParser.or_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.and_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.and_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.and_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.and_expr_return</h2>
<p>
<code>public <strong>xpathParser.and_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.equality_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.equality_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.equality_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.equality_expr_return</h2>
<p>
<code>public <strong>xpathParser.equality_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.relational_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.relational_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.relational_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.relational_expr_return</h2>
<p>
<code>public <strong>xpathParser.relational_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.additive_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.additive_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.additive_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.additive_expr_return</h2>
<p>
<code>public <strong>xpathParser.additive_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.mult_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.mult_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.mult_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.mult_expr_return</h2>
<p>
<code>public <strong>xpathParser.mult_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xpath.parser</strong></font>
<br>
            Class xpathParser.unary_expr_return</h2>
<br>
<hr>
<pre>public class <strong>xpathParser.unary_expr_return</strong>
extends ParserRuleReturnScope</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.Object</code></td><td width="80%" align="left"><code>tree</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>xpathParser.unary_expr_return</strong>()</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.Object</code></td><td width="" align="left"><code>getTree()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>tree</h2>
<p>
<code>package-private java.lang.Object <strong>tree</strong></code>
</p>
<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>xpathParser.unary_expr_return</h2>
<p>
<code>public <strong>xpathParser.unary_expr_return</strong>()</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>getTree</h2>
<p>
<code>public java.lang.Object <strong>getTree</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debug.internal.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debug.internal.util</strong></font>
<br>
            Class XSLDebugPluginImages</h2>
<br>
<hr>
<pre>public class <strong>XSLDebugPluginImages</strong>
extends java.lang.Object</pre>Bundle of most images used by the XSL Debug Plugins<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>IMG_MAIN_TAB</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Path to the XSLT Launch Images used for launch configurations</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>IMG_OUTPUT_TAB</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Path to the XSLT Output Images used for launch configurations</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>IMG_PROCESSOR_TAB</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Path to the XSLT Processor  Images used for launch configurations</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLDebugPluginImages</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>IMG_MAIN_TAB</h2>
<p>
<code>public static  java.lang.String <strong>IMG_MAIN_TAB</strong></code>
</p>
<table>
<tr>
<td>Path to the XSLT Launch Images used for launch configurations</td>
</tr>
</table>
<hr>
<h2>IMG_OUTPUT_TAB</h2>
<p>
<code>public static  java.lang.String <strong>IMG_OUTPUT_TAB</strong></code>
</p>
<table>
<tr>
<td>Path to the XSLT Output Images used for launch configurations</td>
</tr>
</table>
<hr>
<h2>IMG_PROCESSOR_TAB</h2>
<p>
<code>public static  java.lang.String <strong>IMG_PROCESSOR_TAB</strong></code>
</p>
<table>
<tr>
<td>Path to the XSLT Processor  Images used for launch configurations</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>XSLDebugPluginImages</h2>
<p>
<code>public <strong>XSLDebugPluginImages</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debug.internal.util</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debug.internal.util</strong></font>
<br>
            Class XSLPluginImageHelper</h2>
<br>
<hr>
<pre>public class <strong>XSLPluginImageHelper</strong>
extends java.lang.Object</pre>Helper class to handle images provided by this plug-in.
 
 NOTE: For internal use only. For images used externally, please use the
 Shared***ImageHelper class instead.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLPluginImageHelper</strong>()</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 org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.String resource)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the image associated with resource from the image registry.
 If the image cannot be retrieved, attempt to find and load the image at
 the location specified in resource.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ImageDescriptor</code></td><td width="" align="left"><code>getImageDescriptor(java.lang.String resource)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Retrieves the image descriptor associated with resource from the image
 descriptor registry. If the image descriptor cannot be retrieved,
 attempt to find and load the image descriptor at the location specified
 in resource.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.wst.xsl.debug.internal.util.XSLPluginImageHelper</code></td><td width="" align="left"><code>getInstance()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Gets the instance.</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>XSLPluginImageHelper</h2>
<p>
<code>public <strong>XSLPluginImageHelper</strong>()</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>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.String resource)</code>
</p>
<p>Retrieves the image associated with resource from the image registry.
 If the image cannot be retrieved, attempt to find and load the image at
 the location specified in resource.</p>
<h3>Parameters</h3>
<p>
<code>resource</code> - the image to retrieve</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code> - Image the image associated with resource or null if one could          not be found</p>
<hr>
<h2>getImageDescriptor</h2>
<p>
<code>public ImageDescriptor <strong>getImageDescriptor</strong>(java.lang.String resource)</code>
</p>
<p>Retrieves the image descriptor associated with resource from the image
 descriptor registry. If the image descriptor cannot be retrieved,
 attempt to find and load the image descriptor at the location specified
 in resource.</p>
<h3>Parameters</h3>
<p>
<code>resource</code> - the image descriptor to retrieve</p>
<h3>Returns</h3>
<p>
<code>ImageDescriptor</code> - ImageDescriptor the image descriptor assocated with resource or          the default "missing" image descriptor if one could not be          found</p>
<hr>
<h2>getInstance</h2>
<p>
<code>public org.eclipse.wst.xsl.debug.internal.util.XSLPluginImageHelper <strong>getInstance</strong>()</code>
</p>
<p>Gets the instance.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.debug.internal.util.XSLPluginImageHelper</code> - Returns a XMLEditorPluginImageHelper</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class AbstractTableBlock</h2>
<br>
<hr>
<pre>public class <strong>AbstractTableBlock</strong>
extends AbstractLaunchConfigurationTab</pre>An <code>AbstractLaunchConfigurationTab</code> specialised for blocks that
 contain a table. This abstract class conveniently saves and restores the table's
 column settings.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AbstractTableBlock</strong>()</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>restoreColumnSettings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Restore table settings from the given dialog store using the given key.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>saveColumnSettings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Persist table settings into the give dialog store, prefixed with the
 given key.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setSortColumn(int column)</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>AbstractTableBlock</h2>
<p>
<code>public <strong>AbstractTableBlock</strong>()</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>restoreColumnSettings</h2>
<p>
<code>public void <strong>restoreColumnSettings</strong>()</code>
</p>
<p>Restore table settings from the given dialog store using the given key.</p>
<hr>
<h2>saveColumnSettings</h2>
<p>
<code>public void <strong>saveColumnSettings</strong>()</code>
</p>
<p>Persist table settings into the give dialog store, prefixed with the
 given key.</p>
<hr>
<h2>setSortColumn</h2>
<p>
<code>protected void <strong>setSortColumn</strong>(int column)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>column</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>Messages for the debug.ui package.<p></p>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the message for the given key.</td>
</tr>
</table>
<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>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p>Get the message for the given key.</p>
<h3>Parameters</h3>
<p>
<code>key</code> - the message key</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the message</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class ResourceSelectionBlock</h2>
<br>
<hr>
<pre>public class <strong>ResourceSelectionBlock</strong>
extends AbstractLaunchConfigurationTab</pre>A block that shows a text box with buttons for browsing workspace or the filesystem
 in order to populate the text box with a file path.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code>defaultOutputFile</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>DIRECTORY_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>ERROR_DIRECTORY_DOES_NOT_EXIST</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>ERROR_DIRECTORY_NOT_SPECIFIED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Button</code></td><td width="80%" align="left"><code>fFileSystemButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>FILE_SYSTEM_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code>fileLabel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Button</code></td><td width="80%" align="left"><code>fVariablesButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Button</code></td><td width="80%" align="left"><code>fWorkspaceButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>GROUP_NAME</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code>outputFile</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="80%" align="left"><code>required</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Text</code></td><td width="80%" align="left"><code>resourceText</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="80%" align="left"><code>showDefault</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>USE_DEFAULT_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>USE_OTHER_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Button</code></td><td width="80%" align="left"><code>useDefaultCheckButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>VARIABLES_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock.WidgetListener</code></td><td width="80%" align="left"><code>widgetListener</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>WORKSPACE_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>WORKSPACE_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>WORKSPACE_DIALOG_TITLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock</strong>()</code></td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock</strong>(boolean showDefault)</code></td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock</strong>(int resourceType
         ,
      boolean showDefault)</code></td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock</strong>(int resourceType
         ,
      boolean showDefault
         ,
      boolean required)</code></td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock</strong>(int resourceType
         ,
      boolean showDefault
         ,
      boolean required
         ,
      boolean mustExist)</code></td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock.WidgetListener</strong>()</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>protected void</code></td><td width="" align="left"><code>createButtons(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createCheckboxAndText(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Composite</code></td><td width="" align="left"><code>createContainer(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createContents(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String[]</code></td><td width="" align="left"><code>getFileExtensions()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected ILaunchConfiguration</code></td><td width="" align="left"><code>getLaunchConfiguration()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getMessage(int type)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IResource</code></td><td width="" align="left"><code>getResource()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the selected workspace container,or <code>null</code></td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected ViewerFilter</code></td><td width="" align="left"><code>getResourceFilter()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getText()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>handleExternalResourceBrowseButtonSelected()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>handleResourceVariablesButtonSelected()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>handleWorkspaceResourceBrowseButtonSelected()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isValid(ILaunchConfiguration config)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IPath</code></td><td width="" align="left"><code>openWorkspaceResourceDialog()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setDefaultResource()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setLaunchConfiguration(ILaunchConfiguration config)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setText(java.lang.String text)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>textModified()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateResourceText(boolean useDefault)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>validateResource(java.lang.String workingDirPath)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>defaultOutputFile</h2>
<p>
<code>protected java.lang.String <strong>defaultOutputFile</strong></code>
</p>
<hr>
<h2>DIRECTORY_DIALOG_MESSAGE</h2>
<p>
<code>protected static  int <strong>DIRECTORY_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>ERROR_DIRECTORY_DOES_NOT_EXIST</h2>
<p>
<code>protected static  int <strong>ERROR_DIRECTORY_DOES_NOT_EXIST</strong></code>
</p>
<hr>
<h2>ERROR_DIRECTORY_NOT_SPECIFIED</h2>
<p>
<code>protected static  int <strong>ERROR_DIRECTORY_NOT_SPECIFIED</strong></code>
</p>
<hr>
<h2>fFileSystemButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>fFileSystemButton</strong></code>
</p>
<hr>
<h2>FILE_SYSTEM_BUTTON</h2>
<p>
<code>protected static  int <strong>FILE_SYSTEM_BUTTON</strong></code>
</p>
<hr>
<h2>fileLabel</h2>
<p>
<code>protected java.lang.String <strong>fileLabel</strong></code>
</p>
<hr>
<h2>fVariablesButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>fVariablesButton</strong></code>
</p>
<hr>
<h2>fWorkspaceButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>fWorkspaceButton</strong></code>
</p>
<hr>
<h2>GROUP_NAME</h2>
<p>
<code>protected static  int <strong>GROUP_NAME</strong></code>
</p>
<hr>
<h2>outputFile</h2>
<p>
<code>protected java.lang.String <strong>outputFile</strong></code>
</p>
<hr>
<h2>required</h2>
<p>
<code>protected boolean <strong>required</strong></code>
</p>
<hr>
<h2>resourceText</h2>
<p>
<code>protected org.eclipse.swt.widgets.Text <strong>resourceText</strong></code>
</p>
<hr>
<h2>showDefault</h2>
<p>
<code>protected boolean <strong>showDefault</strong></code>
</p>
<hr>
<h2>USE_DEFAULT_RADIO</h2>
<p>
<code>protected static  int <strong>USE_DEFAULT_RADIO</strong></code>
</p>
<hr>
<h2>USE_OTHER_RADIO</h2>
<p>
<code>protected static  int <strong>USE_OTHER_RADIO</strong></code>
</p>
<hr>
<h2>useDefaultCheckButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>useDefaultCheckButton</strong></code>
</p>
<hr>
<h2>VARIABLES_BUTTON</h2>
<p>
<code>protected static  int <strong>VARIABLES_BUTTON</strong></code>
</p>
<hr>
<h2>widgetListener</h2>
<p>
<code>protected org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock.WidgetListener <strong>widgetListener</strong></code>
</p>
<hr>
<h2>WORKSPACE_BUTTON</h2>
<p>
<code>protected static  int <strong>WORKSPACE_BUTTON</strong></code>
</p>
<hr>
<h2>WORKSPACE_DIALOG_MESSAGE</h2>
<p>
<code>protected static  int <strong>WORKSPACE_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>WORKSPACE_DIALOG_TITLE</h2>
<p>
<code>protected static  int <strong>WORKSPACE_DIALOG_TITLE</strong></code>
</p>
<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>ResourceSelectionBlock</h2>
<p>
<code>public <strong>ResourceSelectionBlock</strong>()</code>
</p>
<p>Same as <code>new ResourceSelectionBlock(true)</code></p>
<hr>
<h2>ResourceSelectionBlock</h2>
<p>
<code>public <strong>ResourceSelectionBlock</strong>(boolean showDefault)</code>
</p>
<p>Same as <code>new ResourceSelectionBlock(IResource.FOLDER,showDefault)</code></p>
<hr>
<h2>ResourceSelectionBlock</h2>
<p>
<code>public <strong>ResourceSelectionBlock</strong>(int resourceType
         ,
      boolean showDefault)</code>
</p>
<p>Same as <code>new ResourceSelectionBlock(resourceType,showDefault,true)</code></p>
<hr>
<h2>ResourceSelectionBlock</h2>
<p>
<code>public <strong>ResourceSelectionBlock</strong>(int resourceType
         ,
      boolean showDefault
         ,
      boolean required)</code>
</p>
<p>Same as <code>new ResourceSelectionBlock(resourceType,showDefault,required,true)</code></p>
<hr>
<h2>ResourceSelectionBlock</h2>
<p>
<code>public <strong>ResourceSelectionBlock</strong>(int resourceType
         ,
      boolean showDefault
         ,
      boolean required
         ,
      boolean mustExist)</code>
</p>
<p>Create a new instance of this.</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>createButtons</h2>
<p>
<code>protected void <strong>createButtons</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>createCheckboxAndText</h2>
<p>
<code>protected void <strong>createCheckboxAndText</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>createContainer</h2>
<p>
<code>protected org.eclipse.swt.widgets.Composite <strong>createContainer</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Composite</code>
</p>
<hr>
<h2>createContents</h2>
<p>
<code>protected void <strong>createContents</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getFileExtensions</h2>
<p>
<code>protected java.lang.String[] <strong>getFileExtensions</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<hr>
<h2>getLaunchConfiguration</h2>
<p>
<code>protected ILaunchConfiguration <strong>getLaunchConfiguration</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>ILaunchConfiguration</code>
</p>
<hr>
<h2>getMessage</h2>
<p>
<code>protected java.lang.String <strong>getMessage</strong>(int type)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>type</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getResource</h2>
<p>
<code>protected IResource <strong>getResource</strong>()</code>
</p>
<p>Returns the selected workspace container,or <code>null</code></p>
<h3>Returns</h3>
<p>
<code>IResource</code>
</p>
<hr>
<h2>getResourceFilter</h2>
<p>
<code>protected ViewerFilter <strong>getResourceFilter</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>ViewerFilter</code>
</p>
<hr>
<h2>getText</h2>
<p>
<code>protected java.lang.String <strong>getText</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>handleExternalResourceBrowseButtonSelected</h2>
<p>
<code>protected void <strong>handleExternalResourceBrowseButtonSelected</strong>()</code>
</p>
<p></p>
<hr>
<h2>handleResourceVariablesButtonSelected</h2>
<p>
<code>protected void <strong>handleResourceVariablesButtonSelected</strong>()</code>
</p>
<p></p>
<hr>
<h2>handleWorkspaceResourceBrowseButtonSelected</h2>
<p>
<code>protected void <strong>handleWorkspaceResourceBrowseButtonSelected</strong>()</code>
</p>
<p></p>
<hr>
<h2>isValid</h2>
<p>
<code>public boolean <strong>isValid</strong>(ILaunchConfiguration config)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>config</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>openWorkspaceResourceDialog</h2>
<p>
<code>protected IPath <strong>openWorkspaceResourceDialog</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IPath</code>
</p>
<hr>
<h2>setDefaultResource</h2>
<p>
<code>protected void <strong>setDefaultResource</strong>()</code>
</p>
<p></p>
<hr>
<h2>setLaunchConfiguration</h2>
<p>
<code>protected void <strong>setLaunchConfiguration</strong>(ILaunchConfiguration config)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>config</code>
</p>
<hr>
<h2>setText</h2>
<p>
<code>protected void <strong>setText</strong>(java.lang.String text)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>text</code>
</p>
<hr>
<h2>textModified</h2>
<p>
<code>protected void <strong>textModified</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateResourceText</h2>
<p>
<code>protected void <strong>updateResourceText</strong>(boolean useDefault)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>useDefault</code>
</p>
<hr>
<h2>validateResource</h2>
<p>
<code>protected boolean <strong>validateResource</strong>(java.lang.String workingDirPath)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>workingDirPath</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class ResourceSelectionBlock.WidgetListener</h2>
<br>
<hr>
<pre>package-private class <strong>ResourceSelectionBlock.WidgetListener</strong>
extends org.eclipse.swt.events.SelectionAdapter</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock.WidgetListener</strong>()</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 void</code></td><td width="" align="left"><code>modifyText(org.eclipse.swt.events.ModifyEvent e)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>widgetSelected(org.eclipse.swt.events.SelectionEvent e)</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>ResourceSelectionBlock.WidgetListener</h2>
<p>
<code>package-private <strong>ResourceSelectionBlock.WidgetListener</strong>()</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>modifyText</h2>
<p>
<code>public void <strong>modifyText</strong>(org.eclipse.swt.events.ModifyEvent e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<h2>widgetSelected</h2>
<p>
<code>public void <strong>widgetSelected</strong>(org.eclipse.swt.events.SelectionEvent e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class ResourceSelectionBlock.WidgetListener</h2>
<br>
<hr>
<pre>package-private class <strong>ResourceSelectionBlock.WidgetListener</strong>
extends org.eclipse.swt.events.SelectionAdapter</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ResourceSelectionBlock.WidgetListener</strong>()</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 void</code></td><td width="" align="left"><code>modifyText(org.eclipse.swt.events.ModifyEvent e)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>widgetSelected(org.eclipse.swt.events.SelectionEvent e)</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>ResourceSelectionBlock.WidgetListener</h2>
<p>
<code>package-private <strong>ResourceSelectionBlock.WidgetListener</strong>()</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>modifyText</h2>
<p>
<code>public void <strong>modifyText</strong>(org.eclipse.swt.events.ModifyEvent e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<h2>widgetSelected</h2>
<p>
<code>public void <strong>widgetSelected</strong>(org.eclipse.swt.events.SelectionEvent e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class XSLConsoleLineTracker</h2>
<br>
<hr>
<pre>public class <strong>XSLConsoleLineTracker</strong>
extends java.lang.Object</pre><p>
 A console line tracker for XSL launches.
 </p>
 
 <p>
 Note: It is actually configured to run for all Java launches in
 <code>plugin.xml</code>, but it only really becomes enabled when the
 launch configuration type is
 <code>org.eclipse.wst.xsl.launching.launchConfigurationType</code>.
 </p><hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLConsoleLineTracker</strong>()</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>init(IConsole console)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>lineAppended(IRegion line)</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>XSLConsoleLineTracker</h2>
<p>
<code>public <strong>XSLConsoleLineTracker</strong>()</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>init</h2>
<p>
<code>public void <strong>init</strong>(IConsole console)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>console</code>
</p>
<hr>
<h2>lineAppended</h2>
<p>
<code>public void <strong>lineAppended</strong>(IRegion line)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>line</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class XSLDebugUIConstants</h2>
<br>
<hr>
<pre>public class <strong>XSLDebugUIConstants</strong>
extends java.lang.Object</pre>Constants for the XSL Debug UI.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>FEATURES_BLOCK</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant used to store column setting preferences for the &lt;code&gt;FeaturesBlock&lt;/code&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>FEATURES_LAUNCH_BLOCK</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant used to store column setting preferences for the &lt;code&gt;FeaturesBlock&lt;/code&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MAIN_PARAMATERS_BLOCK</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant used to store column setting preferences for the &lt;code&gt;ParametersBlock&lt;/code&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MAIN_TRANSFORMS_BLOCK</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant used to store column setting preferences for the &lt;code&gt;TransformsBlock&lt;/code&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OUTPUT_BLOCK</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant used to store column setting preferences for the &lt;code&gt;OutputBlock&lt;/code&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>PROCESSOR_DETAILS_DIALOG</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Constant used to store column setting preferences for the &lt;code&gt;InstalledProcessorsBlock&lt;/code&gt;</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSL_EDITOR_ID</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The id of the XSL editor</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLDebugUIConstants</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>FEATURES_BLOCK</h2>
<p>
<code>public static  java.lang.String <strong>FEATURES_BLOCK</strong></code>
</p>
<table>
<tr>
<td>Constant used to store column setting preferences for the <code>FeaturesBlock</code></td>
</tr>
</table>
<hr>
<h2>FEATURES_LAUNCH_BLOCK</h2>
<p>
<code>public static  java.lang.String <strong>FEATURES_LAUNCH_BLOCK</strong></code>
</p>
<table>
<tr>
<td>Constant used to store column setting preferences for the <code>FeaturesBlock</code></td>
</tr>
</table>
<hr>
<h2>MAIN_PARAMATERS_BLOCK</h2>
<p>
<code>public static  java.lang.String <strong>MAIN_PARAMATERS_BLOCK</strong></code>
</p>
<table>
<tr>
<td>Constant used to store column setting preferences for the <code>ParametersBlock</code></td>
</tr>
</table>
<hr>
<h2>MAIN_TRANSFORMS_BLOCK</h2>
<p>
<code>public static  java.lang.String <strong>MAIN_TRANSFORMS_BLOCK</strong></code>
</p>
<table>
<tr>
<td>Constant used to store column setting preferences for the <code>TransformsBlock</code></td>
</tr>
</table>
<hr>
<h2>OUTPUT_BLOCK</h2>
<p>
<code>public static  java.lang.String <strong>OUTPUT_BLOCK</strong></code>
</p>
<table>
<tr>
<td>Constant used to store column setting preferences for the <code>OutputBlock</code></td>
</tr>
</table>
<hr>
<h2>PROCESSOR_DETAILS_DIALOG</h2>
<p>
<code>public static  java.lang.String <strong>PROCESSOR_DETAILS_DIALOG</strong></code>
</p>
<table>
<tr>
<td>Constant used to store column setting preferences for the <code>InstalledProcessorsBlock</code></td>
</tr>
</table>
<hr>
<h2>XSL_EDITOR_ID</h2>
<p>
<code>public static  java.lang.String <strong>XSL_EDITOR_ID</strong></code>
</p>
<table>
<tr>
<td>The id of the XSL editor</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>XSLDebugUIConstants</h2>
<p>
<code>public <strong>XSLDebugUIConstants</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class XSLDebugUIPlugin</h2>
<br>
<hr>
<pre>public class <strong>XSLDebugUIPlugin</strong>
extends AbstractUIPlugin</pre>The XSL Debug UI plugin.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>PLUGIN_ID</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The id of this.</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLDebugUIPlugin</strong>()</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 static IWorkbenchPage</code></td><td width="" align="left"><code>getActivePage()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the active page of the active workbench window.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.swt.widgets.Shell</code></td><td width="" align="left"><code>getActiveWorkbenchShell()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the shell of the active workbench window.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static IWorkbenchWindow</code></td><td width="" align="left"><code>getActiveWorkbenchWindow()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the active workbench window from the workbench.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin</code></td><td width="" align="left"><code>getDefault()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the singleton instance of this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static ImageDescriptor</code></td><td width="" align="left"><code>getImageDescriptor(java.lang.String path)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get an ImageDescriptor from a path in this bundle.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.swt.widgets.Display</code></td><td width="" align="left"><code>getStandardDisplay()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the current Display if possible, or else the default Display.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>log(java.lang.Exception e)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Log the given exception by creating a new Status.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>showPreferencePage(java.lang.String id
         ,
      IPreferencePage page)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Convenience method for opening a given preference page.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>start(BundleContext context)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stop(BundleContext context)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>PLUGIN_ID</h2>
<p>
<code>public static  java.lang.String <strong>PLUGIN_ID</strong></code>
</p>
<table>
<tr>
<td>The id of this.</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>XSLDebugUIPlugin</h2>
<p>
<code>public <strong>XSLDebugUIPlugin</strong>()</code>
</p>
<p>Create a new instance of this.</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>getActivePage</h2>
<p>
<code>public IWorkbenchPage <strong>getActivePage</strong>()</code>
</p>
<p>Get the active page of the active workbench window.</p>
<h3>Returns</h3>
<p>
<code>IWorkbenchPage</code> - the active page</p>
<hr>
<h2>getActiveWorkbenchShell</h2>
<p>
<code>public org.eclipse.swt.widgets.Shell <strong>getActiveWorkbenchShell</strong>()</code>
</p>
<p>Get the shell of the active workbench window.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Shell</code> - the active workbench shell</p>
<hr>
<h2>getActiveWorkbenchWindow</h2>
<p>
<code>public IWorkbenchWindow <strong>getActiveWorkbenchWindow</strong>()</code>
</p>
<p>Get the active workbench window from the workbench.</p>
<h3>Returns</h3>
<p>
<code>IWorkbenchWindow</code> - the active workbench window</p>
<hr>
<h2>getDefault</h2>
<p>
<code>public org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin <strong>getDefault</strong>()</code>
</p>
<p>Get the singleton instance of this.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin</code> - the singleton</p>
<hr>
<h2>getImageDescriptor</h2>
<p>
<code>public ImageDescriptor <strong>getImageDescriptor</strong>(java.lang.String path)</code>
</p>
<p>Get an ImageDescriptor from a path in this bundle.</p>
<h3>Parameters</h3>
<p>
<code>path</code> - the path to the image</p>
<h3>Returns</h3>
<p>
<code>ImageDescriptor</code> - the ImageDescriptor</p>
<hr>
<h2>getStandardDisplay</h2>
<p>
<code>public org.eclipse.swt.widgets.Display <strong>getStandardDisplay</strong>()</code>
</p>
<p>Get the current Display if possible, or else the default Display.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Display</code> - the current or default Display</p>
<hr>
<h2>log</h2>
<p>
<code>public void <strong>log</strong>(java.lang.Exception e)</code>
</p>
<p>Log the given exception by creating a new Status.</p>
<h3>Parameters</h3>
<p>
<code>e</code> - the exception to log</p>
<hr>
<h2>showPreferencePage</h2>
<p>
<code>public void <strong>showPreferencePage</strong>(java.lang.String id
         ,
      IPreferencePage page)</code>
</p>
<p>Convenience method for opening a given preference page.</p>
<h3>Parameters</h3>
<p>
<code>id</code> - the id of the preference page</p>
<p>
<code>page</code> - the preference page to show</p>
<hr>
<h2>start</h2>
<p>
<code>public void <strong>start</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<h2>stop</h2>
<p>
<code>public void <strong>stop</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class XSLLaunchConfigurationTab</h2>
<br>
<hr>
<pre>public class <strong>XSLLaunchConfigurationTab</strong>
extends AbstractLaunchConfigurationTab</pre>The base class for XSL launch configuration tabs which allows a number of 'blocks' to be added.
 Each block must itself fully implement <code>ILaunchConfigurationTab</code>.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLLaunchConfigurationTab</strong>()</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 void</code></td><td width="" align="left"><code>activated(ILaunchConfigurationWorkingCopy workingCopy)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</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>getErrorMessage()</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>getMessage()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isValid(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setBlocks(ILaunchConfigurationTab[] blocks)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)</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>XSLLaunchConfigurationTab</h2>
<p>
<code>public <strong>XSLLaunchConfigurationTab</strong>()</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>activated</h2>
<p>
<code>public void <strong>activated</strong>(ILaunchConfigurationWorkingCopy workingCopy)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>workingCopy</code>
</p>
<hr>
<h2>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getErrorMessage</h2>
<p>
<code>public java.lang.String <strong>getErrorMessage</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getMessage</h2>
<p>
<code>public java.lang.String <strong>getMessage</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>isValid</h2>
<p>
<code>public boolean <strong>isValid</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setBlocks</h2>
<p>
<code>protected void <strong>setBlocks</strong>(ILaunchConfigurationTab[] blocks)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>blocks</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setLaunchConfigurationDialog</h2>
<p>
<code>public void <strong>setLaunchConfigurationDialog</strong>(ILaunchConfigurationDialog dialog)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>dialog</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class XSLLaunchShortcut</h2>
<br>
<hr>
<pre>public class <strong>XSLLaunchShortcut</strong>
extends java.lang.Object</pre><table border=1>
 	<th>
 		<tr>
 			<td>XML Files</td>
  		<td>XSL Files</td>			
 			<td>Action</td>
 		</tr>
  </th>
  <tbody>
  	<tr>
 			<td>1</td>
 			<td>0</td>
 			<td>Launch assuming embedded stylesheet instruction</td>
  	</tr>
  	<tr>
 			<td>0</td>
 			<td>&gt;=1</td>
 			<td>Open dialog - prompt for input file</td>
  	</tr>
  	<tr>
 			<td>1</td>
 			<td>&gt;=1</td>
 			<td>Launch</td>
  	</tr>
  </tbody>
 </table>
 
 <p>The launch shortcut should not appear in the menu for any other combination of files</p>
 <p>In all cases, a check must be performed to find any existing launch configuration that uses the selected files.</p><p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLLaunchShortcut</strong>()</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>protected org.eclipse.swt.widgets.Shell</code></td><td width="" align="left"><code>getShell()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>launch(ISelection selection
         ,
      java.lang.String mode)</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>XSLLaunchShortcut</h2>
<p>
<code>public <strong>XSLLaunchShortcut</strong>()</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>getShell</h2>
<p>
<code>protected org.eclipse.swt.widgets.Shell <strong>getShell</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Shell</code>
</p>
<hr>
<h2>launch</h2>
<p>
<code>public void <strong>launch</strong>(ISelection selection
         ,
      java.lang.String mode)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<p>
<code>mode</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui</strong></font>
<br>
            Class XSLTTabGroup</h2>
<br>
<hr>
<pre>public class <strong>XSLTTabGroup</strong>
extends AbstractLaunchConfigurationTabGroup</pre>The tab group for the XSL tabs.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLTTabGroup</strong>()</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 void</code></td><td width="" align="left"><code>createTabs(ILaunchConfigurationDialog dialog
         ,
      java.lang.String mode)</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>XSLTTabGroup</h2>
<p>
<code>public <strong>XSLTTabGroup</strong>()</code>
</p>
<p>Create a new instance of this.</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>createTabs</h2>
<p>
<code>public void <strong>createTabs</strong>(ILaunchConfigurationDialog dialog
         ,
      java.lang.String mode)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>dialog</code>
</p>
<p>
<code>mode</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class AbstractParameterAction</h2>
<br>
<hr>
<pre>public class <strong>AbstractParameterAction</strong>
extends SelectionListenerAction</pre>A convenient base class for add/remove parameter actions.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AbstractParameterAction</strong>(java.lang.String text
         ,
      org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</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>protected int</code></td><td width="" align="left"><code>getActionType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Shell</code></td><td width="" align="left"><code>getShell()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer</code></td><td width="" align="left"><code>getViewer()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setButton(org.eclipse.swt.widgets.Button button)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the button associated with the action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setEnabled(boolean enabled)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setShell(org.eclipse.swt.widgets.Shell shell)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the shell that will be used for opening a dialog.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setViewer(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the viewer.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>update()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>updateSelection(IStructuredSelection selection)</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>AbstractParameterAction</h2>
<p>
<code>protected <strong>AbstractParameterAction</strong>(java.lang.String text
         ,
      org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</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>getActionType</h2>
<p>
<code>protected int <strong>getActionType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getShell</h2>
<p>
<code>protected org.eclipse.swt.widgets.Shell <strong>getShell</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Shell</code>
</p>
<hr>
<h2>getViewer</h2>
<p>
<code>protected org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer <strong>getViewer</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer</code>
</p>
<hr>
<h2>setButton</h2>
<p>
<code>public void <strong>setButton</strong>(org.eclipse.swt.widgets.Button button)</code>
</p>
<p>Set the button associated with the action.</p>
<h3>Parameters</h3>
<p>
<code>button</code> - the button</p>
<hr>
<h2>setEnabled</h2>
<p>
<code>public void <strong>setEnabled</strong>(boolean enabled)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>enabled</code>
</p>
<hr>
<h2>setShell</h2>
<p>
<code>public void <strong>setShell</strong>(org.eclipse.swt.widgets.Shell shell)</code>
</p>
<p>Set the shell that will be used for opening a dialog.</p>
<h3>Parameters</h3>
<p>
<code>shell</code> - the shell to use</p>
<hr>
<h2>setViewer</h2>
<p>
<code>public void <strong>setViewer</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</code>
</p>
<p>Set the viewer.</p>
<h3>Parameters</h3>
<p>
<code>viewer</code> - the parametere viewer</p>
<hr>
<h2>update</h2>
<p>
<code>protected void <strong>update</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateSelection</h2>
<p>
<code>protected boolean <strong>updateSelection</strong>(IStructuredSelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class AbstractStylesheetAction</h2>
<br>
<hr>
<pre>public class <strong>AbstractStylesheetAction</strong>
extends SelectionListenerAction</pre>A convenient base class for actions associated with the stylesheet viewer.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>ADD</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The action type for add actions.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>DEFAULT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The default action type.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>MOVE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The action type for move actions.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code>REMOVE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The action type for remove actions.</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AbstractStylesheetAction</strong>(java.lang.String text
         ,
      org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</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 void</code></td><td width="" align="left"><code>addTransforms(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add an array of LaunchTransform's to the viewer.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code>getActionType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code>getEntriesAsList()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code>getOrderedSelection()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Shell</code></td><td width="" align="left"><code>getShell()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer</code></td><td width="" align="left"><code>getViewer()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>isIndexSelected(IStructuredSelection selection
         ,
      int index)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setButton(org.eclipse.swt.widgets.Button button)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the button associated with this action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setEnabled(boolean enabled)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setEntries(java.util.List list)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setShell(org.eclipse.swt.widgets.Shell shell)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the shell to be used for opening a dialog.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setViewer(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the viewer associated with this action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>update()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>updateSelection(IStructuredSelection selection)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>ADD</h2>
<p>
<code>public static  int <strong>ADD</strong></code>
</p>
<table>
<tr>
<td>The action type for add actions.</td>
</tr>
</table>
<hr>
<h2>DEFAULT</h2>
<p>
<code>public static  int <strong>DEFAULT</strong></code>
</p>
<table>
<tr>
<td>The default action type.</td>
</tr>
</table>
<hr>
<h2>MOVE</h2>
<p>
<code>public static  int <strong>MOVE</strong></code>
</p>
<table>
<tr>
<td>The action type for move actions.</td>
</tr>
</table>
<hr>
<h2>REMOVE</h2>
<p>
<code>public static  int <strong>REMOVE</strong></code>
</p>
<table>
<tr>
<td>The action type for remove actions.</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>AbstractStylesheetAction</h2>
<p>
<code>protected <strong>AbstractStylesheetAction</strong>(java.lang.String text
         ,
      org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</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>addTransforms</h2>
<p>
<code>public void <strong>addTransforms</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res)</code>
</p>
<p>Add an array of LaunchTransform's to the viewer.</p>
<h3>Parameters</h3>
<p>
<code>res</code> - launch transforms to add</p>
<hr>
<h2>getActionType</h2>
<p>
<code>protected int <strong>getActionType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getEntriesAsList</h2>
<p>
<code>protected java.util.List <strong>getEntriesAsList</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.List</code>
</p>
<hr>
<h2>getOrderedSelection</h2>
<p>
<code>protected java.util.List <strong>getOrderedSelection</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.List</code>
</p>
<hr>
<h2>getShell</h2>
<p>
<code>protected org.eclipse.swt.widgets.Shell <strong>getShell</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Shell</code>
</p>
<hr>
<h2>getViewer</h2>
<p>
<code>protected org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer <strong>getViewer</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer</code>
</p>
<hr>
<h2>isIndexSelected</h2>
<p>
<code>protected boolean <strong>isIndexSelected</strong>(IStructuredSelection selection
         ,
      int index)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<p>
<code>index</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>setButton</h2>
<p>
<code>public void <strong>setButton</strong>(org.eclipse.swt.widgets.Button button)</code>
</p>
<p>Set the button associated with this action.</p>
<h3>Parameters</h3>
<p>
<code>button</code> - the button</p>
<hr>
<h2>setEnabled</h2>
<p>
<code>public void <strong>setEnabled</strong>(boolean enabled)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>enabled</code>
</p>
<hr>
<h2>setEntries</h2>
<p>
<code>protected void <strong>setEntries</strong>(java.util.List list)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>list</code>
</p>
<hr>
<h2>setShell</h2>
<p>
<code>public void <strong>setShell</strong>(org.eclipse.swt.widgets.Shell shell)</code>
</p>
<p>Set the shell to be used for opening a dialog.</p>
<h3>Parameters</h3>
<p>
<code>shell</code> - the shell to use</p>
<hr>
<h2>setViewer</h2>
<p>
<code>public void <strong>setViewer</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
</p>
<p>Set the viewer associated with this action.</p>
<h3>Parameters</h3>
<p>
<code>viewer</code> - the viewer</p>
<hr>
<h2>update</h2>
<p>
<code>protected void <strong>update</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateSelection</h2>
<p>
<code>protected boolean <strong>updateSelection</strong>(IStructuredSelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class ActionMessages</h2>
<br>
<hr>
<pre>public class <strong>ActionMessages</strong>
extends NLS</pre>Messages for the debug UI actions.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddExternalFileAction_Selection_3</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A heading for the &lt;code&gt;AddExternalFileAction&lt;/code&gt; dialog.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddExternalFileAction_Text</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A name for the &lt;code&gt;AddExternalFileAction&lt;/code&gt; action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddParameterAction</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A name for the &lt;code&gt;AddParameterAction&lt;/code&gt; action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddParameterAction_Dialog</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A title for the &lt;code&gt;AddParameterAction&lt;/code&gt; dialog.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddParameterAction_Dialog_Name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A label for the &lt;code&gt;AddParameterAction&lt;/code&gt; name text box.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddParameterAction_Dialog_Type</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A label for the &lt;code&gt;AddParameterAction&lt;/code&gt; type combo.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddParameterAction_Dialog_Value</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A label for the &lt;code&gt;AddParameterAction&lt;/code&gt; value text box.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddWorkspaceFileAction_DialogMessage</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A message for the &lt;code&gt;AddWorkspaceFileAction&lt;/code&gt; dialog.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddWorkspaceFileAction_DialogTitle</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A title for the &lt;code&gt;AddWorkspaceFileAction&lt;/code&gt; dialog.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddWorkspaceFileAction_Text</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A name for the &lt;code&gt;AddWorkspaceFileAction&lt;/code&gt; action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MoveDownAction_Text</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A name for the &lt;code&gt;MoveDownAction&lt;/code&gt; action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>MoveUpAction_Text</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A name for the &lt;code&gt;MoveUpAction&lt;/code&gt; action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>RemoveAction_Text</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A name for the remove action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>RemoveParameterAction</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A name for the &lt;code&gt;RemoveParameterAction&lt;/code&gt; action.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>VariablesFieldButton_Text</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A label for the Variables button.</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ActionMessages</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>AddExternalFileAction_Selection_3</h2>
<p>
<code>public static  java.lang.String <strong>AddExternalFileAction_Selection_3</strong></code>
</p>
<table>
<tr>
<td>A heading for the <code>AddExternalFileAction</code> dialog.</td>
</tr>
</table>
<hr>
<h2>AddExternalFileAction_Text</h2>
<p>
<code>public static  java.lang.String <strong>AddExternalFileAction_Text</strong></code>
</p>
<table>
<tr>
<td>A name for the <code>AddExternalFileAction</code> action.</td>
</tr>
</table>
<hr>
<h2>AddParameterAction</h2>
<p>
<code>public static  java.lang.String <strong>AddParameterAction</strong></code>
</p>
<table>
<tr>
<td>A name for the <code>AddParameterAction</code> action.</td>
</tr>
</table>
<hr>
<h2>AddParameterAction_Dialog</h2>
<p>
<code>public static  java.lang.String <strong>AddParameterAction_Dialog</strong></code>
</p>
<table>
<tr>
<td>A title for the <code>AddParameterAction</code> dialog.</td>
</tr>
</table>
<hr>
<h2>AddParameterAction_Dialog_Name</h2>
<p>
<code>public static  java.lang.String <strong>AddParameterAction_Dialog_Name</strong></code>
</p>
<table>
<tr>
<td>A label for the <code>AddParameterAction</code> name text box.</td>
</tr>
</table>
<hr>
<h2>AddParameterAction_Dialog_Type</h2>
<p>
<code>public static  java.lang.String <strong>AddParameterAction_Dialog_Type</strong></code>
</p>
<table>
<tr>
<td>A label for the <code>AddParameterAction</code> type combo.</td>
</tr>
</table>
<hr>
<h2>AddParameterAction_Dialog_Value</h2>
<p>
<code>public static  java.lang.String <strong>AddParameterAction_Dialog_Value</strong></code>
</p>
<table>
<tr>
<td>A label for the <code>AddParameterAction</code> value text box.</td>
</tr>
</table>
<hr>
<h2>AddWorkspaceFileAction_DialogMessage</h2>
<p>
<code>public static  java.lang.String <strong>AddWorkspaceFileAction_DialogMessage</strong></code>
</p>
<table>
<tr>
<td>A message for the <code>AddWorkspaceFileAction</code> dialog.</td>
</tr>
</table>
<hr>
<h2>AddWorkspaceFileAction_DialogTitle</h2>
<p>
<code>public static  java.lang.String <strong>AddWorkspaceFileAction_DialogTitle</strong></code>
</p>
<table>
<tr>
<td>A title for the <code>AddWorkspaceFileAction</code> dialog.</td>
</tr>
</table>
<hr>
<h2>AddWorkspaceFileAction_Text</h2>
<p>
<code>public static  java.lang.String <strong>AddWorkspaceFileAction_Text</strong></code>
</p>
<table>
<tr>
<td>A name for the <code>AddWorkspaceFileAction</code> action.</td>
</tr>
</table>
<hr>
<h2>MoveDownAction_Text</h2>
<p>
<code>public static  java.lang.String <strong>MoveDownAction_Text</strong></code>
</p>
<table>
<tr>
<td>A name for the <code>MoveDownAction</code> action.</td>
</tr>
</table>
<hr>
<h2>MoveUpAction_Text</h2>
<p>
<code>public static  java.lang.String <strong>MoveUpAction_Text</strong></code>
</p>
<table>
<tr>
<td>A name for the <code>MoveUpAction</code> action.</td>
</tr>
</table>
<hr>
<h2>RemoveAction_Text</h2>
<p>
<code>public static  java.lang.String <strong>RemoveAction_Text</strong></code>
</p>
<table>
<tr>
<td>A name for the remove action.</td>
</tr>
</table>
<hr>
<h2>RemoveParameterAction</h2>
<p>
<code>public static  java.lang.String <strong>RemoveParameterAction</strong></code>
</p>
<table>
<tr>
<td>A name for the <code>RemoveParameterAction</code> action.</td>
</tr>
</table>
<hr>
<h2>VariablesFieldButton_Text</h2>
<p>
<code>public static  java.lang.String <strong>VariablesFieldButton_Text</strong></code>
</p>
<table>
<tr>
<td>A label for the Variables button.</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>ActionMessages</h2>
<p>
<code>public <strong>ActionMessages</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class AddExternalFileAction</h2>
<br>
<hr>
<pre>public class <strong>AddExternalFileAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.OpenDialogAction</pre>An action that opens a dialog to allow the user to select a file from the file system.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AddExternalFileAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer
         ,
      java.lang.String dialogSettingsPrefix)</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 void</code></td><td width="" align="left"><code>run()</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>AddExternalFileAction</h2>
<p>
<code>public <strong>AddExternalFileAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer
         ,
      java.lang.String dialogSettingsPrefix)</code>
</p>
<p>Create a new instance of this.</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class AddParameterAction</h2>
<br>
<hr>
<pre>public class <strong>AddParameterAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractParameterAction</pre>An action that opens a dialog to allow the user to add a parameter to a transform.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String[]</code></td><td width="80%" align="left"><code>types</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AddParameterAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</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 void</code></td><td width="" align="left"><code>run()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setEnabled(boolean enabled)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>types</h2>
<p>
<code>package-private java.lang.String[] <strong>types</strong></code>
</p>
<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>AddParameterAction</h2>
<p>
<code>public <strong>AddParameterAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</code>
</p>
<p>Create a new instance of this.</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<h2>setEnabled</h2>
<p>
<code>public void <strong>setEnabled</strong>(boolean enabled)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>enabled</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class AddWorkspaceFileAction</h2>
<br>
<hr>
<pre>public class <strong>AddWorkspaceFileAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction</pre>An action that opens a dialog to allow the user to select a file in the workspace.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AddWorkspaceFileAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</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>protected int</code></td><td width="" align="left"><code>getActionType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>run()</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>AddWorkspaceFileAction</h2>
<p>
<code>public <strong>AddWorkspaceFileAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
</p>
<p>Create a new instance of this.</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>getActionType</h2>
<p>
<code>protected int <strong>getActionType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class ControlAccessibleListener</h2>
<br>
<hr>
<pre>public class <strong>ControlAccessibleListener</strong>
extends org.eclipse.swt.accessibility.AccessibleAdapter</pre>Used to help with accessibility.<p></p>
<hr>
<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 static void</code></td><td width="" align="left"><code>addListener(org.eclipse.swt.widgets.Control comp
         ,
      java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Helper for adding an instance of this to the given control.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>getName(org.eclipse.swt.accessibility.AccessibleEvent e)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>addListener</h2>
<p>
<code>public void <strong>addListener</strong>(org.eclipse.swt.widgets.Control comp
         ,
      java.lang.String name)</code>
</p>
<p>Helper for adding an instance of this to the given control.</p>
<h3>Parameters</h3>
<p>
<code>comp</code> - the control to add this to</p>
<p>
<code>name</code> - the name for this</p>
<hr>
<h2>getName</h2>
<p>
<code>public void <strong>getName</strong>(org.eclipse.swt.accessibility.AccessibleEvent e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class MoveDownAction</h2>
<br>
<hr>
<pre>public class <strong>MoveDownAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction</pre>The action for moving a stylesheet further down in the transformation pipeline.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MoveDownAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</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>protected int</code></td><td width="" align="left"><code>getActionType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>run()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>updateSelection(IStructuredSelection selection)</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>MoveDownAction</h2>
<p>
<code>public <strong>MoveDownAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
</p>
<p>Create a new instance of this.</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>getActionType</h2>
<p>
<code>protected int <strong>getActionType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateSelection</h2>
<p>
<code>protected boolean <strong>updateSelection</strong>(IStructuredSelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class MoveUpAction</h2>
<br>
<hr>
<pre>public class <strong>MoveUpAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction</pre>The action for moving a stylesheet further up in the transformation pipeline.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MoveUpAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</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>protected int</code></td><td width="" align="left"><code>getActionType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>run()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>updateSelection(IStructuredSelection selection)</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>MoveUpAction</h2>
<p>
<code>public <strong>MoveUpAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
</p>
<p>Create a new instance of this.</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>getActionType</h2>
<p>
<code>protected int <strong>getActionType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateSelection</h2>
<p>
<code>protected boolean <strong>updateSelection</strong>(IStructuredSelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class MultipleInputDialog</h2>
<br>
<hr>
<pre>public class <strong>MultipleInputDialog</strong>
extends Dialog</pre>A dialog with handy methods for adding simple controls to itself.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>BROWSE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>COMBO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.List</code></td><td width="80%" align="left"><code>controlList</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>FIELD_NAME</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.List</code></td><td width="80%" align="left"><code>fieldList</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Composite</code></td><td width="80%" align="left"><code>panel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>TEXT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.List</code></td><td width="80%" align="left"><code>validators</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.util.Map</code></td><td width="80%" align="left"><code>valueMap</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>VARIABLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog</strong>(org.eclipse.swt.widgets.Shell shell
         ,
      java.lang.String title)</code></td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code></td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String[] items
         ,
      int initialIndex)</code></td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.Validator</strong>()</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 void</code></td><td width="" align="left"><code>addBrowseField(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a label, text box and button for browsing the for a file.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addComboField(java.lang.String labelText
         ,
      int initialIndex
         ,
      java.lang.String[] items)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a label and a combo.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addTextField(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a label and a text box.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addVariablesField(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a label, a text box and a button for selecting variables.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>configureShell(org.eclipse.swt.widgets.Shell shell)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createButtonBar(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createComboField(java.lang.String labelText
         ,
      int initialValue
         ,
      java.lang.String[] items)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createDialogArea(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createTextField(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowEmpty)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createVariablesField(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowEmpty)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogBoundsSettings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code>getIntValue(java.lang.String key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getStringValue(java.lang.String key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.Object</code></td><td width="" align="left"><code>getValue(java.lang.String key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>okPressed()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>open()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>validateFields()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>BROWSE</h2>
<p>
<code>protected static  int <strong>BROWSE</strong></code>
</p>
<hr>
<h2>COMBO</h2>
<p>
<code>protected static  int <strong>COMBO</strong></code>
</p>
<hr>
<h2>controlList</h2>
<p>
<code>protected java.util.List <strong>controlList</strong></code>
</p>
<hr>
<h2>FIELD_NAME</h2>
<p>
<code>protected static  java.lang.String <strong>FIELD_NAME</strong></code>
</p>
<hr>
<h2>fieldList</h2>
<p>
<code>protected java.util.List <strong>fieldList</strong></code>
</p>
<hr>
<h2>panel</h2>
<p>
<code>protected org.eclipse.swt.widgets.Composite <strong>panel</strong></code>
</p>
<hr>
<h2>TEXT</h2>
<p>
<code>protected static  int <strong>TEXT</strong></code>
</p>
<hr>
<h2>validators</h2>
<p>
<code>protected java.util.List <strong>validators</strong></code>
</p>
<hr>
<h2>valueMap</h2>
<p>
<code>protected java.util.Map <strong>valueMap</strong></code>
</p>
<hr>
<h2>VARIABLE</h2>
<p>
<code>protected static  int <strong>VARIABLE</strong></code>
</p>
<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>MultipleInputDialog</h2>
<p>
<code>public <strong>MultipleInputDialog</strong>(org.eclipse.swt.widgets.Shell shell
         ,
      java.lang.String title)</code>
</p>
<p>Create a new instance of this.</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>addBrowseField</h2>
<p>
<code>public void <strong>addBrowseField</strong>(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
</p>
<p>Add a label, text box and button for browsing the for a file.</p>
<h3>Parameters</h3>
<p>
<code>labelText</code> - the label</p>
<p>
<code>initialValue</code> - the initial value</p>
<p>
<code>allowsEmpty</code> - true if the text box can be empty</p>
<hr>
<h2>addComboField</h2>
<p>
<code>public void <strong>addComboField</strong>(java.lang.String labelText
         ,
      int initialIndex
         ,
      java.lang.String[] items)</code>
</p>
<p>Add a label and a combo.</p>
<h3>Parameters</h3>
<p>
<code>labelText</code> - the label</p>
<p>
<code>initialIndex</code> - the initial selection index</p>
<p>
<code>items</code> - the array of items for the combo</p>
<hr>
<h2>addTextField</h2>
<p>
<code>public void <strong>addTextField</strong>(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
</p>
<p>Add a label and a text box.</p>
<h3>Parameters</h3>
<p>
<code>labelText</code> - the label</p>
<p>
<code>initialValue</code> - the initial value</p>
<p>
<code>allowsEmpty</code> - true if the text box can be empty</p>
<hr>
<h2>addVariablesField</h2>
<p>
<code>public void <strong>addVariablesField</strong>(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
</p>
<p>Add a label, a text box and a button for selecting variables.</p>
<h3>Parameters</h3>
<p>
<code>labelText</code> - the label</p>
<p>
<code>initialValue</code> - the initial value</p>
<p>
<code>allowsEmpty</code> - true if the text box can be empty</p>
<hr>
<h2>configureShell</h2>
<p>
<code>protected void <strong>configureShell</strong>(org.eclipse.swt.widgets.Shell shell)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>shell</code>
</p>
<hr>
<h2>createButtonBar</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createButtonBar</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>createComboField</h2>
<p>
<code>protected void <strong>createComboField</strong>(java.lang.String labelText
         ,
      int initialValue
         ,
      java.lang.String[] items)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>labelText</code>
</p>
<p>
<code>initialValue</code>
</p>
<p>
<code>items</code>
</p>
<hr>
<h2>createDialogArea</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createDialogArea</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>createTextField</h2>
<p>
<code>protected void <strong>createTextField</strong>(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowEmpty)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>labelText</code>
</p>
<p>
<code>initialValue</code>
</p>
<p>
<code>allowEmpty</code>
</p>
<hr>
<h2>createVariablesField</h2>
<p>
<code>protected void <strong>createVariablesField</strong>(java.lang.String labelText
         ,
      java.lang.String initialValue
         ,
      boolean allowEmpty)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>labelText</code>
</p>
<p>
<code>initialValue</code>
</p>
<p>
<code>allowEmpty</code>
</p>
<hr>
<h2>getDialogBoundsSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogBoundsSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getIntValue</h2>
<p>
<code>protected int <strong>getIntValue</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getStringValue</h2>
<p>
<code>protected java.lang.String <strong>getStringValue</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getValue</h2>
<p>
<code>protected java.lang.Object <strong>getValue</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<h2>okPressed</h2>
<p>
<code>protected void <strong>okPressed</strong>()</code>
</p>
<p></p>
<hr>
<h2>open</h2>
<p>
<code>public int <strong>open</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>validateFields</h2>
<p>
<code>protected void <strong>validateFields</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class MultipleInputDialog.FieldSummary</h2>
<br>
<hr>
<pre>protected class <strong>MultipleInputDialog.FieldSummary</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code>allowsEmpty</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code>initialIndex</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>initialValue</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String[]</code></td><td width="80%" align="left"><code>items</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code>type</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code></td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String[] items
         ,
      int initialIndex)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>allowsEmpty</h2>
<p>
<code>package-private boolean <strong>allowsEmpty</strong></code>
</p>
<hr>
<h2>initialIndex</h2>
<p>
<code>package-private int <strong>initialIndex</strong></code>
</p>
<hr>
<h2>initialValue</h2>
<p>
<code>package-private java.lang.String <strong>initialValue</strong></code>
</p>
<hr>
<h2>items</h2>
<p>
<code>package-private java.lang.String[] <strong>items</strong></code>
</p>
<hr>
<h2>name</h2>
<p>
<code>package-private java.lang.String <strong>name</strong></code>
</p>
<hr>
<h2>type</h2>
<p>
<code>package-private int <strong>type</strong></code>
</p>
<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>MultipleInputDialog.FieldSummary</h2>
<p>
<code>public <strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
</p>
<p></p>
<hr>
<h2>MultipleInputDialog.FieldSummary</h2>
<p>
<code>public <strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String[] items
         ,
      int initialIndex)</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class MultipleInputDialog.Validator</h2>
<br>
<hr>
<pre>protected class <strong>MultipleInputDialog.Validator</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.Validator</strong>()</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>package-private boolean</code></td><td width="" align="left"><code>validate()</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>MultipleInputDialog.Validator</h2>
<p>
<code>protected <strong>MultipleInputDialog.Validator</strong>()</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>validate</h2>
<p>
<code>package-private boolean <strong>validate</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class MultipleInputDialog.FieldSummary</h2>
<br>
<hr>
<pre>protected class <strong>MultipleInputDialog.FieldSummary</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code>allowsEmpty</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code>initialIndex</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>initialValue</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String[]</code></td><td width="80%" align="left"><code>items</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code>type</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code></td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String[] items
         ,
      int initialIndex)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>allowsEmpty</h2>
<p>
<code>package-private boolean <strong>allowsEmpty</strong></code>
</p>
<hr>
<h2>initialIndex</h2>
<p>
<code>package-private int <strong>initialIndex</strong></code>
</p>
<hr>
<h2>initialValue</h2>
<p>
<code>package-private java.lang.String <strong>initialValue</strong></code>
</p>
<hr>
<h2>items</h2>
<p>
<code>package-private java.lang.String[] <strong>items</strong></code>
</p>
<hr>
<h2>name</h2>
<p>
<code>package-private java.lang.String <strong>name</strong></code>
</p>
<hr>
<h2>type</h2>
<p>
<code>package-private int <strong>type</strong></code>
</p>
<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>MultipleInputDialog.FieldSummary</h2>
<p>
<code>public <strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String initialValue
         ,
      boolean allowsEmpty)</code>
</p>
<p></p>
<hr>
<h2>MultipleInputDialog.FieldSummary</h2>
<p>
<code>public <strong>MultipleInputDialog.FieldSummary</strong>(int type
         ,
      java.lang.String name
         ,
      java.lang.String[] items
         ,
      int initialIndex)</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class MultipleInputDialog.Validator</h2>
<br>
<hr>
<pre>protected class <strong>MultipleInputDialog.Validator</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MultipleInputDialog.Validator</strong>()</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>package-private boolean</code></td><td width="" align="left"><code>validate()</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>MultipleInputDialog.Validator</h2>
<p>
<code>protected <strong>MultipleInputDialog.Validator</strong>()</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>validate</h2>
<p>
<code>package-private boolean <strong>validate</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class OpenDialogAction</h2>
<br>
<hr>
<pre>public class <strong>OpenDialogAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction</pre>An action that opens a dialog.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>LAST_PATH_SETTING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OpenDialogAction</strong>(java.lang.String label
         ,
      org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer
         ,
      java.lang.String dialogSettingsPrefix)</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>protected int</code></td><td width="" align="left"><code>getActionType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getDialogSetting(java.lang.String settingName)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getDialogSettingsPrefix()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setDialogSetting(java.lang.String settingName
         ,
      java.lang.String value)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>LAST_PATH_SETTING</h2>
<p>
<code>protected static  java.lang.String <strong>LAST_PATH_SETTING</strong></code>
</p>
<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>OpenDialogAction</h2>
<p>
<code>public <strong>OpenDialogAction</strong>(java.lang.String label
         ,
      org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer
         ,
      java.lang.String dialogSettingsPrefix)</code>
</p>
<p>Create a new instance of this</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>getActionType</h2>
<p>
<code>protected int <strong>getActionType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getDialogSetting</h2>
<p>
<code>protected java.lang.String <strong>getDialogSetting</strong>(java.lang.String settingName)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>settingName</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getDialogSettingsPrefix</h2>
<p>
<code>protected java.lang.String <strong>getDialogSettingsPrefix</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>setDialogSetting</h2>
<p>
<code>protected void <strong>setDialogSetting</strong>(java.lang.String settingName
         ,
      java.lang.String value)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>settingName</code>
</p>
<p>
<code>value</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class RemoveAction</h2>
<br>
<hr>
<pre>public class <strong>RemoveAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction</pre>An action that removes a selection from a viewer.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>RemoveAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</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>protected int</code></td><td width="" align="left"><code>getActionType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>run()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code>updateSelection(IStructuredSelection selection)</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>RemoveAction</h2>
<p>
<code>public <strong>RemoveAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
</p>
<p>Create a new instance of this.</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>getActionType</h2>
<p>
<code>protected int <strong>getActionType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateSelection</h2>
<p>
<code>protected boolean <strong>updateSelection</strong>(IStructuredSelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.actions</strong></font>
<br>
            Class RemoveParameterAction</h2>
<br>
<hr>
<pre>public class <strong>RemoveParameterAction</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractParameterAction</pre>An action that removes a selection from a viewer.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>RemoveParameterAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</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 void</code></td><td width="" align="left"><code>run()</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>RemoveParameterAction</h2>
<p>
<code>public <strong>RemoveParameterAction</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</code>
</p>
<p>Create a new instance of this.</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>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.breakpoint</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.breakpoint</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends NLS</pre>Messages for the debug UI breakpoints.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLBreakpointProvider_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Error message for null breakpoints.</td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>XSLBreakpointProvider_0</h2>
<p>
<code>public static  java.lang.String <strong>XSLBreakpointProvider_0</strong></code>
</p>
<table>
<tr>
<td>Error message for null breakpoints.</td>
</tr>
</table>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.breakpoint</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.breakpoint</strong></font>
<br>
            Class XSLBreakpointProvider</h2>
<br>
<hr>
<pre>public class <strong>XSLBreakpointProvider</strong>
extends java.lang.Object</pre>An SSE <code>IBreakpointProvider</code> for XSL files.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLBreakpointProvider</strong>()</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 IStatus</code></td><td width="" align="left"><code>addBreakpoint(IDocument document
         ,
      IEditorInput input
         ,
      int editorLineNumber
         ,
      int offset)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IResource</code></td><td width="" align="left"><code>getResource(IEditorInput input)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setInitializationData(IConfigurationElement config
         ,
      java.lang.String propertyName
         ,
      java.lang.Object data)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setSourceEditingTextTools(ISourceEditingTextTools tools)</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>XSLBreakpointProvider</h2>
<p>
<code>public <strong>XSLBreakpointProvider</strong>()</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>addBreakpoint</h2>
<p>
<code>public IStatus <strong>addBreakpoint</strong>(IDocument document
         ,
      IEditorInput input
         ,
      int editorLineNumber
         ,
      int offset)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>document</code>
</p>
<p>
<code>input</code>
</p>
<p>
<code>editorLineNumber</code>
</p>
<p>
<code>offset</code>
</p>
<h3>Returns</h3>
<p>
<code>IStatus</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getResource</h2>
<p>
<code>public IResource <strong>getResource</strong>(IEditorInput input)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>input</code>
</p>
<h3>Returns</h3>
<p>
<code>IResource</code>
</p>
<hr>
<h2>setInitializationData</h2>
<p>
<code>public void <strong>setInitializationData</strong>(IConfigurationElement config
         ,
      java.lang.String propertyName
         ,
      java.lang.Object data)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>config</code>
</p>
<p>
<code>propertyName</code>
</p>
<p>
<code>data</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>setSourceEditingTextTools</h2>
<p>
<code>public void <strong>setSourceEditingTextTools</strong>(ISourceEditingTextTools tools)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>tools</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.model</strong></font>
<br>
            Class XSLBreakpointAdapterFactory</h2>
<br>
<hr>
<pre>public class <strong>XSLBreakpointAdapterFactory</strong>
extends java.lang.Object</pre>Creates a toggle breakpoint adapter<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLBreakpointAdapterFactory</strong>()</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.Object</code></td><td width="" align="left"><code>getAdapter(java.lang.Object adaptableObject
         ,
      java.lang.Class adapterType)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Class[]</code></td><td width="" align="left"><code>getAdapterList()</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>XSLBreakpointAdapterFactory</h2>
<p>
<code>public <strong>XSLBreakpointAdapterFactory</strong>()</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>getAdapter</h2>
<p>
<code>public java.lang.Object <strong>getAdapter</strong>(java.lang.Object adaptableObject
         ,
      java.lang.Class adapterType)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>adaptableObject</code>
</p>
<p>
<code>adapterType</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code>
</p>
<hr>
<h2>getAdapterList</h2>
<p>
<code>public java.lang.Class[] <strong>getAdapterList</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.Class[]</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.model</strong></font>
<br>
            Class XSLLineBreakpointAdapter</h2>
<br>
<hr>
<pre>public class <strong>XSLLineBreakpointAdapter</strong>
extends java.lang.Object</pre>An <code>IToggleBreakpointsTarget</code> for XSL breakpoints.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLLineBreakpointAdapter</strong>()</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 boolean</code></td><td width="" align="left"><code>canToggleLineBreakpoints(IWorkbenchPart part
         ,
      ISelection selection)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>canToggleMethodBreakpoints(IWorkbenchPart part
         ,
      ISelection selection)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>canToggleWatchpoints(IWorkbenchPart part
         ,
      ISelection selection)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>toggleLineBreakpoints(IWorkbenchPart part
         ,
      ISelection selection)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>toggleMethodBreakpoints(IWorkbenchPart part
         ,
      ISelection selection)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>toggleWatchpoints(IWorkbenchPart part
         ,
      ISelection selection)</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>XSLLineBreakpointAdapter</h2>
<p>
<code>public <strong>XSLLineBreakpointAdapter</strong>()</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>canToggleLineBreakpoints</h2>
<p>
<code>public boolean <strong>canToggleLineBreakpoints</strong>(IWorkbenchPart part
         ,
      ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>part</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>canToggleMethodBreakpoints</h2>
<p>
<code>public boolean <strong>canToggleMethodBreakpoints</strong>(IWorkbenchPart part
         ,
      ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>part</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>canToggleWatchpoints</h2>
<p>
<code>public boolean <strong>canToggleWatchpoints</strong>(IWorkbenchPart part
         ,
      ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>part</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>toggleLineBreakpoints</h2>
<p>
<code>public void <strong>toggleLineBreakpoints</strong>(IWorkbenchPart part
         ,
      ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>part</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>toggleMethodBreakpoints</h2>
<p>
<code>public void <strong>toggleMethodBreakpoints</strong>(IWorkbenchPart part
         ,
      ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>part</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>toggleWatchpoints</h2>
<p>
<code>public void <strong>toggleWatchpoints</strong>(IWorkbenchPart part
         ,
      ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>part</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.model</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.model</strong></font>
<br>
            Class XSLModelPresentation</h2>
<br>
<hr>
<pre>public class <strong>XSLModelPresentation</strong>
extends LabelProvider</pre>An <code>IDebugModelPresentation</code> for XSL debugging.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLModelPresentation</strong>()</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 void</code></td><td width="" align="left"><code>computeDetail(IValue value
         ,
      IValueDetailListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</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>getEditorId(IEditorInput input
         ,
      java.lang.Object element)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IEditorInput</code></td><td width="" align="left"><code>getEditorInput(java.lang.Object element)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.Object element)</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>getText(java.lang.Object element)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setAttribute(java.lang.String attribute
         ,
      java.lang.Object value)</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>XSLModelPresentation</h2>
<p>
<code>public <strong>XSLModelPresentation</strong>()</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>computeDetail</h2>
<p>
<code>public void <strong>computeDetail</strong>(IValue value
         ,
      IValueDetailListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>value</code>
</p>
<p>
<code>listener</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getEditorId</h2>
<p>
<code>public java.lang.String <strong>getEditorId</strong>(IEditorInput input
         ,
      java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>input</code>
</p>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getEditorInput</h2>
<p>
<code>public IEditorInput <strong>getEditorInput</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>IEditorInput</code>
</p>
<hr>
<h2>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getText</h2>
<p>
<code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>setAttribute</h2>
<p>
<code>public void <strong>setAttribute</strong>(java.lang.String attribute
         ,
      java.lang.Object value)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>attribute</code>
</p>
<p>
<code>value</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class AddProcessorDialog</h2>
<br>
<hr>
<pre>public class <strong>AddProcessorDialog</strong>
extends StatusDialog</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AddProcessorDialog</strong>(org.eclipse.wst.xsl.internal.debug.ui.preferences.InstalledProcessorsBlock block
         ,
      org.eclipse.swt.widgets.Shell parent
         ,
      org.eclipse.wst.xsl.launching.IProcessorType[] types
         ,
      org.eclipse.wst.xsl.launching.IProcessorInstall install)</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>protected void</code></td><td width="" align="left"><code>configureShell(org.eclipse.swt.widgets.Shell newShell)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>create()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createDialogArea(org.eclipse.swt.widgets.Composite ancestor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createDialogFields(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createFieldListeners()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.io.File</code></td><td width="" align="left"><code>getAbsoluteFileOrEmpty(java.lang.String path)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogBoundsSettings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getDialogSettingsSectionName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getProcessorName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IStatus</code></td><td width="" align="left"><code>getSystemLibraryStatus()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>okPressed()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setButtonLayoutData(org.eclipse.swt.widgets.Button button)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setFieldValuesToProcessor(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin processor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setSystemLibraryStatus(IStatus status)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setVersionStatus(IStatus status)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateButtonsEnableState(IStatus status)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateStatusLine()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IStatus</code></td><td width="" align="left"><code>validateVersionStatus()</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>AddProcessorDialog</h2>
<p>
<code>public <strong>AddProcessorDialog</strong>(org.eclipse.wst.xsl.internal.debug.ui.preferences.InstalledProcessorsBlock block
         ,
      org.eclipse.swt.widgets.Shell parent
         ,
      org.eclipse.wst.xsl.launching.IProcessorType[] types
         ,
      org.eclipse.wst.xsl.launching.IProcessorInstall install)</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>configureShell</h2>
<p>
<code>protected void <strong>configureShell</strong>(org.eclipse.swt.widgets.Shell newShell)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>newShell</code>
</p>
<hr>
<h2>create</h2>
<p>
<code>public void <strong>create</strong>()</code>
</p>
<p></p>
<hr>
<h2>createDialogArea</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createDialogArea</strong>(org.eclipse.swt.widgets.Composite ancestor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>ancestor</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>createDialogFields</h2>
<p>
<code>protected void <strong>createDialogFields</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>createFieldListeners</h2>
<p>
<code>protected void <strong>createFieldListeners</strong>()</code>
</p>
<p></p>
<hr>
<h2>getAbsoluteFileOrEmpty</h2>
<p>
<code>protected java.io.File <strong>getAbsoluteFileOrEmpty</strong>(java.lang.String path)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>path</code>
</p>
<h3>Returns</h3>
<p>
<code>java.io.File</code>
</p>
<hr>
<h2>getDialogBoundsSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogBoundsSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getDialogSettingsSectionName</h2>
<p>
<code>protected java.lang.String <strong>getDialogSettingsSectionName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getProcessorName</h2>
<p>
<code>protected java.lang.String <strong>getProcessorName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getSystemLibraryStatus</h2>
<p>
<code>protected IStatus <strong>getSystemLibraryStatus</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IStatus</code>
</p>
<hr>
<h2>okPressed</h2>
<p>
<code>protected void <strong>okPressed</strong>()</code>
</p>
<p></p>
<hr>
<h2>setButtonLayoutData</h2>
<p>
<code>protected void <strong>setButtonLayoutData</strong>(org.eclipse.swt.widgets.Button button)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>button</code>
</p>
<hr>
<h2>setFieldValuesToProcessor</h2>
<p>
<code>protected void <strong>setFieldValuesToProcessor</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin processor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>processor</code>
</p>
<hr>
<h2>setSystemLibraryStatus</h2>
<p>
<code>protected void <strong>setSystemLibraryStatus</strong>(IStatus status)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>status</code>
</p>
<hr>
<h2>setVersionStatus</h2>
<p>
<code>protected void <strong>setVersionStatus</strong>(IStatus status)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>status</code>
</p>
<hr>
<h2>updateButtonsEnableState</h2>
<p>
<code>protected void <strong>updateButtonsEnableState</strong>(IStatus status)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>status</code>
</p>
<hr>
<h2>updateStatusLine</h2>
<p>
<code>protected void <strong>updateStatusLine</strong>()</code>
</p>
<p></p>
<hr>
<h2>validateVersionStatus</h2>
<p>
<code>protected IStatus <strong>validateVersionStatus</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IStatus</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class BasePreferencePage</h2>
<br>
<hr>
<pre>public class <strong>BasePreferencePage</strong>
extends PreferencePage</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>BasePreferencePage</strong>()</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>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createContents(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>init(IWorkbench workbench)</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>BasePreferencePage</h2>
<p>
<code>public <strong>BasePreferencePage</strong>()</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>createContents</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createContents</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>init</h2>
<p>
<code>public void <strong>init</strong>(IWorkbench workbench)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>workbench</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class FeaturesBlock</h2>
<br>
<hr>
<pre>public class <strong>FeaturesBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>FeaturesBlock</strong>(DialogPage dialogPage)</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setErrorMessage(java.lang.String errorMessage)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setFeatureValues(java.util.Map map)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setInput(org.eclipse.wst.xsl.launching.IFeature[] input)</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>FeaturesBlock</h2>
<p>
<code>public <strong>FeaturesBlock</strong>(DialogPage dialogPage)</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setErrorMessage</h2>
<p>
<code>protected void <strong>setErrorMessage</strong>(java.lang.String errorMessage)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>errorMessage</code>
</p>
<hr>
<h2>setFeatureValues</h2>
<p>
<code>protected void <strong>setFeatureValues</strong>(java.util.Map map)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>map</code>
</p>
<hr>
<h2>setInput</h2>
<p>
<code>protected void <strong>setInput</strong>(org.eclipse.wst.xsl.launching.IFeature[] input)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>input</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class FeaturesPreferencePage</h2>
<br>
<hr>
<pre>public class <strong>FeaturesPreferencePage</strong>
extends PreferencePage</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>FeaturesPreferencePage</strong>()</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>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createContents(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private static org.eclipse.wst.xsl.launching.IProcessorType</code></td><td width="" align="left"><code>getInitialType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>init(IWorkbench workbench)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>performDefaults()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>performOk()</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>FeaturesPreferencePage</h2>
<p>
<code>public <strong>FeaturesPreferencePage</strong>()</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>createContents</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createContents</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>getInitialType</h2>
<p>
<code>package-private org.eclipse.wst.xsl.launching.IProcessorType <strong>getInitialType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IProcessorType</code>
</p>
<hr>
<h2>init</h2>
<p>
<code>public void <strong>init</strong>(IWorkbench workbench)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>workbench</code>
</p>
<hr>
<h2>performDefaults</h2>
<p>
<code>protected void <strong>performDefaults</strong>()</code>
</p>
<p></p>
<hr>
<h2>performOk</h2>
<p>
<code>public boolean <strong>performOk</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class InstalledProcessorsBlock</h2>
<br>
<hr>
<pre>public class <strong>InstalledProcessorsBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>InstalledProcessorsBlock</strong>()</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 void</code></td><td width="" align="left"><code>addSelectionChangedListener(ISelectionChangedListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite ancestor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Button</code></td><td width="" align="left"><code>createPushButton(org.eclipse.swt.widgets.Composite parent
         ,
      java.lang.String label)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>fillWithWorkspaceProcessors()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.IProcessorInstall</code></td><td width="" align="left"><code>getCheckedInstall()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>getControl()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.IProcessorInstall[]</code></td><td width="" align="left"><code>getProcessors()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public ISelection</code></td><td width="" align="left"><code>getSelection()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isDuplicateName(java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>processorAdded(org.eclipse.wst.xsl.launching.IProcessorInstall install)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeProcessors(org.eclipse.wst.xsl.launching.IProcessorInstall[] theInstalls)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeSelectionChangedListener(ISelectionChangedListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setCheckedInstall(org.eclipse.wst.xsl.launching.IProcessorInstall install)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setProcessors(org.eclipse.wst.xsl.launching.IProcessorInstall[] vms)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setSelection(ISelection selection)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setSortColumn(int column)</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>InstalledProcessorsBlock</h2>
<p>
<code>public <strong>InstalledProcessorsBlock</strong>()</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>addSelectionChangedListener</h2>
<p>
<code>public void <strong>addSelectionChangedListener</strong>(ISelectionChangedListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite ancestor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>ancestor</code>
</p>
<hr>
<h2>createPushButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>createPushButton</strong>(org.eclipse.swt.widgets.Composite parent
         ,
      java.lang.String label)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<p>
<code>label</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Button</code>
</p>
<hr>
<h2>fillWithWorkspaceProcessors</h2>
<p>
<code>protected void <strong>fillWithWorkspaceProcessors</strong>()</code>
</p>
<p></p>
<hr>
<h2>getCheckedInstall</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.IProcessorInstall <strong>getCheckedInstall</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IProcessorInstall</code>
</p>
<hr>
<h2>getControl</h2>
<p>
<code>public org.eclipse.swt.widgets.Control <strong>getControl</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getProcessors</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.IProcessorInstall[] <strong>getProcessors</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IProcessorInstall[]</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getSelection</h2>
<p>
<code>public ISelection <strong>getSelection</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>ISelection</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>isDuplicateName</h2>
<p>
<code>public boolean <strong>isDuplicateName</strong>(java.lang.String name)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>name</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>processorAdded</h2>
<p>
<code>public void <strong>processorAdded</strong>(org.eclipse.wst.xsl.launching.IProcessorInstall install)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>install</code>
</p>
<hr>
<h2>removeProcessors</h2>
<p>
<code>public void <strong>removeProcessors</strong>(org.eclipse.wst.xsl.launching.IProcessorInstall[] theInstalls)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>theInstalls</code>
</p>
<hr>
<h2>removeSelectionChangedListener</h2>
<p>
<code>public void <strong>removeSelectionChangedListener</strong>(ISelectionChangedListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>setCheckedInstall</h2>
<p>
<code>public void <strong>setCheckedInstall</strong>(org.eclipse.wst.xsl.launching.IProcessorInstall install)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>install</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setProcessors</h2>
<p>
<code>protected void <strong>setProcessors</strong>(org.eclipse.wst.xsl.launching.IProcessorInstall[] vms)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>vms</code>
</p>
<hr>
<h2>setSelection</h2>
<p>
<code>public void <strong>setSelection</strong>(ISelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>selection</code>
</p>
<hr>
<h2>setSortColumn</h2>
<p>
<code>protected void <strong>setSortColumn</strong>(int column)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>column</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class OutputBlock</h2>
<br>
<hr>
<pre>public class <strong>OutputBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OutputBlock</strong>()</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 void</code></td><td width="" align="left"><code>addSelectionChangedListener(ISelectionChangedListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>refresh()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setInput(org.eclipse.wst.xsl.launching.IOutputProperty[] keys)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setOutputPropertyValues(org.eclipse.wst.xsl.launching.IProcessorType type
         ,
      java.util.Properties properties)</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>OutputBlock</h2>
<p>
<code>public <strong>OutputBlock</strong>()</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>addSelectionChangedListener</h2>
<p>
<code>public void <strong>addSelectionChangedListener</strong>(ISelectionChangedListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>refresh</h2>
<p>
<code>public void <strong>refresh</strong>()</code>
</p>
<p></p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setInput</h2>
<p>
<code>public void <strong>setInput</strong>(org.eclipse.wst.xsl.launching.IOutputProperty[] keys)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>keys</code>
</p>
<hr>
<h2>setOutputPropertyValues</h2>
<p>
<code>public void <strong>setOutputPropertyValues</strong>(org.eclipse.wst.xsl.launching.IProcessorType type
         ,
      java.util.Properties properties)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>type</code>
</p>
<p>
<code>properties</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class OutputPreferencePage</h2>
<br>
<hr>
<pre>public class <strong>OutputPreferencePage</strong>
extends PreferencePage</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OutputPreferencePage</strong>()</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>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createContents(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>init(IWorkbench workbench)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>performDefaults()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>performOk()</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>OutputPreferencePage</h2>
<p>
<code>public <strong>OutputPreferencePage</strong>()</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>createContents</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createContents</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>init</h2>
<p>
<code>public void <strong>init</strong>(IWorkbench workbench)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>workbench</code>
</p>
<hr>
<h2>performDefaults</h2>
<p>
<code>protected void <strong>performDefaults</strong>()</code>
</p>
<p></p>
<hr>
<h2>performOk</h2>
<p>
<code>public boolean <strong>performOk</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class ProcessorLibraryBlock</h2>
<br>
<hr>
<pre>public class <strong>ProcessorLibraryBlock</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.internal.debug.ui.preferences.AddProcessorDialog</code></td><td width="80%" align="left"><code>addDialog</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>DIALOG_SETTINGS_PREFIX</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin</code></td><td width="80%" align="left"><code>install</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.launching.IProcessorType</code></td><td width="80%" align="left"><code>installType</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>LAST_PATH_SETTING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>LAST_WORKSPACE_PATH_SETTING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected TableViewer</code></td><td width="80%" align="left"><code>tableViewer</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorLibraryBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.preferences.AddProcessorDialog dialog)</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 org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Button</code></td><td width="" align="left"><code>createPushButton(org.eclipse.swt.widgets.Composite parent
         ,
      java.lang.String label)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createVerticalSpacer(org.eclipse.swt.widgets.Composite comp
         ,
      int colSpan)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.launching.IProcessorInstall</code></td><td width="" align="left"><code>getVMInstall()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.wst.xsl.launching.IProcessorType</code></td><td width="" align="left"><code>getVMInstallType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin standin
         ,
      org.eclipse.wst.xsl.launching.IProcessorType type)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin standin)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>selectionChanged(SelectionChangedEvent event)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>update()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Updates buttons and status based on current libraries</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>widgetSelected(org.eclipse.swt.events.SelectionEvent e)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>addDialog</h2>
<p>
<code>protected org.eclipse.wst.xsl.internal.debug.ui.preferences.AddProcessorDialog <strong>addDialog</strong></code>
</p>
<hr>
<h2>DIALOG_SETTINGS_PREFIX</h2>
<p>
<code>protected static  java.lang.String <strong>DIALOG_SETTINGS_PREFIX</strong></code>
</p>
<hr>
<h2>install</h2>
<p>
<code>protected org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin <strong>install</strong></code>
</p>
<hr>
<h2>installType</h2>
<p>
<code>protected org.eclipse.wst.xsl.launching.IProcessorType <strong>installType</strong></code>
</p>
<hr>
<h2>LAST_PATH_SETTING</h2>
<p>
<code>protected static  java.lang.String <strong>LAST_PATH_SETTING</strong></code>
</p>
<hr>
<h2>LAST_WORKSPACE_PATH_SETTING</h2>
<p>
<code>protected static  java.lang.String <strong>LAST_WORKSPACE_PATH_SETTING</strong></code>
</p>
<hr>
<h2>tableViewer</h2>
<p>
<code>protected TableViewer <strong>tableViewer</strong></code>
</p>
<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>ProcessorLibraryBlock</h2>
<p>
<code>public <strong>ProcessorLibraryBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.preferences.AddProcessorDialog dialog)</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>createControl</h2>
<p>
<code>public org.eclipse.swt.widgets.Control <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>createPushButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>createPushButton</strong>(org.eclipse.swt.widgets.Composite parent
         ,
      java.lang.String label)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<p>
<code>label</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Button</code>
</p>
<hr>
<h2>createVerticalSpacer</h2>
<p>
<code>protected void <strong>createVerticalSpacer</strong>(org.eclipse.swt.widgets.Composite comp
         ,
      int colSpan)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>comp</code>
</p>
<p>
<code>colSpan</code>
</p>
<hr>
<h2>getVMInstall</h2>
<p>
<code>protected org.eclipse.wst.xsl.launching.IProcessorInstall <strong>getVMInstall</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IProcessorInstall</code>
</p>
<hr>
<h2>getVMInstallType</h2>
<p>
<code>protected org.eclipse.wst.xsl.launching.IProcessorType <strong>getVMInstallType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IProcessorType</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin standin
         ,
      org.eclipse.wst.xsl.launching.IProcessorType type)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>standin</code>
</p>
<p>
<code>type</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin standin)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>standin</code>
</p>
<hr>
<h2>selectionChanged</h2>
<p>
<code>public void <strong>selectionChanged</strong>(SelectionChangedEvent event)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>event</code>
</p>
<hr>
<h2>update</h2>
<p>
<code>public void <strong>update</strong>()</code>
</p>
<p>Updates buttons and status based on current libraries</p>
<hr>
<h2>widgetDefaultSelected</h2>
<p>
<code>public void <strong>widgetDefaultSelected</strong>(org.eclipse.swt.events.SelectionEvent e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<h2>widgetSelected</h2>
<p>
<code>public void <strong>widgetSelected</strong>(org.eclipse.swt.events.SelectionEvent e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.preferences</strong></font>
<br>
            Class ProcessorsPreferencePage</h2>
<br>
<hr>
<pre>public class <strong>ProcessorsPreferencePage</strong>
extends PreferencePage</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorsPreferencePage</strong>()</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>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createContents(org.eclipse.swt.widgets.Composite ancestor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>init(IWorkbench workbench)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>performOk()</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>ProcessorsPreferencePage</h2>
<p>
<code>public <strong>ProcessorsPreferencePage</strong>()</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>createContents</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createContents</strong>(org.eclipse.swt.widgets.Composite ancestor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>ancestor</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>init</h2>
<p>
<code>public void <strong>init</strong>(IWorkbench workbench)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>workbench</code>
</p>
<hr>
<h2>performOk</h2>
<p>
<code>public boolean <strong>performOk</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
<br>
            Class FOFormatterTab</h2>
<br>
<hr>
<pre>public class <strong>FOFormatterTab</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>FOFormatterTab</strong>()</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>handleSelectionChanged()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</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>FOFormatterTab</h2>
<p>
<code>public <strong>FOFormatterTab</strong>()</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>handleSelectionChanged</h2>
<p>
<code>protected void <strong>handleSelectionChanged</strong>()</code>
</p>
<p></p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
<br>
            Class RendererConfigurationBlock</h2>
<br>
<hr>
<pre>public class <strong>RendererConfigurationBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>RendererConfigurationBlock</strong>()</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>protected java.lang.String</code></td><td width="" align="left"><code>getMessage(int type)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setDefaultResource()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</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>RendererConfigurationBlock</h2>
<p>
<code>public <strong>RendererConfigurationBlock</strong>()</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>getMessage</h2>
<p>
<code>protected java.lang.String <strong>getMessage</strong>(int type)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>type</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaultResource</h2>
<p>
<code>protected void <strong>setDefaultResource</strong>()</code>
</p>
<p></p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
<br>
            Class RendererTabMessages</h2>
<br>
<hr>
<pre>public class <strong>RendererTabMessages</strong>
extends NLS</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputBlock_FOButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputBlock_HTMLButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputBlock_OutputFilesGroupTitle</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputBlock_OutputTypeGroupTitle</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputBlock_XMLButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_Working_Directory_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLFOComboBlock_ManageXSLFOProcessor</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLFOComboBlock_None</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLFOComboBlock_SpecificXSLFOProcessor</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLFOComboBlock_XSLFOGroupTitle</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>RendererTabMessages</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>OutputBlock_FOButton</h2>
<p>
<code>public static  java.lang.String <strong>OutputBlock_FOButton</strong></code>
</p>
<hr>
<h2>OutputBlock_HTMLButton</h2>
<p>
<code>public static  java.lang.String <strong>OutputBlock_HTMLButton</strong></code>
</p>
<hr>
<h2>OutputBlock_OutputFilesGroupTitle</h2>
<p>
<code>public static  java.lang.String <strong>OutputBlock_OutputFilesGroupTitle</strong></code>
</p>
<hr>
<h2>OutputBlock_OutputTypeGroupTitle</h2>
<p>
<code>public static  java.lang.String <strong>OutputBlock_OutputTypeGroupTitle</strong></code>
</p>
<hr>
<h2>OutputBlock_XMLButton</h2>
<p>
<code>public static  java.lang.String <strong>OutputBlock_XMLButton</strong></code>
</p>
<hr>
<h2>URIResolverBlock_Working_Directory_8</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_Working_Directory_8</strong></code>
</p>
<hr>
<h2>XSLFOComboBlock_ManageXSLFOProcessor</h2>
<p>
<code>public static  java.lang.String <strong>XSLFOComboBlock_ManageXSLFOProcessor</strong></code>
</p>
<hr>
<h2>XSLFOComboBlock_None</h2>
<p>
<code>public static  java.lang.String <strong>XSLFOComboBlock_None</strong></code>
</p>
<hr>
<h2>XSLFOComboBlock_SpecificXSLFOProcessor</h2>
<p>
<code>public static  java.lang.String <strong>XSLFOComboBlock_SpecificXSLFOProcessor</strong></code>
</p>
<hr>
<h2>XSLFOComboBlock_XSLFOGroupTitle</h2>
<p>
<code>public static  java.lang.String <strong>XSLFOComboBlock_XSLFOGroupTitle</strong></code>
</p>
<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>RendererTabMessages</h2>
<p>
<code>public <strong>RendererTabMessages</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter</strong></font>
<br>
            Class XSLFOComboBlock</h2>
<br>
<hr>
<pre>public class <strong>XSLFOComboBlock</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLFOComboBlock</strong>()</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite ancestor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>getControl()</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>XSLFOComboBlock</h2>
<p>
<code>public <strong>XSLFOComboBlock</strong>()</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite ancestor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>ancestor</code>
</p>
<hr>
<h2>getControl</h2>
<p>
<code>public org.eclipse.swt.widgets.Control <strong>getControl</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class IParametersChangedListener</h2>
<br>
<hr>
<pre>public class <strong>IParametersChangedListener</strong>
extends </pre>
<hr>
<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 void</code></td><td width="" align="left"><code>parametersChanged(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>parametersChanged</h2>
<p>
<code>public void <strong>parametersChanged</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer viewer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class IStylesheetEntriesChangedListener</h2>
<br>
<hr>
<pre>public class <strong>IStylesheetEntriesChangedListener</strong>
extends </pre>
<hr>
<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 void</code></td><td width="" align="left"><code>entriesChanged(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>entriesChanged</h2>
<p>
<code>public void <strong>entriesChanged</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class InputFileBlock</h2>
<br>
<hr>
<pre>public class <strong>InputFileBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private IContentTypeManager</code></td><td width="80%" align="left"><code>contentTypeManager</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>InputFileBlock</strong>(IFile defaultFile)</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>protected java.lang.String[]</code></td><td width="" align="left"><code>getFileExtensions()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getMessage(int type)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setDefaultResource()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>textModified()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateResourceText(boolean useDefault)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>contentTypeManager</h2>
<p>
<code>package-private IContentTypeManager <strong>contentTypeManager</strong></code>
</p>
<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>InputFileBlock</h2>
<p>
<code>public <strong>InputFileBlock</strong>(IFile defaultFile)</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>getFileExtensions</h2>
<p>
<code>protected java.lang.String[] <strong>getFileExtensions</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<hr>
<h2>getMessage</h2>
<p>
<code>protected java.lang.String <strong>getMessage</strong>(int type)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>type</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaultResource</h2>
<p>
<code>protected void <strong>setDefaultResource</strong>()</code>
</p>
<p></p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>textModified</h2>
<p>
<code>protected void <strong>textModified</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateResourceText</h2>
<p>
<code>protected void <strong>updateResourceText</strong>(boolean useDefault)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>useDefault</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class MainTabMessages</h2>
<br>
<hr>
<pre>public class <strong>MainTabMessages</strong>
extends NLS</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_DEFAULT_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_DIRECTORY_DOES_NOT_EXIST</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_DIRECTORY_NOT_SPECIFIED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_Exception_occurred_reading_configuration</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_Exception_occurred_saving_configuration</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_FILE_SYSTEM_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_GROUP_NAME</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_Name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_OTHER_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_VARIABLES_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_WORKSPACE_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_WORKSPACE_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_WORKSPACE_DIALOG_TITLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_7</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_9</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_DEFAULT_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_DIRECTORY_DOES_NOT_EXIST</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_DIRECTORY_NOT_SPECIFIED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_Exception_occurred_reading_configuration</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_Exception_occurred_saving_configuration</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_FILE_SYSTEM_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_GROUP_NAME</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_Name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_OTHER_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_VARIABLES_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_WORKSPACE_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_WORKSPACE_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFileBlock_WORKSPACE_DIALOG_TITLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_DEFAULT_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_Exception_occurred_reading_configuration</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_Exception_occurred_saving_configuration</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_FILE_SYSTEM_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_GROUP_NAME</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_Name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_OTHER_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_VARIABLES_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_WORKSPACE_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputFOFileBlock_WORKSPACE_DIALOG_TITLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputTypeBlock_Group_Name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>StylesheetEntryLabelProvider_Invalid_path</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>TransformsBlock_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>TransformsBlock_Name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>TransformsBlock_ParametersLabel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>TransformsBlock_StylesheetsLabel</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Browse_Projects</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Choose_Project_Dialog_Message</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Choose_Project_Dialog_Title</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_LabelText</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Project_Closed</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Project_Does_Not_Exist</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Project_Group</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Project_Name_Invalid</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_TabName</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>XSLMainTab_Transforms_Group</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>MainTabMessages</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>InputFileBlock_DEFAULT_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_DEFAULT_RADIO</strong></code>
</p>
<hr>
<h2>InputFileBlock_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>InputFileBlock_DIRECTORY_DOES_NOT_EXIST</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_DIRECTORY_DOES_NOT_EXIST</strong></code>
</p>
<hr>
<h2>InputFileBlock_DIRECTORY_NOT_SPECIFIED</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_DIRECTORY_NOT_SPECIFIED</strong></code>
</p>
<hr>
<h2>InputFileBlock_Exception_occurred_reading_configuration</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_Exception_occurred_reading_configuration</strong></code>
</p>
<hr>
<h2>InputFileBlock_Exception_occurred_saving_configuration</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_Exception_occurred_saving_configuration</strong></code>
</p>
<hr>
<h2>InputFileBlock_FILE_SYSTEM_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_FILE_SYSTEM_BUTTON</strong></code>
</p>
<hr>
<h2>InputFileBlock_GROUP_NAME</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_GROUP_NAME</strong></code>
</p>
<hr>
<h2>InputFileBlock_Name</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_Name</strong></code>
</p>
<hr>
<h2>InputFileBlock_OTHER_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_OTHER_RADIO</strong></code>
</p>
<hr>
<h2>InputFileBlock_VARIABLES_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_VARIABLES_BUTTON</strong></code>
</p>
<hr>
<h2>InputFileBlock_WORKSPACE_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_WORKSPACE_BUTTON</strong></code>
</p>
<hr>
<h2>InputFileBlock_WORKSPACE_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_WORKSPACE_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>InputFileBlock_WORKSPACE_DIALOG_TITLE</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_WORKSPACE_DIALOG_TITLE</strong></code>
</p>
<hr>
<h2>OutputFileBlock_0</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_0</strong></code>
</p>
<hr>
<h2>OutputFileBlock_7</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_7</strong></code>
</p>
<hr>
<h2>OutputFileBlock_8</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_8</strong></code>
</p>
<hr>
<h2>OutputFileBlock_9</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_9</strong></code>
</p>
<hr>
<h2>OutputFileBlock_DEFAULT_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_DEFAULT_RADIO</strong></code>
</p>
<hr>
<h2>OutputFileBlock_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>OutputFileBlock_DIRECTORY_DOES_NOT_EXIST</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_DIRECTORY_DOES_NOT_EXIST</strong></code>
</p>
<hr>
<h2>OutputFileBlock_DIRECTORY_NOT_SPECIFIED</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_DIRECTORY_NOT_SPECIFIED</strong></code>
</p>
<hr>
<h2>OutputFileBlock_Exception_occurred_reading_configuration</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_Exception_occurred_reading_configuration</strong></code>
</p>
<hr>
<h2>OutputFileBlock_Exception_occurred_saving_configuration</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_Exception_occurred_saving_configuration</strong></code>
</p>
<hr>
<h2>OutputFileBlock_FILE_SYSTEM_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_FILE_SYSTEM_BUTTON</strong></code>
</p>
<hr>
<h2>OutputFileBlock_GROUP_NAME</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_GROUP_NAME</strong></code>
</p>
<hr>
<h2>OutputFileBlock_Name</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_Name</strong></code>
</p>
<hr>
<h2>OutputFileBlock_OTHER_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_OTHER_RADIO</strong></code>
</p>
<hr>
<h2>OutputFileBlock_VARIABLES_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_VARIABLES_BUTTON</strong></code>
</p>
<hr>
<h2>OutputFileBlock_WORKSPACE_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_WORKSPACE_BUTTON</strong></code>
</p>
<hr>
<h2>OutputFileBlock_WORKSPACE_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_WORKSPACE_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>OutputFileBlock_WORKSPACE_DIALOG_TITLE</h2>
<p>
<code>public static  java.lang.String <strong>OutputFileBlock_WORKSPACE_DIALOG_TITLE</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_DEFAULT_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_DEFAULT_RADIO</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_Exception_occurred_reading_configuration</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_Exception_occurred_reading_configuration</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_Exception_occurred_saving_configuration</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_Exception_occurred_saving_configuration</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_FILE_SYSTEM_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_FILE_SYSTEM_BUTTON</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_GROUP_NAME</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_GROUP_NAME</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_Name</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_Name</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_OTHER_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_OTHER_RADIO</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_VARIABLES_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_VARIABLES_BUTTON</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_WORKSPACE_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_WORKSPACE_BUTTON</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>OutputFOFileBlock_WORKSPACE_DIALOG_TITLE</h2>
<p>
<code>public static  java.lang.String <strong>OutputFOFileBlock_WORKSPACE_DIALOG_TITLE</strong></code>
</p>
<hr>
<h2>OutputTypeBlock_Group_Name</h2>
<p>
<code>public static  java.lang.String <strong>OutputTypeBlock_Group_Name</strong></code>
</p>
<hr>
<h2>StylesheetEntryLabelProvider_Invalid_path</h2>
<p>
<code>public static  java.lang.String <strong>StylesheetEntryLabelProvider_Invalid_path</strong></code>
</p>
<hr>
<h2>TransformsBlock_0</h2>
<p>
<code>public static  java.lang.String <strong>TransformsBlock_0</strong></code>
</p>
<hr>
<h2>TransformsBlock_Name</h2>
<p>
<code>public static  java.lang.String <strong>TransformsBlock_Name</strong></code>
</p>
<hr>
<h2>TransformsBlock_ParametersLabel</h2>
<p>
<code>public static  java.lang.String <strong>TransformsBlock_ParametersLabel</strong></code>
</p>
<hr>
<h2>TransformsBlock_StylesheetsLabel</h2>
<p>
<code>public static  java.lang.String <strong>TransformsBlock_StylesheetsLabel</strong></code>
</p>
<hr>
<h2>XSLMainTab_Browse_Projects</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Browse_Projects</strong></code>
</p>
<hr>
<h2>XSLMainTab_Choose_Project_Dialog_Message</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Choose_Project_Dialog_Message</strong></code>
</p>
<hr>
<h2>XSLMainTab_Choose_Project_Dialog_Title</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Choose_Project_Dialog_Title</strong></code>
</p>
<hr>
<h2>XSLMainTab_LabelText</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_LabelText</strong></code>
</p>
<hr>
<h2>XSLMainTab_Project_Closed</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Project_Closed</strong></code>
</p>
<hr>
<h2>XSLMainTab_Project_Does_Not_Exist</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Project_Does_Not_Exist</strong></code>
</p>
<hr>
<h2>XSLMainTab_Project_Group</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Project_Group</strong></code>
</p>
<hr>
<h2>XSLMainTab_Project_Name_Invalid</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Project_Name_Invalid</strong></code>
</p>
<hr>
<h2>XSLMainTab_TabName</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_TabName</strong></code>
</p>
<hr>
<h2>XSLMainTab_Transforms_Group</h2>
<p>
<code>public static  java.lang.String <strong>XSLMainTab_Transforms_Group</strong></code>
</p>
<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>MainTabMessages</h2>
<p>
<code>public <strong>MainTabMessages</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class ParameterViewer</h2>
<br>
<hr>
<pre>public class <strong>ParameterViewer</strong>
extends TableViewer</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ParameterViewer</strong>(org.eclipse.swt.widgets.Table table)</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 void</code></td><td width="" align="left"><code>addParameter(org.eclipse.wst.xsl.launching.config.LaunchAttribute parameter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addParametersChangedListener(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IParametersChangedListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.config.LaunchAttribute[]</code></td><td width="" align="left"><code>getParameters()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IStructuredSelection</code></td><td width="" align="left"><code>getSelectedEntries()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.widgets.Shell</code></td><td width="" align="left"><code>getShell()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isEnabled()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeEntries(org.eclipse.wst.xsl.launching.config.LaunchAttribute[] entries)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeParametersChangedListener(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IParametersChangedListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>updateSelection(int actionType
         ,
      IStructuredSelection selection)</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>ParameterViewer</h2>
<p>
<code>public <strong>ParameterViewer</strong>(org.eclipse.swt.widgets.Table table)</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>addParameter</h2>
<p>
<code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.launching.config.LaunchAttribute parameter)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parameter</code>
</p>
<hr>
<h2>addParametersChangedListener</h2>
<p>
<code>public void <strong>addParametersChangedListener</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IParametersChangedListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>getParameters</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.config.LaunchAttribute[] <strong>getParameters</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.config.LaunchAttribute[]</code>
</p>
<hr>
<h2>getSelectedEntries</h2>
<p>
<code>public IStructuredSelection <strong>getSelectedEntries</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IStructuredSelection</code>
</p>
<hr>
<h2>getShell</h2>
<p>
<code>public org.eclipse.swt.widgets.Shell <strong>getShell</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Shell</code>
</p>
<hr>
<h2>isEnabled</h2>
<p>
<code>public boolean <strong>isEnabled</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>removeEntries</h2>
<p>
<code>public void <strong>removeEntries</strong>(org.eclipse.wst.xsl.launching.config.LaunchAttribute[] entries)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>entries</code>
</p>
<hr>
<h2>removeParametersChangedListener</h2>
<p>
<code>public void <strong>removeParametersChangedListener</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IParametersChangedListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>updateSelection</h2>
<p>
<code>public boolean <strong>updateSelection</strong>(int actionType
         ,
      IStructuredSelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>actionType</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class ParametersBlock</h2>
<br>
<hr>
<pre>public class <strong>ParametersBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ParametersBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.TransformsBlock transformsBlock)</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>protected org.eclipse.swt.widgets.Button</code></td><td width="" align="left"><code>createButton(org.eclipse.swt.widgets.Composite pathButtonComp
         ,
      org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractParameterAction action)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setSortColumn(int column)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setTransform(org.eclipse.wst.xsl.launching.config.LaunchTransform transform)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateEnabled()</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>ParametersBlock</h2>
<p>
<code>public <strong>ParametersBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.TransformsBlock transformsBlock)</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>createButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>createButton</strong>(org.eclipse.swt.widgets.Composite pathButtonComp
         ,
      org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractParameterAction action)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>pathButtonComp</code>
</p>
<p>
<code>action</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Button</code>
</p>
<hr>
<h2>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setSortColumn</h2>
<p>
<code>protected void <strong>setSortColumn</strong>(int column)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>column</code>
</p>
<hr>
<h2>setTransform</h2>
<p>
<code>protected void <strong>setTransform</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform transform)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>transform</code>
</p>
<hr>
<h2>updateEnabled</h2>
<p>
<code>protected void <strong>updateEnabled</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class ParametersContentProvider</h2>
<br>
<hr>
<pre>public class <strong>ParametersContentProvider</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ParametersContentProvider</strong>()</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 void</code></td><td width="" align="left"><code>addParameter(org.eclipse.wst.xsl.launching.config.LaunchAttribute parameter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getElements(java.lang.Object inputElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.config.LaunchAttribute[]</code></td><td width="" align="left"><code>getParameters()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>inputChanged(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeParameters(org.eclipse.wst.xsl.launching.config.LaunchAttribute[] entries)</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>ParametersContentProvider</h2>
<p>
<code>public <strong>ParametersContentProvider</strong>()</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>addParameter</h2>
<p>
<code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.launching.config.LaunchAttribute parameter)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parameter</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getElements</h2>
<p>
<code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputElement</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>getParameters</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.config.LaunchAttribute[] <strong>getParameters</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.config.LaunchAttribute[]</code>
</p>
<hr>
<h2>inputChanged</h2>
<p>
<code>public void <strong>inputChanged</strong>(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>oldInput</code>
</p>
<p>
<code>newInput</code>
</p>
<hr>
<h2>removeParameters</h2>
<p>
<code>public void <strong>removeParameters</strong>(org.eclipse.wst.xsl.launching.config.LaunchAttribute[] entries)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>entries</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class ParametersLabelProvider</h2>
<br>
<hr>
<pre>public class <strong>ParametersLabelProvider</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ParametersLabelProvider</strong>()</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 void</code></td><td width="" align="left"><code>addListener(ILabelProviderListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getColumnImage(java.lang.Object element
         ,
      int columnIndex)</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>getColumnText(java.lang.Object element
         ,
      int columnIndex)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isLabelProperty(java.lang.Object element
         ,
      java.lang.String property)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeListener(ILabelProviderListener listener)</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>ParametersLabelProvider</h2>
<p>
<code>public <strong>ParametersLabelProvider</strong>()</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>addListener</h2>
<p>
<code>public void <strong>addListener</strong>(ILabelProviderListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getColumnImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getColumnImage</strong>(java.lang.Object element
         ,
      int columnIndex)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<p>
<code>columnIndex</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getColumnText</h2>
<p>
<code>public java.lang.String <strong>getColumnText</strong>(java.lang.Object element
         ,
      int columnIndex)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<p>
<code>columnIndex</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>isLabelProperty</h2>
<p>
<code>public boolean <strong>isLabelProperty</strong>(java.lang.Object element
         ,
      java.lang.String property)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<p>
<code>property</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>removeListener</h2>
<p>
<code>public void <strong>removeListener</strong>(ILabelProviderListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class StylesheetContentProvider</h2>
<br>
<hr>
<pre>public class <strong>StylesheetContentProvider</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>StylesheetContentProvider</strong>()</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 void</code></td><td width="" align="left"><code>addEntries(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res
         ,
      java.lang.Object beforeElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getElements(java.lang.Object inputElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>inputChanged(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeEntries(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setEntries(org.eclipse.wst.xsl.launching.config.LaunchTransform[] transforms)</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>StylesheetContentProvider</h2>
<p>
<code>public <strong>StylesheetContentProvider</strong>()</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>addEntries</h2>
<p>
<code>public void <strong>addEntries</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res
         ,
      java.lang.Object beforeElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>res</code>
</p>
<p>
<code>beforeElement</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getElements</h2>
<p>
<code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputElement</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>inputChanged</h2>
<p>
<code>public void <strong>inputChanged</strong>(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>oldInput</code>
</p>
<p>
<code>newInput</code>
</p>
<hr>
<h2>removeEntries</h2>
<p>
<code>public void <strong>removeEntries</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>res</code>
</p>
<hr>
<h2>setEntries</h2>
<p>
<code>public void <strong>setEntries</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform[] transforms)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>transforms</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class StylesheetLabelProvider</h2>
<br>
<hr>
<pre>public class <strong>StylesheetLabelProvider</strong>
extends LabelProvider</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>StylesheetLabelProvider</strong>()</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 org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage(java.lang.Object element)</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>getText(java.lang.Object element)</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>StylesheetLabelProvider</h2>
<p>
<code>public <strong>StylesheetLabelProvider</strong>()</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>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getText</h2>
<p>
<code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class StylesheetViewer</h2>
<br>
<hr>
<pre>public class <strong>StylesheetViewer</strong>
extends TableViewer</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>StylesheetViewer</strong>(org.eclipse.swt.widgets.Composite parent)</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 void</code></td><td width="" align="left"><code>addEntriesChangedListener(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IStylesheetEntriesChangedListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addTransforms(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.config.LaunchTransform[]</code></td><td width="" align="left"><code>getEntries()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IStructuredSelection</code></td><td width="" align="left"><code>getSelectedEntries()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.widgets.Shell</code></td><td width="" align="left"><code>getShell()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isEnabled()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeEntries(org.eclipse.wst.xsl.launching.config.LaunchTransform[] entries)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeEntriesChangedListener(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IStylesheetEntriesChangedListener listener)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setEntries(org.eclipse.wst.xsl.launching.config.LaunchTransform[] transforms)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>updateSelection(int actionType
         ,
      IStructuredSelection selection)</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>StylesheetViewer</h2>
<p>
<code>public <strong>StylesheetViewer</strong>(org.eclipse.swt.widgets.Composite parent)</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>addEntriesChangedListener</h2>
<p>
<code>public void <strong>addEntriesChangedListener</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IStylesheetEntriesChangedListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>addTransforms</h2>
<p>
<code>public void <strong>addTransforms</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform[] res)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>res</code>
</p>
<hr>
<h2>getEntries</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.config.LaunchTransform[] <strong>getEntries</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.config.LaunchTransform[]</code>
</p>
<hr>
<h2>getSelectedEntries</h2>
<p>
<code>public IStructuredSelection <strong>getSelectedEntries</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IStructuredSelection</code>
</p>
<hr>
<h2>getShell</h2>
<p>
<code>public org.eclipse.swt.widgets.Shell <strong>getShell</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Shell</code>
</p>
<hr>
<h2>isEnabled</h2>
<p>
<code>public boolean <strong>isEnabled</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>removeEntries</h2>
<p>
<code>public void <strong>removeEntries</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform[] entries)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>entries</code>
</p>
<hr>
<h2>removeEntriesChangedListener</h2>
<p>
<code>public void <strong>removeEntriesChangedListener</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IStylesheetEntriesChangedListener listener)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>listener</code>
</p>
<hr>
<h2>setEntries</h2>
<p>
<code>public void <strong>setEntries</strong>(org.eclipse.wst.xsl.launching.config.LaunchTransform[] transforms)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>transforms</code>
</p>
<hr>
<h2>updateSelection</h2>
<p>
<code>public boolean <strong>updateSelection</strong>(int actionType
         ,
      IStructuredSelection selection)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>actionType</code>
</p>
<p>
<code>selection</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class TransformsBlock</h2>
<br>
<hr>
<pre>public class <strong>TransformsBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>DIALOG_SETTINGS_PREFIX</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>TransformsBlock</strong>()</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>protected org.eclipse.swt.widgets.Button</code></td><td width="" align="left"><code>createArrowButton(org.eclipse.swt.widgets.Composite pathButtonComp
         ,
      org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction action
         ,
      int updown)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Button</code></td><td width="" align="left"><code>createButton(org.eclipse.swt.widgets.Composite pathButtonComp
         ,
      org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction action)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>entriesChanged(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public Viewer</code></td><td width="" align="left"><code>getStylesheetViewer()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setPipeline(org.eclipse.wst.xsl.launching.config.LaunchPipeline pipeline)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setSortColumn(int column)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>DIALOG_SETTINGS_PREFIX</h2>
<p>
<code>protected static  java.lang.String <strong>DIALOG_SETTINGS_PREFIX</strong></code>
</p>
<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>TransformsBlock</h2>
<p>
<code>public <strong>TransformsBlock</strong>()</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>createArrowButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>createArrowButton</strong>(org.eclipse.swt.widgets.Composite pathButtonComp
         ,
      org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction action
         ,
      int updown)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>pathButtonComp</code>
</p>
<p>
<code>action</code>
</p>
<p>
<code>updown</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Button</code>
</p>
<hr>
<h2>createButton</h2>
<p>
<code>protected org.eclipse.swt.widgets.Button <strong>createButton</strong>(org.eclipse.swt.widgets.Composite pathButtonComp
         ,
      org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction action)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>pathButtonComp</code>
</p>
<p>
<code>action</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Button</code>
</p>
<hr>
<h2>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>entriesChanged</h2>
<p>
<code>public void <strong>entriesChanged</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer viewer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getStylesheetViewer</h2>
<p>
<code>public Viewer <strong>getStylesheetViewer</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>Viewer</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setPipeline</h2>
<p>
<code>public void <strong>setPipeline</strong>(org.eclipse.wst.xsl.launching.config.LaunchPipeline pipeline)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>pipeline</code>
</p>
<hr>
<h2>setSortColumn</h2>
<p>
<code>protected void <strong>setSortColumn</strong>(int column)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>column</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.main</strong></font>
<br>
            Class XSLMainTab</h2>
<br>
<hr>
<pre>public class <strong>XSLMainTab</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.config.LaunchPipeline</code></td><td width="80%" align="left"><code>pipeline</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLMainTab</strong>()</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>pipeline</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.config.LaunchPipeline <strong>pipeline</strong></code>
</p>
<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>XSLMainTab</h2>
<p>
<code>public <strong>XSLMainTab</strong>()</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends NLS</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_13</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_3</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_4</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_5</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_7</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputPropertiesBlock_9</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputTab_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OutputTab_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>OutputPropertiesBlock_0</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_0</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_1</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_1</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_13</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_13</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_3</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_3</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_4</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_4</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_5</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_5</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_7</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_7</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_8</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_8</strong></code>
</p>
<hr>
<h2>OutputPropertiesBlock_9</h2>
<p>
<code>public static  java.lang.String <strong>OutputPropertiesBlock_9</strong></code>
</p>
<hr>
<h2>OutputTab_0</h2>
<p>
<code>public static  java.lang.String <strong>OutputTab_0</strong></code>
</p>
<hr>
<h2>OutputTab_1</h2>
<p>
<code>public static  java.lang.String <strong>OutputTab_1</strong></code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
<br>
            Class OutputFileBlock</h2>
<br>
<hr>
<pre>public class <strong>OutputFileBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OUTPUT_METHOD_DEFAULT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OUTPUT_METHOD_HTML</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OUTPUT_METHOD_TEXT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OUTPUT_METHOD_XHTML</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>OUTPUT_METHOD_XML</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String[]</code></td><td width="80%" align="left"><code>OUTPUT_METHODS</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OutputFileBlock</strong>()</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>protected void</code></td><td width="" align="left"><code>createButtons(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createContents(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getMessage(int type)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setDefaultResource()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>OUTPUT_METHOD_DEFAULT</h2>
<p>
<code>public static  java.lang.String <strong>OUTPUT_METHOD_DEFAULT</strong></code>
</p>
<hr>
<h2>OUTPUT_METHOD_HTML</h2>
<p>
<code>public static  java.lang.String <strong>OUTPUT_METHOD_HTML</strong></code>
</p>
<hr>
<h2>OUTPUT_METHOD_TEXT</h2>
<p>
<code>public static  java.lang.String <strong>OUTPUT_METHOD_TEXT</strong></code>
</p>
<hr>
<h2>OUTPUT_METHOD_XHTML</h2>
<p>
<code>public static  java.lang.String <strong>OUTPUT_METHOD_XHTML</strong></code>
</p>
<hr>
<h2>OUTPUT_METHOD_XML</h2>
<p>
<code>public static  java.lang.String <strong>OUTPUT_METHOD_XML</strong></code>
</p>
<hr>
<h2>OUTPUT_METHODS</h2>
<p>
<code>public static  java.lang.String[] <strong>OUTPUT_METHODS</strong></code>
</p>
<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>OutputFileBlock</h2>
<p>
<code>public <strong>OutputFileBlock</strong>()</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>createButtons</h2>
<p>
<code>protected void <strong>createButtons</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>createContents</h2>
<p>
<code>protected void <strong>createContents</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getMessage</h2>
<p>
<code>protected java.lang.String <strong>getMessage</strong>(int type)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>type</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaultResource</h2>
<p>
<code>protected void <strong>setDefaultResource</strong>()</code>
</p>
<p></p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
<br>
            Class OutputPropertiesBlock</h2>
<br>
<hr>
<pre>public class <strong>OutputPropertiesBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OutputPropertiesBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab main)</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</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>OutputPropertiesBlock</h2>
<p>
<code>public <strong>OutputPropertiesBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab main)</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.output</strong></font>
<br>
            Class OutputTab</h2>
<br>
<hr>
<pre>public class <strong>OutputTab</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OutputTab</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab main)</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage()</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>getName()</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>OutputTab</h2>
<p>
<code>public <strong>OutputTab</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab main)</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class FeaturesBlock</h2>
<br>
<hr>
<pre>public class <strong>FeaturesBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>FeaturesBlock</strong>()</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogSettings()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getQualifier()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Table</code></td><td width="" align="left"><code>getTable()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setProcessorType(org.eclipse.wst.xsl.launching.IProcessorType processorType)</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>FeaturesBlock</h2>
<p>
<code>public <strong>FeaturesBlock</strong>()</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getDialogSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getQualifier</h2>
<p>
<code>protected java.lang.String <strong>getQualifier</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getTable</h2>
<p>
<code>protected org.eclipse.swt.widgets.Table <strong>getTable</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Table</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setProcessorType</h2>
<p>
<code>protected void <strong>setProcessorType</strong>(org.eclipse.wst.xsl.launching.IProcessorType processorType)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>processorType</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class InstallStandin</h2>
<br>
<hr>
<pre>public class <strong>InstallStandin</strong>
extends org.eclipse.wst.xsl.launching.ProcessorInstall</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>InstallStandin</strong>(org.eclipse.wst.xsl.launching.IProcessorInstall install)</code></td>
</tr>
<tr>
<td><code><strong>InstallStandin</strong>(java.lang.String id
         ,
      java.lang.String name
         ,
      java.lang.String typeId
         ,
      java.lang.String debuggerId
         ,
      org.eclipse.wst.xsl.launching.IProcessorJar[] jars)</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>InstallStandin</h2>
<p>
<code>public <strong>InstallStandin</strong>(org.eclipse.wst.xsl.launching.IProcessorInstall install)</code>
</p>
<p></p>
<hr>
<h2>InstallStandin</h2>
<p>
<code>public <strong>InstallStandin</strong>(java.lang.String id
         ,
      java.lang.String name
         ,
      java.lang.String typeId
         ,
      java.lang.String debuggerId
         ,
      org.eclipse.wst.xsl.launching.IProcessorJar[] jars)</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class JarContentProvider</h2>
<br>
<hr>
<pre>public class <strong>JarContentProvider</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>JarContentProvider</strong>()</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code>getElements(java.lang.Object inputElement)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>inputChanged(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</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>JarContentProvider</h2>
<p>
<code>public <strong>JarContentProvider</strong>()</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getElements</h2>
<p>
<code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputElement</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object[]</code>
</p>
<hr>
<h2>inputChanged</h2>
<p>
<code>public void <strong>inputChanged</strong>(Viewer viewer
         ,
      java.lang.Object oldInput
         ,
      java.lang.Object newInput)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>viewer</code>
</p>
<p>
<code>oldInput</code>
</p>
<p>
<code>newInput</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class JarLabelProvider</h2>
<br>
<hr>
<pre>public class <strong>JarLabelProvider</strong>
extends LabelProvider</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>JarLabelProvider</strong>()</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>getText(java.lang.Object element)</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>JarLabelProvider</h2>
<p>
<code>public <strong>JarLabelProvider</strong>()</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>getText</h2>
<p>
<code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>element</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class ProcessorBlock</h2>
<br>
<hr>
<pre>public class <strong>ProcessorBlock</strong>
extends AbstractLaunchConfigurationTab</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.FeaturesBlock featuresBlock)</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</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>ProcessorBlock</h2>
<p>
<code>public <strong>ProcessorBlock</strong>(org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.FeaturesBlock featuresBlock)</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class ProcessorDescriptor</h2>
<br>
<hr>
<pre>public class <strong>ProcessorDescriptor</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorDescriptor</strong>()</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>getDescription()</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>ProcessorDescriptor</h2>
<p>
<code>public <strong>ProcessorDescriptor</strong>()</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>getDescription</h2>
<p>
<code>public java.lang.String <strong>getDescription</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class ProcessorDetailsDialog</h2>
<br>
<hr>
<pre>public class <strong>ProcessorDetailsDialog</strong>
extends Dialog</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorDetailsDialog</strong>(org.eclipse.swt.widgets.Shell shell
         ,
      org.eclipse.wst.xsl.launching.IProcessorInstall install)</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>protected void</code></td><td width="" align="left"><code>configureShell(org.eclipse.swt.widgets.Shell newShell)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>createButtonsForButtonBar(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.eclipse.swt.widgets.Control</code></td><td width="" align="left"><code>createDialogArea(org.eclipse.swt.widgets.Composite ancestor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code>getDialogBoundsSettings()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getDialogSettingsSectionName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the name of the section that this dialog stores its settings in</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>ProcessorDetailsDialog</h2>
<p>
<code>public <strong>ProcessorDetailsDialog</strong>(org.eclipse.swt.widgets.Shell shell
         ,
      org.eclipse.wst.xsl.launching.IProcessorInstall install)</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>configureShell</h2>
<p>
<code>protected void <strong>configureShell</strong>(org.eclipse.swt.widgets.Shell newShell)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>newShell</code>
</p>
<hr>
<h2>createButtonsForButtonBar</h2>
<p>
<code>protected void <strong>createButtonsForButtonBar</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>createDialogArea</h2>
<p>
<code>protected org.eclipse.swt.widgets.Control <strong>createDialogArea</strong>(org.eclipse.swt.widgets.Composite ancestor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>ancestor</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.widgets.Control</code>
</p>
<hr>
<h2>getDialogBoundsSettings</h2>
<p>
<code>protected IDialogSettings <strong>getDialogBoundsSettings</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IDialogSettings</code>
</p>
<hr>
<h2>getDialogSettingsSectionName</h2>
<p>
<code>protected java.lang.String <strong>getDialogSettingsSectionName</strong>()</code>
</p>
<p>Returns the name of the section that this dialog stores its settings in</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - String</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class ProcessorMessages</h2>
<br>
<hr>
<pre>public class <strong>ProcessorMessages</strong>
extends NLS</pre>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_7</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_Add_Title</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_duplicateName</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_Edit_Title</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_enterName</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_features</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_jars</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_Processor_name_must_be_a_valid_file_name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_processorName</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>AddProcessorDialog_processorType</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InputFileBlock_WORKSPACE_DIALOG_TITLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_2</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_3</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_4</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_5</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_6</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_7</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>InstalledProcessorsBlock_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorBlock_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorBlock_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorBlock_2</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorBlock_4</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorBlock_6</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorBlock_7</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorDetailsDialog_installClasspath</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorDetailsDialog_installName</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorDetailsDialog_installType</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorDetailsDialog_Title</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorLibraryBlock_6</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorLibraryBlock_AddButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorLibraryBlock_AddWorkspaceButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorLibraryBlock_FileDialog_Title</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorLibraryBlock_RemoveButton</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorLibraryBlock_WorkspaceFileDialog_Message</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorLibraryBlock_WorkspaceFileDialog_Title</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorsComboBlock</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorsComboBlock_0</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorsComboBlock_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>ProcessorsUpdater</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>SpecificProcessor</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_3</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_5</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_6</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_8</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_DEFAULT_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_DIRECTORY_DOES_NOT_EXIST</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_DIRECTORY_NOT_SPECIFIED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_FILE_SYSTEM_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_OTHER_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_VARIABLES_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_WORKSPACE_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_WORKSPACE_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>URIResolverBlock_WORKSPACE_DIALOG_TITLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_1</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_2</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_3</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_DEFAULT_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_DIRECTORY_DOES_NOT_EXIST</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_DIRECTORY_NOT_SPECIFIED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_FILE_SYSTEM_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_OTHER_RADIO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_VARIABLES_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_WORKSPACE_BUTTON</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_WORKSPACE_DIALOG_MESSAGE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>WorkingDirectoryBlock_WORKSPACE_DIALOG_TITLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorMessages</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>AddProcessorDialog_1</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_1</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_7</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_7</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_Add_Title</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_Add_Title</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_duplicateName</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_duplicateName</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_Edit_Title</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_Edit_Title</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_enterName</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_enterName</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_features</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_features</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_jars</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_jars</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_Processor_name_must_be_a_valid_file_name</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_Processor_name_must_be_a_valid_file_name</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_processorName</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_processorName</strong></code>
</p>
<hr>
<h2>AddProcessorDialog_processorType</h2>
<p>
<code>public static  java.lang.String <strong>AddProcessorDialog_processorType</strong></code>
</p>
<hr>
<h2>InputFileBlock_WORKSPACE_DIALOG_TITLE</h2>
<p>
<code>public static  java.lang.String <strong>InputFileBlock_WORKSPACE_DIALOG_TITLE</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_0</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_0</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_1</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_1</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_2</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_2</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_3</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_3</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_4</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_4</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_5</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_5</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_6</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_6</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_7</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_7</strong></code>
</p>
<hr>
<h2>InstalledProcessorsBlock_8</h2>
<p>
<code>public static  java.lang.String <strong>InstalledProcessorsBlock_8</strong></code>
</p>
<hr>
<h2>ProcessorBlock_0</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorBlock_0</strong></code>
</p>
<hr>
<h2>ProcessorBlock_1</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorBlock_1</strong></code>
</p>
<hr>
<h2>ProcessorBlock_2</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorBlock_2</strong></code>
</p>
<hr>
<h2>ProcessorBlock_4</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorBlock_4</strong></code>
</p>
<hr>
<h2>ProcessorBlock_6</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorBlock_6</strong></code>
</p>
<hr>
<h2>ProcessorBlock_7</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorBlock_7</strong></code>
</p>
<hr>
<h2>ProcessorDetailsDialog_installClasspath</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorDetailsDialog_installClasspath</strong></code>
</p>
<hr>
<h2>ProcessorDetailsDialog_installName</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorDetailsDialog_installName</strong></code>
</p>
<hr>
<h2>ProcessorDetailsDialog_installType</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorDetailsDialog_installType</strong></code>
</p>
<hr>
<h2>ProcessorDetailsDialog_Title</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorDetailsDialog_Title</strong></code>
</p>
<hr>
<h2>ProcessorLibraryBlock_6</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorLibraryBlock_6</strong></code>
</p>
<hr>
<h2>ProcessorLibraryBlock_AddButton</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorLibraryBlock_AddButton</strong></code>
</p>
<hr>
<h2>ProcessorLibraryBlock_AddWorkspaceButton</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorLibraryBlock_AddWorkspaceButton</strong></code>
</p>
<hr>
<h2>ProcessorLibraryBlock_FileDialog_Title</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorLibraryBlock_FileDialog_Title</strong></code>
</p>
<hr>
<h2>ProcessorLibraryBlock_RemoveButton</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorLibraryBlock_RemoveButton</strong></code>
</p>
<hr>
<h2>ProcessorLibraryBlock_WorkspaceFileDialog_Message</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorLibraryBlock_WorkspaceFileDialog_Message</strong></code>
</p>
<hr>
<h2>ProcessorLibraryBlock_WorkspaceFileDialog_Title</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorLibraryBlock_WorkspaceFileDialog_Title</strong></code>
</p>
<hr>
<h2>ProcessorsComboBlock</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorsComboBlock</strong></code>
</p>
<hr>
<h2>ProcessorsComboBlock_0</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorsComboBlock_0</strong></code>
</p>
<hr>
<h2>ProcessorsComboBlock_1</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorsComboBlock_1</strong></code>
</p>
<hr>
<h2>ProcessorsUpdater</h2>
<p>
<code>public static  java.lang.String <strong>ProcessorsUpdater</strong></code>
</p>
<hr>
<h2>SpecificProcessor</h2>
<p>
<code>public static  java.lang.String <strong>SpecificProcessor</strong></code>
</p>
<hr>
<h2>URIResolverBlock_3</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_3</strong></code>
</p>
<hr>
<h2>URIResolverBlock_5</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_5</strong></code>
</p>
<hr>
<h2>URIResolverBlock_6</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_6</strong></code>
</p>
<hr>
<h2>URIResolverBlock_8</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_8</strong></code>
</p>
<hr>
<h2>URIResolverBlock_DEFAULT_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_DEFAULT_RADIO</strong></code>
</p>
<hr>
<h2>URIResolverBlock_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>URIResolverBlock_DIRECTORY_DOES_NOT_EXIST</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_DIRECTORY_DOES_NOT_EXIST</strong></code>
</p>
<hr>
<h2>URIResolverBlock_DIRECTORY_NOT_SPECIFIED</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_DIRECTORY_NOT_SPECIFIED</strong></code>
</p>
<hr>
<h2>URIResolverBlock_FILE_SYSTEM_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_FILE_SYSTEM_BUTTON</strong></code>
</p>
<hr>
<h2>URIResolverBlock_OTHER_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_OTHER_RADIO</strong></code>
</p>
<hr>
<h2>URIResolverBlock_VARIABLES_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_VARIABLES_BUTTON</strong></code>
</p>
<hr>
<h2>URIResolverBlock_WORKSPACE_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_WORKSPACE_BUTTON</strong></code>
</p>
<hr>
<h2>URIResolverBlock_WORKSPACE_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_WORKSPACE_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>URIResolverBlock_WORKSPACE_DIALOG_TITLE</h2>
<p>
<code>public static  java.lang.String <strong>URIResolverBlock_WORKSPACE_DIALOG_TITLE</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_1</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_1</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_2</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_2</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_3</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_3</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_DEFAULT_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_DEFAULT_RADIO</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_DIRECTORY_DOES_NOT_EXIST</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_DIRECTORY_DOES_NOT_EXIST</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_DIRECTORY_NOT_SPECIFIED</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_DIRECTORY_NOT_SPECIFIED</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_FILE_SYSTEM_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_FILE_SYSTEM_BUTTON</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_OTHER_RADIO</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_OTHER_RADIO</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_VARIABLES_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_VARIABLES_BUTTON</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_WORKSPACE_BUTTON</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_WORKSPACE_BUTTON</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_WORKSPACE_DIALOG_MESSAGE</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_WORKSPACE_DIALOG_MESSAGE</strong></code>
</p>
<hr>
<h2>WorkingDirectoryBlock_WORKSPACE_DIALOG_TITLE</h2>
<p>
<code>public static  java.lang.String <strong>WorkingDirectoryBlock_WORKSPACE_DIALOG_TITLE</strong></code>
</p>
<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>ProcessorMessages</h2>
<p>
<code>public <strong>ProcessorMessages</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.processor</strong></font>
<br>
            Class XSLProcessorTab</h2>
<br>
<hr>
<pre>public class <strong>XSLProcessorTab</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLProcessorTab</strong>()</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.swt.graphics.Image</code></td><td width="" align="left"><code>getImage()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</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>XSLProcessorTab</h2>
<p>
<code>public <strong>XSLProcessorTab</strong>()</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p></p>
<hr>
<h2>getImage</h2>
<p>
<code>public org.eclipse.swt.graphics.Image <strong>getImage</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.swt.graphics.Image</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
<br>
            Class URIResolverBlock</h2>
<br>
<hr>
<pre>public class <strong>URIResolverBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>URIResolverBlock</strong>()</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>protected void</code></td><td width="" align="left"><code>createCheckboxAndText(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getMessage(int type)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setDefaultResource()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy config)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateEnablement(boolean useDefault)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateResourceText(boolean useDefault)</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>URIResolverBlock</h2>
<p>
<code>public <strong>URIResolverBlock</strong>()</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>createCheckboxAndText</h2>
<p>
<code>protected void <strong>createCheckboxAndText</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getMessage</h2>
<p>
<code>protected java.lang.String <strong>getMessage</strong>(int type)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>type</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaultResource</h2>
<p>
<code>protected void <strong>setDefaultResource</strong>()</code>
</p>
<p></p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy config)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>config</code>
</p>
<hr>
<h2>updateEnablement</h2>
<p>
<code>protected void <strong>updateEnablement</strong>(boolean useDefault)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>useDefault</code>
</p>
<hr>
<h2>updateResourceText</h2>
<p>
<code>protected void <strong>updateResourceText</strong>(boolean useDefault)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>useDefault</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
<br>
            Class URIResolverBlock2</h2>
<br>
<hr>
<pre>public class <strong>URIResolverBlock2</strong>
extends AbstractLaunchConfigurationTab</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>URIResolverBlock2</strong>()</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 void</code></td><td width="" align="left"><code>createControl(org.eclipse.swt.widgets.Composite parent)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isValid(ILaunchConfiguration launchConfig)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</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>URIResolverBlock2</h2>
<p>
<code>public <strong>URIResolverBlock2</strong>()</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>createControl</h2>
<p>
<code>public void <strong>createControl</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>isValid</h2>
<p>
<code>public boolean <strong>isValid</strong>(ILaunchConfiguration launchConfig)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>launchConfig</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver</strong></font>
<br>
            Class WorkingDirectoryBlock</h2>
<br>
<hr>
<pre>public class <strong>WorkingDirectoryBlock</strong>
extends org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>WorkingDirectoryBlock</strong>()</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>protected void</code></td><td width="" align="left"><code>createCheckboxAndText(org.eclipse.swt.widgets.Composite parent)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code>getMessage(int type)</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>initializeFrom(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isValid(ILaunchConfiguration config)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>performApply(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>setDefaultResource()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaults(ILaunchConfigurationWorkingCopy configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>updateDefaultWorkingDir()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>updateResourceText(boolean useDefault)</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>WorkingDirectoryBlock</h2>
<p>
<code>public <strong>WorkingDirectoryBlock</strong>()</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>createCheckboxAndText</h2>
<p>
<code>protected void <strong>createCheckboxAndText</strong>(org.eclipse.swt.widgets.Composite parent)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<hr>
<h2>getMessage</h2>
<p>
<code>protected java.lang.String <strong>getMessage</strong>(int type)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>type</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>initializeFrom</h2>
<p>
<code>public void <strong>initializeFrom</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>isValid</h2>
<p>
<code>public boolean <strong>isValid</strong>(ILaunchConfiguration config)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>config</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>performApply</h2>
<p>
<code>public void <strong>performApply</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>setDefaultResource</h2>
<p>
<code>protected void <strong>setDefaultResource</strong>()</code>
</p>
<p></p>
<hr>
<h2>setDefaults</h2>
<p>
<code>public void <strong>setDefaults</strong>(ILaunchConfigurationWorkingCopy configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<hr>
<h2>updateDefaultWorkingDir</h2>
<p>
<code>public void <strong>updateDefaultWorkingDir</strong>()</code>
</p>
<p></p>
<hr>
<h2>updateResourceText</h2>
<p>
<code>protected void <strong>updateResourceText</strong>(boolean useDefault)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>useDefault</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debugger</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debugger</strong></font>
<br>
            Class AbstractDebugger</h2>
<br>
<hr>
<pre>public class <strong>AbstractDebugger</strong>
extends java.lang.Object</pre>An implementation of <code>IXSLDebugger</code>.
 
 This class can be subclassed in order to provide debugging for a particular XSLT processor.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>AbstractDebugger</strong>()</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 void</code></td><td width="" align="left"><code>addBreakpoint(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>checkStopped()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Check whether the debugger has been stopped and perform the appropriate action if so.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>checkSuspended(org.eclipse.wst.xsl.debugger.StyleFrame styleFrame
         ,
      org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Check whether the debugger is currently suspended or stepping at the given breakpoint and style frame, 
 and perform the appropriate action if so.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>debuggerStarted()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code>debuggerStopped()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>debuggerTransformStarted()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Called when the next transform in the pipeline has begun.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.debugger.StyleFrame</code></td><td width="" align="left"><code>peekStyleFrame()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Peek a style frame from the stack.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.debugger.StyleFrame</code></td><td width="" align="left"><code>popStyleFrame()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Pop a style frame from the stack.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>pushStyleFrame(org.eclipse.wst.xsl.debugger.StyleFrame styleFrame)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Push a style frame onto the stack.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>quit()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeBreakpoint(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>resume()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>run()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setEventWriter(java.io.Writer writer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setInvoker(org.eclipse.wst.xsl.invoker.IProcessorInvoker invoker)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setSource(java.net.URL sourceURL)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setTarget(javax.xml.transform.Result res)</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>stack()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stepInto()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stepOver()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stepReturn()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>suspend()</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>AbstractDebugger</h2>
<p>
<code>public <strong>AbstractDebugger</strong>()</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>addBreakpoint</h2>
<p>
<code>public void <strong>addBreakpoint</strong>(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>breakpoint</code>
</p>
<hr>
<h2>checkStopped</h2>
<p>
<code>public void <strong>checkStopped</strong>()</code>
</p>
<p>Check whether the debugger has been stopped and perform the appropriate action if so.</p>
<hr>
<h2>checkSuspended</h2>
<p>
<code>public void <strong>checkSuspended</strong>(org.eclipse.wst.xsl.debugger.StyleFrame styleFrame
         ,
      org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
</p>
<p>Check whether the debugger is currently suspended or stepping at the given breakpoint and style frame, 
 and perform the appropriate action if so.</p>
<h3>Parameters</h3>
<p>
<code>styleFrame</code> - the styleframe to check</p>
<p>
<code>breakpoint</code> - the current location</p>
<hr>
<h2>debuggerStarted</h2>
<p>
<code>protected void <strong>debuggerStarted</strong>()</code>
</p>
<p></p>
<hr>
<h2>debuggerStopped</h2>
<p>
<code>protected void <strong>debuggerStopped</strong>()</code>
</p>
<p></p>
<hr>
<h2>debuggerTransformStarted</h2>
<p>
<code>public void <strong>debuggerTransformStarted</strong>()</code>
</p>
<p>Called when the next transform in the pipeline has begun.</p>
<hr>
<h2>peekStyleFrame</h2>
<p>
<code>public org.eclipse.wst.xsl.debugger.StyleFrame <strong>peekStyleFrame</strong>()</code>
</p>
<p>Peek a style frame from the stack.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.debugger.StyleFrame</code> - the peeked style frame</p>
<hr>
<h2>popStyleFrame</h2>
<p>
<code>public org.eclipse.wst.xsl.debugger.StyleFrame <strong>popStyleFrame</strong>()</code>
</p>
<p>Pop a style frame from the stack.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.debugger.StyleFrame</code> - the popped style frame</p>
<hr>
<h2>pushStyleFrame</h2>
<p>
<code>public void <strong>pushStyleFrame</strong>(org.eclipse.wst.xsl.debugger.StyleFrame styleFrame)</code>
</p>
<p>Push a style frame onto the stack.</p>
<h3>Parameters</h3>
<p>
<code>styleFrame</code>
</p>
<hr>
<h2>quit</h2>
<p>
<code>public void <strong>quit</strong>()</code>
</p>
<p></p>
<hr>
<h2>removeBreakpoint</h2>
<p>
<code>public void <strong>removeBreakpoint</strong>(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>breakpoint</code>
</p>
<hr>
<h2>resume</h2>
<p>
<code>public void <strong>resume</strong>()</code>
</p>
<p></p>
<hr>
<h2>run</h2>
<p>
<code>public void <strong>run</strong>()</code>
</p>
<p></p>
<hr>
<h2>setEventWriter</h2>
<p>
<code>public void <strong>setEventWriter</strong>(java.io.Writer writer)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>writer</code>
</p>
<hr>
<h2>setInvoker</h2>
<p>
<code>public void <strong>setInvoker</strong>(org.eclipse.wst.xsl.invoker.IProcessorInvoker invoker)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>invoker</code>
</p>
<hr>
<h2>setSource</h2>
<p>
<code>public void <strong>setSource</strong>(java.net.URL sourceURL)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>sourceURL</code>
</p>
<hr>
<h2>setTarget</h2>
<p>
<code>public void <strong>setTarget</strong>(javax.xml.transform.Result res)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>res</code>
</p>
<hr>
<h2>stack</h2>
<p>
<code>public java.lang.String <strong>stack</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>stepInto</h2>
<p>
<code>public void <strong>stepInto</strong>()</code>
</p>
<p></p>
<hr>
<h2>stepOver</h2>
<p>
<code>public void <strong>stepOver</strong>()</code>
</p>
<p></p>
<hr>
<h2>stepReturn</h2>
<p>
<code>public void <strong>stepReturn</strong>()</code>
</p>
<p></p>
<hr>
<h2>suspend</h2>
<p>
<code>public void <strong>suspend</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debugger</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debugger</strong></font>
<br>
            Class BreakPoint</h2>
<br>
<hr>
<pre>public class <strong>BreakPoint</strong>
extends java.lang.Object</pre>A line number in a file.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>BreakPoint</strong>(java.lang.String file
         ,
      int line)</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 boolean</code></td><td width="" align="left"><code>equals(java.lang.Object obj)</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>getFile()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the file location.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getLine()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the line number</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>hashCode()</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>toString()</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>BreakPoint</h2>
<p>
<code>public <strong>BreakPoint</strong>(java.lang.String file
         ,
      int line)</code>
</p>
<p>Construct a new instance of this for the given file and line number.</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>equals</h2>
<p>
<code>public boolean <strong>equals</strong>(java.lang.Object obj)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>obj</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>getFile</h2>
<p>
<code>public java.lang.String <strong>getFile</strong>()</code>
</p>
<p>Get the file location.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the file</p>
<hr>
<h2>getLine</h2>
<p>
<code>public int <strong>getLine</strong>()</code>
</p>
<p>Get the line number</p>
<h3>Returns</h3>
<p>
<code>int</code> - the line number</p>
<hr>
<h2>hashCode</h2>
<p>
<code>public int <strong>hashCode</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debugger</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debugger</strong></font>
<br>
            Class DebugConstants</h2>
<br>
<hr>
<pre>public class <strong>DebugConstants</strong>
extends java.lang.Object</pre>Constants used by the debugger.
 
 <p>
 Note that class is loaded both on the Eclipse classpath and the 
 launched transformation process, such that they can use exactly the same constants
 for communication.
 </p><p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_ADD_BREAKPOINT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to signify addition of a breakpoint.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_REMOVE_BREAKPOINT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to signify removal of a breakpoint.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_RESUME</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to signify resume.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_STACK</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to request the stack.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_START</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to notify the debugger to start.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_STEP_INTO</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to signify step into.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_STEP_OVER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to signify step over.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_STEP_RETURN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to signify step return.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_SUSPEND</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to signify suspension.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_VALUE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to request a variable value.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>REQUEST_VARIABLE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant used to request a variable.</td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>DebugConstants</strong>()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>REQUEST_ADD_BREAKPOINT</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_ADD_BREAKPOINT</strong></code>
</p>
<table>
<tr>
<td>The constant used to signify addition of a breakpoint.</td>
</tr>
</table>
<hr>
<h2>REQUEST_REMOVE_BREAKPOINT</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_REMOVE_BREAKPOINT</strong></code>
</p>
<table>
<tr>
<td>The constant used to signify removal of a breakpoint.</td>
</tr>
</table>
<hr>
<h2>REQUEST_RESUME</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_RESUME</strong></code>
</p>
<table>
<tr>
<td>The constant used to signify resume.</td>
</tr>
</table>
<hr>
<h2>REQUEST_STACK</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_STACK</strong></code>
</p>
<table>
<tr>
<td>The constant used to request the stack.</td>
</tr>
</table>
<hr>
<h2>REQUEST_START</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_START</strong></code>
</p>
<table>
<tr>
<td>The constant used to notify the debugger to start.</td>
</tr>
</table>
<hr>
<h2>REQUEST_STEP_INTO</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_STEP_INTO</strong></code>
</p>
<table>
<tr>
<td>The constant used to signify step into.</td>
</tr>
</table>
<hr>
<h2>REQUEST_STEP_OVER</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_STEP_OVER</strong></code>
</p>
<table>
<tr>
<td>The constant used to signify step over.</td>
</tr>
</table>
<hr>
<h2>REQUEST_STEP_RETURN</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_STEP_RETURN</strong></code>
</p>
<table>
<tr>
<td>The constant used to signify step return.</td>
</tr>
</table>
<hr>
<h2>REQUEST_SUSPEND</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_SUSPEND</strong></code>
</p>
<table>
<tr>
<td>The constant used to signify suspension.</td>
</tr>
</table>
<hr>
<h2>REQUEST_VALUE</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_VALUE</strong></code>
</p>
<table>
<tr>
<td>The constant used to request a variable value.</td>
</tr>
</table>
<hr>
<h2>REQUEST_VARIABLE</h2>
<p>
<code>public static  java.lang.String <strong>REQUEST_VARIABLE</strong></code>
</p>
<table>
<tr>
<td>The constant used to request a variable.</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>DebugConstants</h2>
<p>
<code>public <strong>DebugConstants</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debugger</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debugger</strong></font>
<br>
            Class DebugRunner</h2>
<br>
<hr>
<pre>public class <strong>DebugRunner</strong>
extends java.lang.Object</pre>The entry point to the debug process which is responsible for configuring a debugger 
 and then communicating with the Eclipse process via sockets using a common set of commands.
 
 <ul>
 <li>instantiates an implementation of <code>IXSLDebugger</code>
 <li>configures the debugger with the transformation pipeline
 <li>starts the debugger in a separate thread
 <li>the main thread is then used to listen to incoming requests and call the appropriate debugger methods
 </ul><p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>DebugRunner</strong>(java.io.BufferedReader requestIn
         ,
      java.io.PrintWriter requestOut
         ,
      java.io.PrintWriter eventOut)</code></td>
</tr>
<tr>
<td><code><strong>DebugRunner</strong>(int requestPort
         ,
      int eventPort)</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 void</code></td><td width="" align="left"><code>dispose()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Dispose of this - close all open sockets.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>loop(org.eclipse.wst.xsl.debugger.IXSLDebugger debugger)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               This method starts the given debugger in its own thread, and blocks while waiting 
 for incoming requests from the request port, until there are no more requests.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>main(java.lang.String[] args)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Expected arguments:
 
 <ol>
 <li>the class name of the invoker
 <li>the file name of the XML launch configuration file
 <li>the URL of the source document
 <li>the file of the output document
 <li>not used (anything)
 <li>the class name of the <code>IXSLDebugger</code> instance
 <li>the port used for requests
 <li>the port used for debug events
 </ol></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>DebugRunner</h2>
<p>
<code>public <strong>DebugRunner</strong>(java.io.BufferedReader requestIn
         ,
      java.io.PrintWriter requestOut
         ,
      java.io.PrintWriter eventOut)</code>
</p>
<p>Create a new instance of this using the supplied readers and writers.</p>
<hr>
<h2>DebugRunner</h2>
<p>
<code>public <strong>DebugRunner</strong>(int requestPort
         ,
      int eventPort)</code>
</p>
<p>Create a new instance of this given a request port and an event port.</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>dispose</h2>
<p>
<code>public void <strong>dispose</strong>()</code>
</p>
<p>Dispose of this - close all open sockets.</p>
<hr>
<h2>loop</h2>
<p>
<code>public void <strong>loop</strong>(org.eclipse.wst.xsl.debugger.IXSLDebugger debugger)</code>
</p>
<p>This method starts the given debugger in its own thread, and blocks while waiting 
 for incoming requests from the request port, until there are no more requests.</p>
<h3>Parameters</h3>
<p>
<code>debugger</code> - the debugger to start in a thread</p>
<h3>Throws:</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.TransformationException - if a problem occurred while transforming</code>
</p>
<hr>
<h2>main</h2>
<p>
<code>public void <strong>main</strong>(java.lang.String[] args)</code>
</p>
<p>Expected arguments:
 
 <ol>
 <li>the class name of the invoker
 <li>the file name of the XML launch configuration file
 <li>the URL of the source document
 <li>the file of the output document
 <li>not used (anything)
 <li>the class name of the <code>IXSLDebugger</code> instance
 <li>the port used for requests
 <li>the port used for debug events
 </ol></p>
<h3>Parameters</h3>
<p>
<code>args</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debugger</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debugger</strong></font>
<br>
            Class IXSLDebugger</h2>
<br>
<hr>
<pre>public class <strong>IXSLDebugger</strong>
extends </pre>An interface to XSL debugger instances.<p></p>
<hr>
<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 void</code></td><td width="" align="left"><code>addBreakpoint(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a breakpoint to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addTransformer(javax.xml.transform.Transformer transformer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a transformer to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.debugger.Variable</code></td><td width="" align="left"><code>getVariable(int id)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the variable with the given id.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>quit()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Quit debugging.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeBreakpoint(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Remove a breakpoint from this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>resume()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Perform a 'resume' operation.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setEventWriter(java.io.Writer writer)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the Writer for this to write events to.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setInvoker(org.eclipse.wst.xsl.invoker.IProcessorInvoker invoker)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the invoker to use.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setSource(java.net.URL sourceURL)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the URL of the transformation source file.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setTarget(javax.xml.transform.Result res)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the transformation Result.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setTransformerFactory(javax.xml.transform.TransformerFactory factory)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the transformer factory to use.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>stack()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Generate a string that represents the current call stack of frames and their variables.
 <p>
 Frames are generated with the following format: <i>file</i>|<i>frameId</i>|<i>lineNumber</i>|<i>name</i>
 This is immediately followed with the id's of the frame's variables (each variable id being unique for the whole process).
 </p>
 <p>
 The separator for frames is $$$. Within a frame, the separator for variable id's is |.
 </p>
 <p>
 e.g. file:/tran1.xsl|1|12|xsl:template name="temp1"|1|2|3$$$file:/tran2.xsl|2|34|xsl:template name="temp2"|4|5|6
 
 This defines 2 frames with id's 1 and 2, which are occur in files tran1.xsl and tran2.xsl respectively.
 Frame 1 is currently at line 12, in a template with name temp1, and it defines 3 variables with id's 1, 2 and 3. 
 </p></td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stepInto()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Perform a 'step into' operation.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stepOver()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Perform a 'step over' operation.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stepReturn()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Perform a 'step return' operation.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>suspend()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Perform a 'suspend' operation.</td>
</tr>
</table>
<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>addBreakpoint</h2>
<p>
<code>public void <strong>addBreakpoint</strong>(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
</p>
<p>Add a breakpoint to this.</p>
<h3>Parameters</h3>
<p>
<code>breakpoint</code>
</p>
<hr>
<h2>addTransformer</h2>
<p>
<code>public void <strong>addTransformer</strong>(javax.xml.transform.Transformer transformer)</code>
</p>
<p>Add a transformer to this.</p>
<h3>Parameters</h3>
<p>
<code>transformer</code>
</p>
<hr>
<h2>getVariable</h2>
<p>
<code>public org.eclipse.wst.xsl.debugger.Variable <strong>getVariable</strong>(int id)</code>
</p>
<p>Get the variable with the given id.</p>
<h3>Parameters</h3>
<p>
<code>id</code> - the id of the variable</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.debugger.Variable</code> - the variable</p>
<hr>
<h2>quit</h2>
<p>
<code>public void <strong>quit</strong>()</code>
</p>
<p>Quit debugging.</p>
<hr>
<h2>removeBreakpoint</h2>
<p>
<code>public void <strong>removeBreakpoint</strong>(org.eclipse.wst.xsl.debugger.BreakPoint breakpoint)</code>
</p>
<p>Remove a breakpoint from this.</p>
<h3>Parameters</h3>
<p>
<code>breakpoint</code>
</p>
<hr>
<h2>resume</h2>
<p>
<code>public void <strong>resume</strong>()</code>
</p>
<p>Perform a 'resume' operation.</p>
<hr>
<h2>setEventWriter</h2>
<p>
<code>public void <strong>setEventWriter</strong>(java.io.Writer writer)</code>
</p>
<p>Set the Writer for this to write events to.</p>
<h3>Parameters</h3>
<p>
<code>writer</code> - the writer to write events to</p>
<hr>
<h2>setInvoker</h2>
<p>
<code>public void <strong>setInvoker</strong>(org.eclipse.wst.xsl.invoker.IProcessorInvoker invoker)</code>
</p>
<p>Set the invoker to use.</p>
<h3>Parameters</h3>
<p>
<code>invoker</code> - the invoker to set</p>
<hr>
<h2>setSource</h2>
<p>
<code>public void <strong>setSource</strong>(java.net.URL sourceURL)</code>
</p>
<p>Set the URL of the transformation source file.</p>
<h3>Parameters</h3>
<p>
<code>sourceURL</code> - the source URL</p>
<hr>
<h2>setTarget</h2>
<p>
<code>public void <strong>setTarget</strong>(javax.xml.transform.Result res)</code>
</p>
<p>Set the transformation Result.</p>
<h3>Parameters</h3>
<p>
<code>res</code> - the result</p>
<hr>
<h2>setTransformerFactory</h2>
<p>
<code>public void <strong>setTransformerFactory</strong>(javax.xml.transform.TransformerFactory factory)</code>
</p>
<p>Set the transformer factory to use.</p>
<h3>Parameters</h3>
<p>
<code>factory</code> - the factory to use</p>
<hr>
<h2>stack</h2>
<p>
<code>public java.lang.String <strong>stack</strong>()</code>
</p>
<p>Generate a string that represents the current call stack of frames and their variables.
 <p>
 Frames are generated with the following format: <i>file</i>|<i>frameId</i>|<i>lineNumber</i>|<i>name</i>
 This is immediately followed with the id's of the frame's variables (each variable id being unique for the whole process).
 </p>
 <p>
 The separator for frames is $$$. Within a frame, the separator for variable id's is |.
 </p>
 <p>
 e.g. file:/tran1.xsl|1|12|xsl:template name="temp1"|1|2|3$$$file:/tran2.xsl|2|34|xsl:template name="temp2"|4|5|6
 
 This defines 2 frames with id's 1 and 2, which are occur in files tran1.xsl and tran2.xsl respectively.
 Frame 1 is currently at line 12, in a template with name temp1, and it defines 3 variables with id's 1, 2 and 3. 
 </p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the generated string</p>
<hr>
<h2>stepInto</h2>
<p>
<code>public void <strong>stepInto</strong>()</code>
</p>
<p>Perform a 'step into' operation.</p>
<hr>
<h2>stepOver</h2>
<p>
<code>public void <strong>stepOver</strong>()</code>
</p>
<p>Perform a 'step over' operation.</p>
<hr>
<h2>stepReturn</h2>
<p>
<code>public void <strong>stepReturn</strong>()</code>
</p>
<p>Perform a 'step return' operation.</p>
<hr>
<h2>suspend</h2>
<p>
<code>public void <strong>suspend</strong>()</code>
</p>
<p>Perform a 'suspend' operation.</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debugger</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debugger</strong></font>
<br>
            Class StyleFrame</h2>
<br>
<hr>
<pre>public class <strong>StyleFrame</strong>
extends java.lang.Object</pre>An <code>xsl:template</code> that forms part of the call stack.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>StyleFrame</strong>(org.eclipse.wst.xsl.debugger.StyleFrame parent)</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 void</code></td><td width="" align="left"><code>addChild(org.eclipse.wst.xsl.debugger.StyleFrame child)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a child frame to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getChildren()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the children of this</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getCurrentLine()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the line number at which the frame is currently located.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getFilename()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the file in which this frame is found.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getId()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               A unique id for this frame</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the name of this frame.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.debugger.StyleFrame</code></td><td width="" align="left"><code>getParent()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the parent of this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getVariableStack()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get a list of <code>Variables</code>'s</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeChild(org.eclipse.wst.xsl.debugger.StyleFrame child)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Remove a child frame from this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>toString()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Creates a string in the format <i>file</i>|<i>frameId</i>|<i>lineNumber</i>|<i>name</i>.
 Since pipe is used as a separator, the name has any pipe (|) characters replaced with the literal '%@_PIPE_@%'</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>StyleFrame</h2>
<p>
<code>public <strong>StyleFrame</strong>(org.eclipse.wst.xsl.debugger.StyleFrame parent)</code>
</p>
<p>Create a new instance of this using the given frame as its parent (may be null if this is the root frame).</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>addChild</h2>
<p>
<code>public void <strong>addChild</strong>(org.eclipse.wst.xsl.debugger.StyleFrame child)</code>
</p>
<p>Add a child frame to this.</p>
<h3>Parameters</h3>
<p>
<code>child</code> - the frame to add</p>
<hr>
<h2>getChildren</h2>
<p>
<code>public java.util.List <strong>getChildren</strong>()</code>
</p>
<p>Get the children of this</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - a list of <code>StyleFrame</code>'s</p>
<hr>
<h2>getCurrentLine</h2>
<p>
<code>public int <strong>getCurrentLine</strong>()</code>
</p>
<p>Get the line number at which the frame is currently located.</p>
<h3>Returns</h3>
<p>
<code>int</code> - the line number at which this is held</p>
<hr>
<h2>getFilename</h2>
<p>
<code>public java.lang.String <strong>getFilename</strong>()</code>
</p>
<p>Get the file in which this frame is found.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the filename for this</p>
<hr>
<h2>getId</h2>
<p>
<code>public int <strong>getId</strong>()</code>
</p>
<p>A unique id for this frame</p>
<h3>Returns</h3>
<p>
<code>int</code> - a unique id for this frame</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p>Get the name of this frame.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the name of this</p>
<hr>
<h2>getParent</h2>
<p>
<code>public org.eclipse.wst.xsl.debugger.StyleFrame <strong>getParent</strong>()</code>
</p>
<p>Get the parent of this.</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.debugger.StyleFrame</code> - the parent frame</p>
<hr>
<h2>getVariableStack</h2>
<p>
<code>public java.util.List <strong>getVariableStack</strong>()</code>
</p>
<p>Get a list of <code>Variables</code>'s</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of variables for this frame</p>
<hr>
<h2>removeChild</h2>
<p>
<code>public void <strong>removeChild</strong>(org.eclipse.wst.xsl.debugger.StyleFrame child)</code>
</p>
<p>Remove a child frame from this.</p>
<h3>Parameters</h3>
<p>
<code>child</code> - the frame to remove</p>
<hr>
<h2>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p>Creates a string in the format <i>file</i>|<i>frameId</i>|<i>lineNumber</i>|<i>name</i>.
 Since pipe is used as a separator, the name has any pipe (|) characters replaced with the literal '%@_PIPE_@%'</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.debugger</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.debugger</strong></font>
<br>
            Class Variable</h2>
<br>
<hr>
<pre>public class <strong>Variable</strong>
extends java.lang.Object</pre>An abstract class that XSL processor implementations can subclass for their variables.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>BOOLEAN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>GLOBAL_SCOPE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant denoting a global scope variable.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>LOCAL_SCOPE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant denoting a local scope variable.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  int</code></td><td width="80%" align="left"><code>MAXIMUM_VALUE_SIZE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code>name</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>NODESET</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>NUMBER</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>OBJECT</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code>scope</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code>slotNumber</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>STRING</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>TUNNEL_SCOPE</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The constant denoting a tunnel scope variable.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>UNKNOWN</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code>UNRESOLVED</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Variable</strong>(java.lang.String name
         ,
      java.lang.String scope
         ,
      int slotNumber)</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 boolean</code></td><td width="" align="left"><code>equals(java.lang.Object obj)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getId()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the id used for this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the variable name.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getScope()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the scope of this variable - one of <code>LOCAL_SCOPE</code>, <code>TUNNEL_SCOPE</code> or <code>GLOBAL_SCOPE</code>.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>getSlotNumber()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the slot number for this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getType()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the type of this variable e.g. string, or node</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getValue()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the current value of this variable as a String.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getValueFirstLine()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the first line of the value truncating to <code>MAXIMUM_VALUE_SIZE</code> where necessary.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code>hashCode()</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>BOOLEAN</h2>
<p>
<code>protected static  java.lang.String <strong>BOOLEAN</strong></code>
</p>
<hr>
<h2>GLOBAL_SCOPE</h2>
<p>
<code>public static  java.lang.String <strong>GLOBAL_SCOPE</strong></code>
</p>
<table>
<tr>
<td>The constant denoting a global scope variable.</td>
</tr>
</table>
<hr>
<h2>LOCAL_SCOPE</h2>
<p>
<code>public static  java.lang.String <strong>LOCAL_SCOPE</strong></code>
</p>
<table>
<tr>
<td>The constant denoting a local scope variable.</td>
</tr>
</table>
<hr>
<h2>MAXIMUM_VALUE_SIZE</h2>
<p>
<code>protected static  int <strong>MAXIMUM_VALUE_SIZE</strong></code>
</p>
<hr>
<h2>name</h2>
<p>
<code>protected java.lang.String <strong>name</strong></code>
</p>
<hr>
<h2>NODESET</h2>
<p>
<code>protected static  java.lang.String <strong>NODESET</strong></code>
</p>
<hr>
<h2>NUMBER</h2>
<p>
<code>protected static  java.lang.String <strong>NUMBER</strong></code>
</p>
<hr>
<h2>OBJECT</h2>
<p>
<code>protected static  java.lang.String <strong>OBJECT</strong></code>
</p>
<hr>
<h2>scope</h2>
<p>
<code>protected java.lang.String <strong>scope</strong></code>
</p>
<hr>
<h2>slotNumber</h2>
<p>
<code>protected int <strong>slotNumber</strong></code>
</p>
<hr>
<h2>STRING</h2>
<p>
<code>protected static  java.lang.String <strong>STRING</strong></code>
</p>
<hr>
<h2>TUNNEL_SCOPE</h2>
<p>
<code>public static  java.lang.String <strong>TUNNEL_SCOPE</strong></code>
</p>
<table>
<tr>
<td>The constant denoting a tunnel scope variable.</td>
</tr>
</table>
<hr>
<h2>UNKNOWN</h2>
<p>
<code>protected static  java.lang.String <strong>UNKNOWN</strong></code>
</p>
<hr>
<h2>UNRESOLVED</h2>
<p>
<code>protected static  java.lang.String <strong>UNRESOLVED</strong></code>
</p>
<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>Variable</h2>
<p>
<code>public <strong>Variable</strong>(java.lang.String name
         ,
      java.lang.String scope
         ,
      int slotNumber)</code>
</p>
<p>Create a new instance of this with the given name, scope and slot number.</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>equals</h2>
<p>
<code>public boolean <strong>equals</strong>(java.lang.Object obj)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>obj</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<h2>getId</h2>
<p>
<code>public int <strong>getId</strong>()</code>
</p>
<p>Get the id used for this.</p>
<h3>Returns</h3>
<p>
<code>int</code> - the variable id</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p>Get the variable name.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the variable name</p>
<hr>
<h2>getScope</h2>
<p>
<code>public java.lang.String <strong>getScope</strong>()</code>
</p>
<p>Get the scope of this variable - one of <code>LOCAL_SCOPE</code>, <code>TUNNEL_SCOPE</code> or <code>GLOBAL_SCOPE</code>.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the variable scope</p>
<hr>
<h2>getSlotNumber</h2>
<p>
<code>public int <strong>getSlotNumber</strong>()</code>
</p>
<p>Get the slot number for this.</p>
<h3>Returns</h3>
<p>
<code>int</code> - the slot number</p>
<hr>
<h2>getType</h2>
<p>
<code>public java.lang.String <strong>getType</strong>()</code>
</p>
<p>Get the type of this variable e.g. string, or node</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the variable type</p>
<hr>
<h2>getValue</h2>
<p>
<code>public java.lang.String <strong>getValue</strong>()</code>
</p>
<p>Get the current value of this variable as a String.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the value of this</p>
<hr>
<h2>getValueFirstLine</h2>
<p>
<code>public java.lang.String <strong>getValueFirstLine</strong>()</code>
</p>
<p>Get the first line of the value truncating to <code>MAXIMUM_VALUE_SIZE</code> where necessary.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the first line of the value</p>
<hr>
<h2>hashCode</h2>
<p>
<code>public int <strong>hashCode</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<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 ConfigurationException</h2>
<br>
<hr>
<pre>public class <strong>ConfigurationException</strong>
extends java.lang.Exception</pre>An exception thrown when configuration of an XSL transform pipeline fails.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ConfigurationException</strong>(java.lang.String msg
         ,
      java.lang.Throwable t)</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>ConfigurationException</h2>
<p>
<code>public <strong>ConfigurationException</strong>(java.lang.String msg
         ,
      java.lang.Throwable t)</code>
</p>
<p>Create the exception.</p>
<hr>
<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 IProcessorInvoker</h2>
<br>
<hr>
<pre>public class <strong>IProcessorInvoker</strong>
extends </pre>Interface used by the launched process to define the XSL transformation pipeline.
 The <code>setFeatures</code> and <code>addStylesheet</code> methods should be called
 before calling <code>transform</code> to do the actual transformation.
 
 <p>
 If <code>addStylesheet</code> is not called before <code>transform</code>, then
 it is assumed that the source document contains and embedded stylesheet instruction.
 </p><p></p>
<hr>
<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 void</code></td><td width="" align="left"><code>addStylesheet(java.net.URL stylesheet
         ,
      java.util.Map parameters
         ,
      java.util.Properties outputProperties
         ,
      javax.xml.transform.URIResolver resolver)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a stylesheet to the pipeline (order is important).</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setFeatures(java.util.Map features)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the processor-specific features to use.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>transform(java.net.URL source
         ,
      javax.xml.transform.Result res)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Perform the actual transformation.</td>
</tr>
</table>
<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>addStylesheet</h2>
<p>
<code>public void <strong>addStylesheet</strong>(java.net.URL stylesheet
         ,
      java.util.Map parameters
         ,
      java.util.Properties outputProperties
         ,
      javax.xml.transform.URIResolver resolver)</code>
</p>
<p>Add a stylesheet to the pipeline (order is important).</p>
<h3>Parameters</h3>
<p>
<code>stylesheet</code> - the URL of the stylesheet to add</p>
<p>
<code>parameters</code> - the map of parameters for the stylesheet</p>
<p>
<code>outputProperties</code> - the output properties</p>
<p>
<code>resolver</code> - the <code>URIResolver</code> to use</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerConfigurationException - if stylesheet could not be added</code>
</p>
<hr>
<h2>setFeatures</h2>
<p>
<code>public void <strong>setFeatures</strong>(java.util.Map features)</code>
</p>
<p>Set the processor-specific features to use.</p>
<h3>Parameters</h3>
<p>
<code>features</code> - a map of String v. String features</p>
<hr>
<h2>transform</h2>
<p>
<code>public void <strong>transform</strong>(java.net.URL source
         ,
      javax.xml.transform.Result res)</code>
</p>
<p>Perform the actual transformation.</p>
<h3>Parameters</h3>
<p>
<code>source</code> - the URL of the XML source document</p>
<p>
<code>res</code> - the transformation result</p>
<h3>Throws:</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.TransformationException - if the transformation failed</code>
</p>
<hr>
<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 JAXPSAXProcessorInvoker</h2>
<br>
<hr>
<pre>public class <strong>JAXPSAXProcessorInvoker</strong>
extends java.lang.Object</pre>An implementation of <code>IProcessorInvoker</code> that uses JAXP as the underlying
 transformation mechanism.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>JAXPSAXProcessorInvoker</strong>()</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 void</code></td><td width="" align="left"><code>addStylesheet(java.net.URL stylesheet
         ,
      java.util.Map parameters
         ,
      java.util.Properties outputProperties
         ,
      javax.xml.transform.URIResolver resolver)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected javax.xml.transform.Transformer</code></td><td width="" align="left"><code>addStylesheet(javax.xml.transform.Source source
         ,
      javax.xml.transform.URIResolver resolver
         ,
      java.util.Map parameters
         ,
      java.util.Properties outputProperties)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected org.xml.sax.XMLReader</code></td><td width="" align="left"><code>createReader()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>protected javax.xml.transform.TransformerFactory</code></td><td width="" align="left"><code>createTransformerFactory()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setFeatures(java.util.Map features)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>transform(java.net.URL sourceURL
         ,
      javax.xml.transform.Result res)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>transform(org.xml.sax.InputSource inputsource
         ,
      javax.xml.transform.Result res)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Transform using an InputSource rather than a URL</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>JAXPSAXProcessorInvoker</h2>
<p>
<code>public <strong>JAXPSAXProcessorInvoker</strong>()</code>
</p>
<p>Create a new instance of this.</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>addStylesheet</h2>
<p>
<code>public void <strong>addStylesheet</strong>(java.net.URL stylesheet
         ,
      java.util.Map parameters
         ,
      java.util.Properties outputProperties
         ,
      javax.xml.transform.URIResolver resolver)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>stylesheet</code>
</p>
<p>
<code>parameters</code>
</p>
<p>
<code>outputProperties</code>
</p>
<p>
<code>resolver</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerConfigurationException</code>
</p>
<hr>
<h2>addStylesheet</h2>
<p>
<code>protected javax.xml.transform.Transformer <strong>addStylesheet</strong>(javax.xml.transform.Source source
         ,
      javax.xml.transform.URIResolver resolver
         ,
      java.util.Map parameters
         ,
      java.util.Properties outputProperties)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>source</code>
</p>
<p>
<code>resolver</code>
</p>
<p>
<code>parameters</code>
</p>
<p>
<code>outputProperties</code>
</p>
<h3>Returns</h3>
<p>
<code>javax.xml.transform.Transformer</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerConfigurationException</code>
</p>
<hr>
<h2>createReader</h2>
<p>
<code>protected org.xml.sax.XMLReader <strong>createReader</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.xml.sax.XMLReader</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.xml.sax.SAXException</code>
</p>
<p>
<code>javax.xml.parsers.ParserConfigurationException</code>
</p>
<hr>
<h2>createTransformerFactory</h2>
<p>
<code>protected javax.xml.transform.TransformerFactory <strong>createTransformerFactory</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>javax.xml.transform.TransformerFactory</code>
</p>
<hr>
<h2>setFeatures</h2>
<p>
<code>public void <strong>setFeatures</strong>(java.util.Map features)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>features</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.transform.TransformerFactoryConfigurationError</code>
</p>
<hr>
<h2>transform</h2>
<p>
<code>public void <strong>transform</strong>(java.net.URL sourceURL
         ,
      javax.xml.transform.Result res)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>sourceURL</code>
</p>
<p>
<code>res</code>
</p>
<h3>Throws:</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.TransformationException</code>
</p>
<hr>
<h2>transform</h2>
<p>
<code>public void <strong>transform</strong>(org.xml.sax.InputSource inputsource
         ,
      javax.xml.transform.Result res)</code>
</p>
<p>Transform using an InputSource rather than a URL</p>
<h3>Parameters</h3>
<p>
<code>inputsource</code> - the InputSource to use</p>
<p>
<code>res</code> - the Result</p>
<h3>Throws:</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.TransformationException - if an error occurred during transformation</code>
</p>
<hr>
<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 Main</h2>
<br>
<hr>
<pre>public class <strong>Main</strong>
extends java.lang.Object</pre>The class whose <code>main</code> method is called when launching the transformation process from
 Eclipse.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Main</strong>()</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 static void</code></td><td width="" align="left"><code>main(java.lang.String[] args)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The <code>main</code> method called when launching the transformation process.
 There are 4 required arguments:
 <ol>
 <li>The class name of the <code>IProcessorInvoker</code> to use
 <li>The launch file (serialized <code>PipelineDefinition</code>)
 <li>The URL of the source XML document
 <li>The file where output will be written
 </ol></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>Main</h2>
<p>
<code>public <strong>Main</strong>()</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>main</h2>
<p>
<code>public void <strong>main</strong>(java.lang.String[] args)</code>
</p>
<p>The <code>main</code> method called when launching the transformation process.
 There are 4 required arguments:
 <ol>
 <li>The class name of the <code>IProcessorInvoker</code> to use
 <li>The launch file (serialized <code>PipelineDefinition</code>)
 <li>The URL of the source XML document
 <li>The file where output will be written
 </ol></p>
<h3>Parameters</h3>
<p>
<code>args</code> - the 4 required arguments</p>
<hr>
<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 Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>Messages for the transformation.<p></p>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get a message for the given key.</td>
</tr>
</table>
<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>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p>Get a message for the given key.</p>
<h3>Parameters</h3>
<p>
<code>key</code> - the message key</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the message</p>
<hr>
<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>TransformationException</strong>(java.lang.String message)</code></td>
</tr>
<tr>
<td><code><strong>TransformationException</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>TransformationException</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>TransformationException</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>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.invoker.config</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.invoker.config</strong></font>
<br>
            Class CreationException</h2>
<br>
<hr>
<pre>public class <strong>CreationException</strong>
extends java.lang.Exception</pre>Checked Exception for object creation 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>CreationException</strong>(java.lang.String message)</code></td>
</tr>
<tr>
<td><code><strong>CreationException</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>CreationException</h2>
<p>
<code>public <strong>CreationException</strong>(java.lang.String message)</code>
</p>
<p>Create a new instance of this with the given message.</p>
<hr>
<h2>CreationException</h2>
<p>
<code>public <strong>CreationException</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>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.invoker.config</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.invoker.config</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>Messages for the configuration.<p></p>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get a message for the given key.</td>
</tr>
</table>
<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>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p>Get a message for the given key.</p>
<h3>Parameters</h3>
<p>
<code>key</code> - the message key</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the message</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.invoker.config</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.invoker.config</strong></font>
<br>
            Class PipelineDefinition</h2>
<br>
<hr>
<pre>public class <strong>PipelineDefinition</strong>
extends java.lang.Object</pre>The definition of the transformation pipeline.
 <p>
 This class is loaded on both the Eclipse classpath and the transformation process's classpath.
 The whole definition is serialized to an XML document by the Eclipse launcher, and is then 
 read by the transformation process when launched.
 </p><p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>PipelineDefinition</strong>()</code></td>
</tr>
<tr>
<td><code><strong>PipelineDefinition</strong>(java.io.File launchFile)</code></td>
</tr>
<tr>
<td><code><strong>PipelineDefinition</strong>(org.w3c.dom.Document doc)</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 void</code></td><td width="" align="left"><code>addFeature(org.eclipse.wst.xsl.invoker.config.TypedValue feature)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a feature to this configuration</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>addTransformDef(org.eclipse.wst.xsl.invoker.config.TransformDefinition tdef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a transform definition to this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>configure(org.eclipse.wst.xsl.invoker.IProcessorInvoker invoker)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Configure the invoker from this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code>getFeatures()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the set of features defined.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getTransformDefs()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of <code>TransformDefinition</code>'s.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeFeature(org.eclipse.wst.xsl.invoker.config.TypedValue feature)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Remove a feature from the set of features</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeTransformDef(org.eclipse.wst.xsl.invoker.config.TransformDefinition tdef)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Remove a transform definition from this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setUseEmbedded(boolean embedded)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set whether to use an XSL declaration embedded in the XML file</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code>toXML()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Serialize this to a DOM Document.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>useEmbedded()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get whether to use an XSL declaration embedded in the XML file</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>PipelineDefinition</h2>
<p>
<code>public <strong>PipelineDefinition</strong>()</code>
</p>
<p>Create a new empty instance of this.</p>
<hr>
<h2>PipelineDefinition</h2>
<p>
<code>public <strong>PipelineDefinition</strong>(java.io.File launchFile)</code>
</p>
<p>Create a new instance of this by reading the specified XML file.</p>
<hr>
<h2>PipelineDefinition</h2>
<p>
<code>public <strong>PipelineDefinition</strong>(org.w3c.dom.Document doc)</code>
</p>
<p>Create a new instance of this from the specified document</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>addFeature</h2>
<p>
<code>public void <strong>addFeature</strong>(org.eclipse.wst.xsl.invoker.config.TypedValue feature)</code>
</p>
<p>Add a feature to this configuration</p>
<h3>Parameters</h3>
<p>
<code>feature</code> - the feature to add</p>
<hr>
<h2>addTransformDef</h2>
<p>
<code>public void <strong>addTransformDef</strong>(org.eclipse.wst.xsl.invoker.config.TransformDefinition tdef)</code>
</p>
<p>Add a transform definition to this.</p>
<h3>Parameters</h3>
<p>
<code>tdef</code> - the transform definition to add</p>
<hr>
<h2>configure</h2>
<p>
<code>public void <strong>configure</strong>(org.eclipse.wst.xsl.invoker.IProcessorInvoker invoker)</code>
</p>
<p>Configure the invoker from this.</p>
<h3>Parameters</h3>
<p>
<code>invoker</code> - the invoker to configure</p>
<h3>Throws:</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.ConfigurationException - if an exception occurs during configuration</code>
</p>
<hr>
<h2>getFeatures</h2>
<p>
<code>public java.util.Set <strong>getFeatures</strong>()</code>
</p>
<p>Get the set of features defined.</p>
<h3>Returns</h3>
<p>
<code>java.util.Set</code> - the set of features</p>
<hr>
<h2>getTransformDefs</h2>
<p>
<code>public java.util.List <strong>getTransformDefs</strong>()</code>
</p>
<p>Get the list of <code>TransformDefinition</code>'s.</p>
<h3>Returns</h3>
<p>
<code>java.util.List</code> - the list of transform definitions</p>
<hr>
<h2>removeFeature</h2>
<p>
<code>public void <strong>removeFeature</strong>(org.eclipse.wst.xsl.invoker.config.TypedValue feature)</code>
</p>
<p>Remove a feature from the set of features</p>
<h3>Parameters</h3>
<p>
<code>feature</code> - the feature to remove</p>
<hr>
<h2>removeTransformDef</h2>
<p>
<code>public void <strong>removeTransformDef</strong>(org.eclipse.wst.xsl.invoker.config.TransformDefinition tdef)</code>
</p>
<p>Remove a transform definition from this.</p>
<h3>Parameters</h3>
<p>
<code>tdef</code> - the transform definition to remove</p>
<hr>
<h2>setUseEmbedded</h2>
<p>
<code>public void <strong>setUseEmbedded</strong>(boolean embedded)</code>
</p>
<p>Set whether to use an XSL declaration embedded in the XML file</p>
<h3>Parameters</h3>
<p>
<code>embedded</code> - true to use embedded</p>
<hr>
<h2>toXML</h2>
<p>
<code>public org.w3c.dom.Document <strong>toXML</strong>()</code>
</p>
<p>Serialize this to a DOM Document.</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Document</code> - the serialized document</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.parsers.ParserConfigurationException - if a problem occurs during serialization</code>
</p>
<hr>
<h2>useEmbedded</h2>
<p>
<code>public boolean <strong>useEmbedded</strong>()</code>
</p>
<p>Get whether to use an XSL declaration embedded in the XML file</p>
<h3>Returns</h3>
<p>
<code>boolean</code> - true if embedded</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.invoker.config</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.invoker.config</strong></font>
<br>
            Class TransformDefinition</h2>
<br>
<hr>
<pre>public class <strong>TransformDefinition</strong>
extends java.lang.Object</pre>A definition of a particular step in the transformation pipeline.<p></p>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>TransformDefinition</strong>()</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 void</code></td><td width="" align="left"><code>addParameter(org.eclipse.wst.xsl.invoker.config.TypedValue parameter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add a parameter to the set of parameters</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.w3c.dom.Element</code></td><td width="" align="left"><code>asXML(org.w3c.dom.Document doc)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Serialize this to a Document fragment.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.wst.xsl.invoker.config.TransformDefinition</code></td><td width="" align="left"><code>fromXML(org.w3c.dom.Element transformEl)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Create a new instance of this from its serialized form.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Properties</code></td><td width="" align="left"><code>getOutputProperties()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the output properties for this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code>getParameters()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The set of parameters</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code>getParametersAsMap()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the parameters as a map of name (<code>String</code>) v. value <code>TypedValue</code>.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getResolverClass()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the name of the <code>URIResolver</code> class to use.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code>getStylesheetURL()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the URL of the stylesheet.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeOutputProperty(java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Remove an output property.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>removeParameter(org.eclipse.wst.xsl.invoker.config.TypedValue parameter)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Remove a parameter.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setOutputProperties(java.util.Properties outputProperties)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the output properties for this.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setOutputProperty(java.lang.String name
         ,
      java.lang.String value)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the value of a specific output property.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setResolverClass(java.lang.String resolver)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the name of the <code>URIResolver</code> class to use.</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setStylesheetURL(java.lang.String stylesheet)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the URL of the stylesheet.</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>TransformDefinition</h2>
<p>
<code>public <strong>TransformDefinition</strong>()</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>addParameter</h2>
<p>
<code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.invoker.config.TypedValue parameter)</code>
</p>
<p>Add a parameter to the set of parameters</p>
<h3>Parameters</h3>
<p>
<code>parameter</code> - the parameter to add</p>
<hr>
<h2>asXML</h2>
<p>
<code>public org.w3c.dom.Element <strong>asXML</strong>(org.w3c.dom.Document doc)</code>
</p>
<p>Serialize this to a Document fragment.</p>
<h3>Parameters</h3>
<p>
<code>doc</code> - the document to attach to</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Element</code> - the root element of the fragment</p>
<hr>
<h2>fromXML</h2>
<p>
<code>public org.eclipse.wst.xsl.invoker.config.TransformDefinition <strong>fromXML</strong>(org.w3c.dom.Element transformEl)</code>
</p>
<p>Create a new instance of this from its serialized form.</p>
<h3>Parameters</h3>
<p>
<code>transformEl</code> - the element to create this from</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.config.TransformDefinition</code> - a new instance of this</p>
<hr>
<h2>getOutputProperties</h2>
<p>
<code>public java.util.Properties <strong>getOutputProperties</strong>()</code>
</p>
<p>Get the output properties for this.</p>
<h3>Returns</h3>
<p>
<code>java.util.Properties</code> - the output properties</p>
<hr>
<h2>getParameters</h2>
<p>
<code>public java.util.Set <strong>getParameters</strong>()</code>
</p>
<p>The set of parameters</p>
<h3>Returns</h3>
<p>
<code>java.util.Set</code> - a set of <code>TypedValue</code>'s</p>
<hr>
<h2>getParametersAsMap</h2>
<p>
<code>public java.util.Map <strong>getParametersAsMap</strong>()</code>
</p>
<p>Get the parameters as a map of name (<code>String</code>) v. value <code>TypedValue</code>.</p>
<h3>Returns</h3>
<p>
<code>java.util.Map</code> - a map of names and values</p>
<h3>Throws:</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.config.CreationException - if an exception occurred during object creation</code>
</p>
<hr>
<h2>getResolverClass</h2>
<p>
<code>public java.lang.String <strong>getResolverClass</strong>()</code>
</p>
<p>Get the name of the <code>URIResolver</code> class to use.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the resolver's class name</p>
<hr>
<h2>getStylesheetURL</h2>
<p>
<code>public java.lang.String <strong>getStylesheetURL</strong>()</code>
</p>
<p>Get the URL of the stylesheet.</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code> - the stylesheet URL</p>
<hr>
<h2>removeOutputProperty</h2>
<p>
<code>public void <strong>removeOutputProperty</strong>(java.lang.String name)</code>
</p>
<p>Remove an output property.</p>
<h3>Parameters</h3>
<p>
<code>name</code> - the output property to remove</p>
<hr>
<h2>removeParameter</h2>
<p>
<code>public void <strong>removeParameter</strong>(org.eclipse.wst.xsl.invoker.config.TypedValue parameter)</code>
</p>
<p>Remove a parameter.</p>
<h3>Parameters</h3>
<p>
<code>parameter</code> - the parameter to remove</p>
<hr>
<h2>setOutputProperties</h2>
<p>
<code>public void <strong>setOutputProperties</strong>(java.util.Properties outputProperties)</code>
</p>
<p>Set the output properties for this.</p>
<h3>Parameters</h3>
<p>
<code>outputProperties</code> - the output properties to set</p>
<hr>
<h2>setOutputProperty</h2>
<p>
<code>public void <strong>setOutputProperty</strong>(java.lang.String name
         ,
      java.lang.String value)</code>
</p>
<p>Set the value of a specific output property.</p>
<h3>Parameters</h3>
<p>
<code>name</code> - the output property</p>
<p>
<code>value</code> - the value</p>
<hr>
<h2>setResolverClass</h2>
<p>
<code>public void <strong>setResolverClass</strong>(java.lang.String resolver)</code>
</p>
<p>Set the name of the <code>URIResolver</code> class to use.</p>
<h3>Parameters</h3>
<p>
<code>resolver</code> - the resolver's class name</p>
<hr>
<h2>setStylesheetURL</h2>
<p>
<code>public void <strong>setStylesheetURL</strong>(java.lang.String stylesheet)</code>
</p>
<p>Set the URL of the stylesheet.</p>
<h3>Parameters</h3>
<p>
<code>stylesheet</code> - the stylesheet URL</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.invoker.config</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.invoker.config</strong></font>
<br>
            Class TypedValue</h2>
<br>
<hr>
<pre>public class <strong>TypedValue</strong>
extends java.lang.Object</pre>A value that is to be instantiated from a particular type e.g. Double, Object.<p></p>
<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>type</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>uri</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code>value</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>TypedValue</strong>(java.lang.String uri
         ,
      java.lang.String type
         ,
      java.lang.String value)</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.Object</code></td><td width="" align="left"><code>createValue()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Create the type of object defined by this.</td>
</tr>
</table>
<hr>
<table cols="2" width="100%" border="1">
<tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left">
<td>
<h2>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>type</h2>
<p>
<code>package-private java.lang.String <strong>type</strong></code>
</p>
<hr>
<h2>uri</h2>
<p>
<code>package-private java.lang.String <strong>uri</strong></code>
</p>
<hr>
<h2>value</h2>
<p>
<code>package-private java.lang.String <strong>value</strong></code>
</p>
<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>TypedValue</h2>
<p>
<code>public <strong>TypedValue</strong>(java.lang.String uri
         ,
      java.lang.String type
         ,
      java.lang.String value)</code>
</p>
<p>Create a new instance of this from the given information.</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>createValue</h2>
<p>
<code>public java.lang.Object <strong>createValue</strong>()</code>
</p>
<p>Create the type of object defined by this.</p>
<h3>Returns</h3>
<p>
<code>java.lang.Object</code> - the value</p>
<h3>Throws:</h3>
<p>
<code>org.eclipse.wst.xsl.invoker.config.CreationException - if a problem occurred</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class DebuggerDescriptor</h2>
<br>
<hr>
<pre>public class <strong>DebuggerDescriptor</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>DebuggerDescriptor</strong>(java.lang.String id
         ,
      java.lang.String bundleId
         ,
      java.lang.String className
         ,
      java.lang.String[] classpath
         ,
      java.lang.String name
         ,
      java.lang.String processorTypeId)</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>getClassName()</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>getClassPath()</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>getId()</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>getName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.IProcessorType</code></td><td width="" align="left"><code>getProcessorType()</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>DebuggerDescriptor</h2>
<p>
<code>public <strong>DebuggerDescriptor</strong>(java.lang.String id
         ,
      java.lang.String bundleId
         ,
      java.lang.String className
         ,
      java.lang.String[] classpath
         ,
      java.lang.String name
         ,
      java.lang.String processorTypeId)</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>getClassName</h2>
<p>
<code>public java.lang.String <strong>getClassName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getClassPath</h2>
<p>
<code>public java.lang.String[] <strong>getClassPath</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<hr>
<h2>getId</h2>
<p>
<code>public java.lang.String <strong>getId</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getName</h2>
<p>
<code>public java.lang.String <strong>getName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getProcessorType</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.IProcessorType <strong>getProcessorType</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IProcessorType</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class Feature</h2>
<br>
<hr>
<pre>public class <strong>Feature</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Feature</strong>(java.lang.String uri
         ,
      java.lang.String type
         ,
      java.lang.String description)</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>compareTo(java.lang.Object o)</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>getDescription()</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>getType()</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>getURI()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IStatus</code></td><td width="" align="left"><code>validateValue(java.lang.String value)</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>Feature</h2>
<p>
<code>public <strong>Feature</strong>(java.lang.String uri
         ,
      java.lang.String type
         ,
      java.lang.String description)</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>compareTo</h2>
<p>
<code>public int <strong>compareTo</strong>(java.lang.Object o)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>o</code>
</p>
<h3>Returns</h3>
<p>
<code>int</code>
</p>
<hr>
<h2>getDescription</h2>
<p>
<code>public java.lang.String <strong>getDescription</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getType</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>getURI</h2>
<p>
<code>public java.lang.String <strong>getURI</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>validateValue</h2>
<p>
<code>public IStatus <strong>validateValue</strong>(java.lang.String value)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>value</code>
</p>
<h3>Returns</h3>
<p>
<code>IStatus</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class FeaturePreferences</h2>
<br>
<hr>
<pre>public class <strong>FeaturePreferences</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>FeaturePreferences</strong>()</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 static org.eclipse.wst.xsl.internal.launching.FeaturePreferences</code></td><td width="" align="left"><code>fromXML(java.io.InputStream inputStream)</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>getAsXML()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code>getFeaturesValues(java.lang.String typeId)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setTypeFeatures(java.util.Map typeFeatures)</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>FeaturePreferences</h2>
<p>
<code>public <strong>FeaturePreferences</strong>()</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>fromXML</h2>
<p>
<code>public org.eclipse.wst.xsl.internal.launching.FeaturePreferences <strong>fromXML</strong>(java.io.InputStream inputStream)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputStream</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.internal.launching.FeaturePreferences</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getAsXML</h2>
<p>
<code>public java.lang.String <strong>getAsXML</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.parsers.ParserConfigurationException</code>
</p>
<p>
<code>java.io.IOException</code>
</p>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>getFeaturesValues</h2>
<p>
<code>public java.util.Map <strong>getFeaturesValues</strong>(java.lang.String typeId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>typeId</code>
</p>
<h3>Returns</h3>
<p>
<code>java.util.Map</code>
</p>
<hr>
<h2>setTypeFeatures</h2>
<p>
<code>public void <strong>setTypeFeatures</strong>(java.util.Map typeFeatures)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>typeFeatures</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class LaunchingPlugin</h2>
<br>
<hr>
<pre>public class <strong>LaunchingPlugin</strong>
extends Plugin</pre>The activator class controls the plug-in life cycle<hr>
<table width="100%" border="1">
<tr cols="2" bgcolor="#CCCCFF">
<td colspan="2" width="100%">
<h2>Field Summary</h2>
</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code>PLUGIN_ID</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
</table>
<br>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>LaunchingPlugin</strong>()</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 static org.eclipse.wst.xsl.internal.launching.LaunchingPlugin</code></td><td width="" align="left"><code>getDefault()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns the shared instance</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code>log(java.lang.Exception e)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>start(BundleContext context)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>stop(BundleContext context)</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>
                  Field Detail
               </h2>
</td>
</tr>
</table>
<h2>PLUGIN_ID</h2>
<p>
<code>public static  java.lang.String <strong>PLUGIN_ID</strong></code>
</p>
<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>LaunchingPlugin</h2>
<p>
<code>public <strong>LaunchingPlugin</strong>()</code>
</p>
<p>The constructor</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>getDefault</h2>
<p>
<code>public org.eclipse.wst.xsl.internal.launching.LaunchingPlugin <strong>getDefault</strong>()</code>
</p>
<p>Returns the shared instance</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.internal.launching.LaunchingPlugin</code> - the shared instance</p>
<hr>
<h2>log</h2>
<p>
<code>public void <strong>log</strong>(java.lang.Exception e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<hr>
<h2>start</h2>
<p>
<code>public void <strong>start</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<h2>stop</h2>
<p>
<code>public void <strong>stop</strong>(BundleContext context)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>context</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.lang.Exception</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class Messages</h2>
<br>
<hr>
<pre>public class <strong>Messages</strong>
extends java.lang.Object</pre>
<hr>
<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 static java.lang.String</code></td><td width="" align="left"><code>getString(java.lang.String key)</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>
                  Methods Detail
               </h2>
</td>
</tr>
</table>
<h2>getString</h2>
<p>
<code>public java.lang.String <strong>getString</strong>(java.lang.String key)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>key</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class OutputProperty</h2>
<br>
<hr>
<pre>public class <strong>OutputProperty</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OutputProperty</strong>(java.lang.String key
         ,
      java.lang.String desc)</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>getDescription()</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>getURI()</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>OutputProperty</h2>
<p>
<code>public <strong>OutputProperty</strong>(java.lang.String key
         ,
      java.lang.String desc)</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>getDescription</h2>
<p>
<code>public java.lang.String <strong>getDescription</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getURI</h2>
<p>
<code>public java.lang.String <strong>getURI</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class OutputPropertyPreferences</h2>
<br>
<hr>
<pre>public class <strong>OutputPropertyPreferences</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>OutputPropertyPreferences</strong>()</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 static org.eclipse.wst.xsl.internal.launching.OutputPropertyPreferences</code></td><td width="" align="left"><code>fromXML(java.io.InputStream inputStream)</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>getAsXML()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Properties</code></td><td width="" align="left"><code>getOutputPropertyValues(java.lang.String typeId)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setOutputPropertyValues(java.lang.String typeId
         ,
      java.util.Properties properties)</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>OutputPropertyPreferences</h2>
<p>
<code>public <strong>OutputPropertyPreferences</strong>()</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>fromXML</h2>
<p>
<code>public org.eclipse.wst.xsl.internal.launching.OutputPropertyPreferences <strong>fromXML</strong>(java.io.InputStream inputStream)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputStream</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.internal.launching.OutputPropertyPreferences</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getAsXML</h2>
<p>
<code>public java.lang.String <strong>getAsXML</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.parsers.ParserConfigurationException</code>
</p>
<p>
<code>java.io.IOException</code>
</p>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>getOutputPropertyValues</h2>
<p>
<code>public java.util.Properties <strong>getOutputPropertyValues</strong>(java.lang.String typeId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>typeId</code>
</p>
<h3>Returns</h3>
<p>
<code>java.util.Properties</code>
</p>
<hr>
<h2>setOutputPropertyValues</h2>
<p>
<code>public void <strong>setOutputPropertyValues</strong>(java.lang.String typeId
         ,
      java.util.Properties properties)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>typeId</code>
</p>
<p>
<code>properties</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class PluginProcessorJar</h2>
<br>
<hr>
<pre>public class <strong>PluginProcessorJar</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>PluginProcessorJar</strong>(java.lang.String pluginId
         ,
      IPath path)</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.net.URL</code></td><td width="" align="left"><code>asURL()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IPath</code></td><td width="" align="left"><code>getPath()</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>toString()</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>PluginProcessorJar</h2>
<p>
<code>public <strong>PluginProcessorJar</strong>(java.lang.String pluginId
         ,
      IPath path)</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>asURL</h2>
<p>
<code>public java.net.URL <strong>asURL</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.net.URL</code>
</p>
<hr>
<h2>getPath</h2>
<p>
<code>public IPath <strong>getPath</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IPath</code>
</p>
<hr>
<h2>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class PreferenceInitializer</h2>
<br>
<hr>
<pre>public class <strong>PreferenceInitializer</strong>
extends AbstractPreferenceInitializer</pre>Class used to initialize default preference values.<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>PreferenceInitializer</strong>()</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 void</code></td><td width="" align="left"><code>initializeDefaultPreferences()</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>PreferenceInitializer</h2>
<p>
<code>public <strong>PreferenceInitializer</strong>()</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>initializeDefaultPreferences</h2>
<p>
<code>public void <strong>initializeDefaultPreferences</strong>()</code>
</p>
<p></p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class PreferenceUtil</h2>
<br>
<hr>
<pre>public class <strong>PreferenceUtil</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>PreferenceUtil</strong>()</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 static void</code></td><td width="" align="left"><code>createCoreException(java.lang.Throwable e)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.Element[]</code></td><td width="" align="left"><code>getChildElements(org.w3c.dom.Element parent
         ,
      java.lang.String name)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.Document</code></td><td width="" align="left"><code>getDocument()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.w3c.dom.Document</code></td><td width="" align="left"><code>getDocument(java.io.InputStream stream)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code>getNodeText(org.w3c.dom.Node node)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code>serializeDocument(org.w3c.dom.Document doc)</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>PreferenceUtil</h2>
<p>
<code>public <strong>PreferenceUtil</strong>()</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>createCoreException</h2>
<p>
<code>public void <strong>createCoreException</strong>(java.lang.Throwable e)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>e</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getChildElements</h2>
<p>
<code>public org.w3c.dom.Element[] <strong>getChildElements</strong>(org.w3c.dom.Element parent
         ,
      java.lang.String name)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>parent</code>
</p>
<p>
<code>name</code>
</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Element[]</code>
</p>
<hr>
<h2>getDocument</h2>
<p>
<code>public org.w3c.dom.Document <strong>getDocument</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Document</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.parsers.ParserConfigurationException</code>
</p>
<hr>
<h2>getDocument</h2>
<p>
<code>public org.w3c.dom.Document <strong>getDocument</strong>(java.io.InputStream stream)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>stream</code>
</p>
<h3>Returns</h3>
<p>
<code>org.w3c.dom.Document</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getNodeText</h2>
<p>
<code>public java.lang.String <strong>getNodeText</strong>(org.w3c.dom.Node node)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>node</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>serializeDocument</h2>
<p>
<code>public java.lang.String <strong>serializeDocument</strong>(org.w3c.dom.Document doc)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>doc</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>java.io.IOException</code>
</p>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class ProcessorInvokerDescriptor</h2>
<br>
<hr>
<pre>public class <strong>ProcessorInvokerDescriptor</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorInvokerDescriptor</strong>(java.lang.String id
         ,
      java.lang.String bundleId
         ,
      java.lang.String invokerClass
         ,
      java.lang.String[] classpath)</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 static java.lang.String[]</code></td><td width="" align="left"><code>createEntries(java.lang.String bundleId
         ,
      java.lang.String[] classpath)</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>getClasspathEntries()</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>getId()</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>getInvokerClassName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               The name of the class that implements IProcessorInvoker</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>ProcessorInvokerDescriptor</h2>
<p>
<code>public <strong>ProcessorInvokerDescriptor</strong>(java.lang.String id
         ,
      java.lang.String bundleId
         ,
      java.lang.String invokerClass
         ,
      java.lang.String[] classpath)</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>createEntries</h2>
<p>
<code>public java.lang.String[] <strong>createEntries</strong>(java.lang.String bundleId
         ,
      java.lang.String[] classpath)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>bundleId</code>
</p>
<p>
<code>classpath</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<hr>
<h2>getClasspathEntries</h2>
<p>
<code>public java.lang.String[] <strong>getClasspathEntries</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<hr>
<h2>getId</h2>
<p>
<code>public java.lang.String <strong>getId</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getInvokerClassName</h2>
<p>
<code>public java.lang.String <strong>getInvokerClassName</strong>()</code>
</p>
<p>The name of the class that implements IProcessorInvoker</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class ProcessorJar</h2>
<br>
<hr>
<pre>public class <strong>ProcessorJar</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorJar</strong>(IPath path)</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.net.URL</code></td><td width="" align="left"><code>asURL()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IPath</code></td><td width="" align="left"><code>getPath()</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>toString()</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>ProcessorJar</h2>
<p>
<code>public <strong>ProcessorJar</strong>(IPath path)</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>asURL</h2>
<p>
<code>public java.net.URL <strong>asURL</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.net.URL</code>
</p>
<hr>
<h2>getPath</h2>
<p>
<code>public IPath <strong>getPath</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>IPath</code>
</p>
<hr>
<h2>toString</h2>
<p>
<code>public java.lang.String <strong>toString</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class ProcessorPreferences</h2>
<br>
<hr>
<pre>public class <strong>ProcessorPreferences</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorPreferences</strong>()</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 static org.eclipse.wst.xsl.internal.launching.ProcessorPreferences</code></td><td width="" align="left"><code>fromXML(java.io.InputStream inputStream)</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>getAsXML()</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>getDefaultProcessorId()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code>getProcessors()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setDefaultProcessorId(java.lang.String defaultProcessorId)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>setProcessors(java.util.List processors)</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>ProcessorPreferences</h2>
<p>
<code>public <strong>ProcessorPreferences</strong>()</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>fromXML</h2>
<p>
<code>public org.eclipse.wst.xsl.internal.launching.ProcessorPreferences <strong>fromXML</strong>(java.io.InputStream inputStream)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>inputStream</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.internal.launching.ProcessorPreferences</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getAsXML</h2>
<p>
<code>public java.lang.String <strong>getAsXML</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>javax.xml.parsers.ParserConfigurationException</code>
</p>
<p>
<code>java.io.IOException</code>
</p>
<p>
<code>javax.xml.transform.TransformerException</code>
</p>
<hr>
<h2>getDefaultProcessorId</h2>
<p>
<code>public java.lang.String <strong>getDefaultProcessorId</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getProcessors</h2>
<p>
<code>public java.util.List <strong>getProcessors</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.List</code>
</p>
<hr>
<h2>setDefaultProcessorId</h2>
<p>
<code>public void <strong>setDefaultProcessorId</strong>(java.lang.String defaultProcessorId)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>defaultProcessorId</code>
</p>
<hr>
<h2>setProcessors</h2>
<p>
<code>public void <strong>setProcessors</strong>(java.util.List processors)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>processors</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class ProcessorType</h2>
<br>
<hr>
<pre>public class <strong>ProcessorType</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>ProcessorType</strong>(java.lang.String id
         ,
      java.lang.String name
         ,
      java.net.URL featurePropertiesURL
         ,
      java.net.URL outputPropertiesURL
         ,
      java.util.Map featureValues
         ,
      java.util.Properties outputPropertyValues
         ,
      java.lang.String transFactoryName)</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 org.eclipse.wst.xsl.launching.IFeature[]</code></td><td width="" align="left"><code>getFeatures()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code>getFeatureValues()</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>getId()</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>getLabel()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public org.eclipse.wst.xsl.launching.IOutputProperty[]</code></td><td width="" align="left"><code>getOutputProperties()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.util.Properties</code></td><td width="" align="left"><code>getOutputPropertyValues()</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>getTransformerFactoryName()</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>isJREDefault()</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>ProcessorType</h2>
<p>
<code>public <strong>ProcessorType</strong>(java.lang.String id
         ,
      java.lang.String name
         ,
      java.net.URL featurePropertiesURL
         ,
      java.net.URL outputPropertiesURL
         ,
      java.util.Map featureValues
         ,
      java.util.Properties outputPropertyValues
         ,
      java.lang.String transFactoryName)</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>getFeatures</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.IFeature[] <strong>getFeatures</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IFeature[]</code>
</p>
<hr>
<h2>getFeatureValues</h2>
<p>
<code>public java.util.Map <strong>getFeatureValues</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.Map</code>
</p>
<hr>
<h2>getId</h2>
<p>
<code>public java.lang.String <strong>getId</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getLabel</h2>
<p>
<code>public java.lang.String <strong>getLabel</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>getOutputProperties</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.IOutputProperty[] <strong>getOutputProperties</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IOutputProperty[]</code>
</p>
<hr>
<h2>getOutputPropertyValues</h2>
<p>
<code>public java.util.Properties <strong>getOutputPropertyValues</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.util.Properties</code>
</p>
<hr>
<h2>getTransformerFactoryName</h2>
<p>
<code>public java.lang.String <strong>getTransformerFactoryName</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<hr>
<h2>isJREDefault</h2>
<p>
<code>public boolean <strong>isJREDefault</strong>()</code>
</p>
<p></p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class Utils</h2>
<br>
<hr>
<pre>public class <strong>Utils</strong>
extends java.lang.Object</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>Utils</strong>()</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 static java.lang.String</code></td><td width="" align="left"><code>getFileLocation(java.lang.String bundleId
         ,
      java.lang.String path)</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>Utils</h2>
<p>
<code>public <strong>Utils</strong>()</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>getFileLocation</h2>
<p>
<code>public java.lang.String <strong>getFileLocation</strong>(java.lang.String bundleId
         ,
      java.lang.String path)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>bundleId</code>
</p>
<p>
<code>path</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class XSLPropertyTester</h2>
<br>
<hr>
<pre>public class <strong>XSLPropertyTester</strong>
extends PropertyTester</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLPropertyTester</strong>()</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 boolean</code></td><td width="" align="left"><code>test(java.lang.Object arg0
         ,
      java.lang.String arg1
         ,
      java.lang.Object[] arg2
         ,
      java.lang.Object arg3)</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>XSLPropertyTester</h2>
<p>
<code>public <strong>XSLPropertyTester</strong>()</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>test</h2>
<p>
<code>public boolean <strong>test</strong>(java.lang.Object arg0
         ,
      java.lang.String arg1
         ,
      java.lang.Object[] arg2
         ,
      java.lang.Object arg3)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>arg0</code>
</p>
<p>
<code>arg1</code>
</p>
<p>
<code>arg2</code>
</p>
<p>
<code>arg3</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<hr>
<p>
<font size="+1"><strong>Package org.eclipse.wst.xsl.internal.launching</strong></font>
</p>
<hr>
<h2>
<font size="-1"><strong>org.eclipse.wst.xsl.internal.launching</strong></font>
<br>
            Class XSLTLaunchConfigurationDelegate</h2>
<br>
<hr>
<pre>public class <strong>XSLTLaunchConfigurationDelegate</strong>
extends JavaLaunchDelegate</pre>
<hr>
<table width="100%" border="1">
<tr bgcolor="#CCCCFF">
<td width="100%">
<h2>Constructor Summary</h2>
</td>
</tr>
<tr>
<td><code><strong>XSLTLaunchConfigurationDelegate</strong>()</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>protected IBreakpoint[]</code></td><td width="" align="left"><code>getBreakpoints(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the Java breakpoint and the XSL breakpoints</td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public java.lang.String[]</code></td><td width="" align="left"><code>getClasspath(ILaunchConfiguration configuration)</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>getMainTypeName(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public static org.eclipse.wst.xsl.launching.IProcessorInstall</code></td><td width="" align="left"><code>getProcessorInstall(ILaunchConfiguration configuration
         ,
      java.lang.String mode)</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>getProgramArguments(ILaunchConfiguration configuration)</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>getVMArguments(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IVMRunner</code></td><td width="" align="left"><code>getVMRunner(ILaunchConfiguration configuration
         ,
      java.lang.String mode)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public IPath</code></td><td width="" align="left"><code>getWorkingDirectoryPath(ILaunchConfiguration configuration)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code>launch(ILaunchConfiguration configuration
         ,
      java.lang.String mode
         ,
      ILaunch launch
         ,
      IProgressMonitor monitor)</code>
<br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td>
</tr>
<tr valign="top">
<td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code>preLaunchCheck(ILaunchConfiguration configuration
         ,
      java.lang.String mode
         ,
      IProgressMonitor monitor)</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>XSLTLaunchConfigurationDelegate</h2>
<p>
<code>public <strong>XSLTLaunchConfigurationDelegate</strong>()</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>getBreakpoints</h2>
<p>
<code>protected IBreakpoint[] <strong>getBreakpoints</strong>(ILaunchConfiguration configuration)</code>
</p>
<p>Get the Java breakpoint and the XSL breakpoints</p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<h3>Returns</h3>
<p>
<code>IBreakpoint[]</code>
</p>
<hr>
<h2>getClasspath</h2>
<p>
<code>public java.lang.String[] <strong>getClasspath</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String[]</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getMainTypeName</h2>
<p>
<code>public java.lang.String <strong>getMainTypeName</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getProcessorInstall</h2>
<p>
<code>public org.eclipse.wst.xsl.launching.IProcessorInstall <strong>getProcessorInstall</strong>(ILaunchConfiguration configuration
         ,
      java.lang.String mode)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<p>
<code>mode</code>
</p>
<h3>Returns</h3>
<p>
<code>org.eclipse.wst.xsl.launching.IProcessorInstall</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getProgramArguments</h2>
<p>
<code>public java.lang.String <strong>getProgramArguments</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getVMArguments</h2>
<p>
<code>public java.lang.String <strong>getVMArguments</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<h3>Returns</h3>
<p>
<code>java.lang.String</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getVMRunner</h2>
<p>
<code>public IVMRunner <strong>getVMRunner</strong>(ILaunchConfiguration configuration
         ,
      java.lang.String mode)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<p>
<code>mode</code>
</p>
<h3>Returns</h3>
<p>
<code>IVMRunner</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>getWorkingDirectoryPath</h2>
<p>
<code>public IPath <strong>getWorkingDirectoryPath</strong>(ILaunchConfiguration configuration)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<h3>Returns</h3>
<p>
<code>IPath</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>launch</h2>
<p>
<code>public void <strong>launch</strong>(ILaunchConfiguration configuration
         ,
      java.lang.String mode
         ,
      ILaunch launch
         ,
      IProgressMonitor monitor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<p>
<code>mode</code>
</p>
<p>
<code>launch</code>
</p>
<p>
<code>monitor</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
<h2>preLaunchCheck</h2>
<p>
<code>public boolean <strong>preLaunchCheck</strong>(ILaunchConfiguration configuration
         ,
      java.lang.String mode
         ,
      IProgressMonitor monitor)</code>
</p>
<p></p>
<h3>Parameters</h3>
<p>
<code>configuration</code>
</p>
<p>
<code>mode</code>
</p>
<p>
<code>monitor</code>
</p>
<h3>Returns</h3>
<p>
<code>boolean</code>
</p>
<h3>Throws:</h3>
<p>
<code>CoreException</code>
</p>
<hr>
</body>
</html>
