<html><body><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 XMLContentType</h2><br><hr><pre>public class <strong>XMLContentType</strong>
extends java.lang.Object</pre>XMLContetType handles the gathering of XML content type related information
 between the platforms xml content type and WTP's specific version.<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><a href="#con_XMLContentType">XMLContentType</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 java.lang.String[]</code></td><td width="" align="left"><code><a href="#method_getFileExtensions">getFileExtensions</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Returns all the extensions associated with an XML Content Type.</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_XMLContentType">XMLContentType</a></h2><p><code>public <strong>XMLContentType</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_getFileExtensions">getFileExtensions</a></h2><p><code>public java.lang.String[] <strong>getFileExtensions</strong>()</code></p><p>Returns all the extensions associated with an XML Content Type.</p><h3>Returns</h3><p><code>java.lang.String[]</code> - The array of file extensions</p><hr></body></html>