<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
               Class AbstractXSLSemanticHighlighting</h2><br><hr><pre>public class <strong>AbstractXSLSemanticHighlighting</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><a href="#con_AbstractXSLSemanticHighlighting">AbstractXSLSemanticHighlighting</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 Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion region)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion documentRegion
         ,
      IndexedRegion indexedRegion)</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><a href="#method_createSemanticPositions">createSemanticPositions</a>(IStructuredDocumentRegion region
         ,
      java.lang.String regionType)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getBoldPreferenceKey">getBoldPreferenceKey</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getColorPreferenceKey">getColorPreferenceKey</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getDisplayName">getDisplayName</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getEnabledPreferenceKey">getEnabledPreferenceKey</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getItalicPreferenceKey">getItalicPreferenceKey</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IPreferenceStore</code></td><td width="" align="left"><code><a href="#method_getPreferenceStore">getPreferenceStore</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStrikethroughPreferenceKey">getStrikethroughPreferenceKey</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStylePreferenceKey">getStylePreferenceKey</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getUnderlinePreferenceKey">getUnderlinePreferenceKey</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_AbstractXSLSemanticHighlighting">AbstractXSLSemanticHighlighting</a></h2><p><code>public <strong>AbstractXSLSemanticHighlighting</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_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion documentRegion
         ,
      IndexedRegion indexedRegion)</code></p><p></p><h3>Parameters</h3><p><code>documentRegion</code></p><p><code>indexedRegion</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_createSemanticPositions">createSemanticPositions</a></h2><p><code>protected java.util.List <strong>createSemanticPositions</strong>(IStructuredDocumentRegion region
         ,
      java.lang.String regionType)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><p><code>regionType</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getBoldPreferenceKey">getBoldPreferenceKey</a></h2><p><code>public java.lang.String <strong>getBoldPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getColorPreferenceKey">getColorPreferenceKey</a></h2><p><code>public java.lang.String <strong>getColorPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getDisplayName">getDisplayName</a></h2><p><code>public java.lang.String <strong>getDisplayName</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getEnabledPreferenceKey">getEnabledPreferenceKey</a></h2><p><code>public java.lang.String <strong>getEnabledPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getItalicPreferenceKey">getItalicPreferenceKey</a></h2><p><code>public java.lang.String <strong>getItalicPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getPreferenceStore">getPreferenceStore</a></h2><p><code>public IPreferenceStore <strong>getPreferenceStore</strong>()</code></p><p></p><h3>Returns</h3><p><code>IPreferenceStore</code></p><hr><h2><a name="method_getStrikethroughPreferenceKey">getStrikethroughPreferenceKey</a></h2><p><code>public java.lang.String <strong>getStrikethroughPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getStylePreferenceKey">getStylePreferenceKey</a></h2><p><code>public java.lang.String <strong>getStylePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getUnderlinePreferenceKey">getUnderlinePreferenceKey</a></h2><p><code>public java.lang.String <strong>getUnderlinePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>