<html><body><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><a href="#con_XSLDocumentLoader">XSLDocumentLoader</a></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><a href="#method_getDefaultDocumentPartitioner">getDefaultDocumentPartitioner</a>()</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><a href="#method_getDocumentEncodingDetector">getDocumentEncodingDetector</a>()</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><a href="#method_getParser">getParser</a>()</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><a href="#method_getSpecDefaultEncoding">getSpecDefaultEncoding</a>()</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><a href="#method_newEncodedDocument">newEncodedDocument</a>()</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><a href="#method_newInstance">newInstance</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_XSLDocumentLoader">XSLDocumentLoader</a></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><a name="method_getDefaultDocumentPartitioner">getDefaultDocumentPartitioner</a></h2><p><code>public IDocumentPartitioner <strong>getDefaultDocumentPartitioner</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentPartitioner</code></p><hr><h2><a name="method_getDocumentEncodingDetector">getDocumentEncodingDetector</a></h2><p><code>public IDocumentCharsetDetector <strong>getDocumentEncodingDetector</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentCharsetDetector</code></p><hr><h2><a name="method_getParser">getParser</a></h2><p><code>public RegionParser <strong>getParser</strong>()</code></p><p></p><h3>Returns</h3><p><code>RegionParser</code></p><hr><h2><a name="method_getSpecDefaultEncoding">getSpecDefaultEncoding</a></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><a name="method_newEncodedDocument">newEncodedDocument</a></h2><p><code>protected IEncodedDocument <strong>newEncodedDocument</strong>()</code></p><p></p><h3>Returns</h3><p><code>IEncodedDocument</code></p><hr><h2><a name="method_newInstance">newInstance</a></h2><p><code>public IDocumentLoader <strong>newInstance</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentLoader</code></p><hr></body></html>