<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
               Class Stylesheet</h2><br><hr><pre>public class <strong>Stylesheet</strong>
extends org.eclipse.wst.xsl.core.model.XSLElement</pre>The <code>xsl:stylesheet</code> model element.<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>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_calledTemplates">calledTemplates</a></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><a href="#field_elements">elements</a></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><a href="#field_file">file</a></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><a href="#field_functions">functions</a></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><a href="#field_globalVariables">globalVariables</a></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><a href="#field_imports">imports</a></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><a href="#field_includes">includes</a></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><a href="#field_templates">templates</a></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><a href="#field_version">version</a></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><a href="#con_Stylesheet">Stylesheet</a></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><a href="#method_addCalledTemplate">addCalledTemplate</a>(org.eclipse.wst.xsl.core.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><a href="#method_addFunction">addFunction</a>(org.eclipse.wst.xsl.core.model.Function function)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addGlobalVariable">addGlobalVariable</a>(org.eclipse.wst.xsl.core.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><a href="#method_addImport">addImport</a>(org.eclipse.wst.xsl.core.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><a href="#method_addInclude">addInclude</a>(org.eclipse.wst.xsl.core.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><a href="#method_addTemplate">addTemplate</a>(org.eclipse.wst.xsl.core.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><a href="#method_getCalledTemplates">getCalledTemplates</a>()</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><a href="#method_getFile">getFile</a>()</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><a href="#method_getFunctions">getFunctions</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of functions for this stylesheet.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getGlobalVariables">getGlobalVariables</a>()</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><a href="#method_getImports">getImports</a>()</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><a href="#method_getIncludes">getIncludes</a>()</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.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.Stylesheet</code></td><td width="" align="left"><code><a href="#method_getStylesheet">getStylesheet</a>()</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><a href="#method_getTemplates">getTemplates</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the list of templates for this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getVersion">getVersion</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Get the stylesheet version.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setVersion">setVersion</a>(java.lang.String version)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set the stylesheet version.</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><a name="field_calledTemplates">calledTemplates</a></h2><p><code>package-private java.util.List <strong>calledTemplates</strong></code></p><hr><h2><a name="field_elements">elements</a></h2><p><code>package-private java.util.List <strong>elements</strong></code></p><hr><h2><a name="field_file">file</a></h2><p><code>package-private IFile <strong>file</strong></code></p><hr><h2><a name="field_functions">functions</a></h2><p><code>package-private java.util.List <strong>functions</strong></code></p><hr><h2><a name="field_globalVariables">globalVariables</a></h2><p><code>package-private java.util.List <strong>globalVariables</strong></code></p><hr><h2><a name="field_imports">imports</a></h2><p><code>package-private java.util.List <strong>imports</strong></code></p><hr><h2><a name="field_includes">includes</a></h2><p><code>package-private java.util.List <strong>includes</strong></code></p><hr><h2><a name="field_templates">templates</a></h2><p><code>package-private java.util.List <strong>templates</strong></code></p><hr><h2><a name="field_version">version</a></h2><p><code>package-private java.lang.String <strong>version</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><a name="con_Stylesheet">Stylesheet</a></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><a name="method_addCalledTemplate">addCalledTemplate</a></h2><p><code>public void <strong>addCalledTemplate</strong>(org.eclipse.wst.xsl.core.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><a name="method_addFunction">addFunction</a></h2><p><code>public void <strong>addFunction</strong>(org.eclipse.wst.xsl.core.model.Function function)</code></p><p></p><h3>Parameters</h3><p><code>function</code></p><hr><h2><a name="method_addGlobalVariable">addGlobalVariable</a></h2><p><code>public void <strong>addGlobalVariable</strong>(org.eclipse.wst.xsl.core.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><a name="method_addImport">addImport</a></h2><p><code>public void <strong>addImport</strong>(org.eclipse.wst.xsl.core.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><a name="method_addInclude">addInclude</a></h2><p><code>public void <strong>addInclude</strong>(org.eclipse.wst.xsl.core.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><a name="method_addTemplate">addTemplate</a></h2><p><code>public void <strong>addTemplate</strong>(org.eclipse.wst.xsl.core.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><a name="method_getCalledTemplates">getCalledTemplates</a></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><a name="method_getFile">getFile</a></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><a name="method_getFunctions">getFunctions</a></h2><p><code>public java.util.List <strong>getFunctions</strong>()</code></p><p>Get the list of functions for this stylesheet.</p><h3>Returns</h3><p><code>java.util.List</code> - the list of called templates</p><hr><h2><a name="method_getGlobalVariables">getGlobalVariables</a></h2><p><code>public java.util.List <strong>getGlobalVariables</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getImports">getImports</a></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><a name="method_getIncludes">getIncludes</a></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><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getStylesheet">getStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.Stylesheet <strong>getStylesheet</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.Stylesheet</code></p><hr><h2><a name="method_getTemplates">getTemplates</a></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><h2><a name="method_getVersion">getVersion</a></h2><p><code>public java.lang.String <strong>getVersion</strong>()</code></p><p>Get the stylesheet version.</p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_setVersion">setVersion</a></h2><p><code>public void <strong>setVersion</strong>(java.lang.String version)</code></p><p>Set the stylesheet version.</p><h3>Parameters</h3><p><code>version</code> - the version to set</p><hr></body></html>