<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ui.editors">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.ui.editors" id="markerAnnotationSpecification" name="Marker Annotation Specification"/>
      </appInfo>
      <documentation>
         This extension point is used to define presentation properties of markers. Extensions provided for this extension point can be accessed using &lt;samp&gt;org.eclipse.ui.texteditor.MarkerAnnotationPreferences&lt;/samp&gt;. Use &lt;samp&gt;org.eclipse.ui.texteditor.AnnotationPreferenceLookup&lt;/samp&gt; to get the annotation preference for a given annotation.
&lt;p&gt;
Note that an extension will only be returned from &lt;code&gt;MarkerAnnotationPreferences.getAnnotationPreferences&lt;/code&gt; (and thus included in the preference pages) if it contains the following four attributes in addition to the required &lt;code&gt;annotationType&lt;/code&gt;:
&lt;ul&gt;
 &lt;li&gt;&lt;code&gt;colorPreferenceKey&lt;/code&gt;&lt;/li&gt;
 &lt;li&gt;&lt;code&gt;colorPreferenceValue&lt;/code&gt;&lt;/li&gt;
 &lt;li&gt;&lt;code&gt;overviewRulerPreferenceKey&lt;/code&gt;&lt;/li&gt;
 &lt;li&gt;&lt;code&gt;textPreferenceKey&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;
Annotation preference types that extend another annotation preference are allowed to overwrite attributes already defined in a parent preference specification, but these will not be accessible from the preference page.
&lt;/p&gt;
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="specification"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="specification">
      <complexType>
         <attribute name="annotationType" type="string" use="required">
            <annotation>
               <documentation>
                  The annotation type.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="colorPreferenceKey" type="string">
            <annotation>
               <documentation>
                  The color preference key must be provided, otherwise this annotation type will not be included in the List returned from MarkerAnnotationPreferences.getAnnotationPreferences() and thus not show in the preferences.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="overviewRulerPreferenceKey" type="string">
            <annotation>
               <documentation>
                  The overview ruler preference key must be provided, otherwise this annotation type will not be included in the List returned from MarkerAnnotationPreferences.getAnnotationPreferences() and thus not show in the preferences.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="verticalRulerPreferenceKey" type="string">
            <annotation>
               <documentation>
                  The preference key for the show in vertical ruler preference.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="textPreferenceKey" type="string">
            <annotation>
               <documentation>
                  The text preference key must be provided, otherwise this annotation type will not be included in the List returned from MarkerAnnotationPreferences.getAnnotationPreferences() and thus not show in the preferences.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="label" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="highlightPreferenceKey" type="string">
            <annotation>
               <documentation>
                  The preference key for highlighting in text.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="colorPreferenceValue" type="string">
            <annotation>
               <documentation>
                  The color preference value must be provided, otherwise this annotation type will not be included in the List returned from MarkerAnnotationPreferences.getAnnotationPreferences() and thus not show in the preferences.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="presentationLayer" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="overviewRulerPreferenceValue" type="boolean">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="verticalRulerPreferenceValue" type="boolean">
            <annotation>
               <documentation>
                  The default value for showing in vertical ruler.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="textPreferenceValue" type="boolean">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="highlightPreferenceValue" type="boolean">
            <annotation>
               <documentation>
                  The default value for highlighting in text.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="contributesToHeader" type="boolean">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="showInNextPrevDropdownToolbarActionKey" type="string">
            <annotation>
               <documentation>
                  The preference key for the visibility in the next/previous drop down toolbar action.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="showInNextPrevDropdownToolbarAction" type="boolean">
            <annotation>
               <documentation>
                  The default value for the visibility in the next/previous drop down toolbar action.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="isGoToNextNavigationTargetKey" type="string">
            <annotation>
               <documentation>
                  The preference key for go to next navigation enablement.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="isGoToNextNavigationTarget" type="boolean">
            <annotation>
               <documentation>
                  The default value for go to next navigation enablement.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="isGoToPreviousNavigationTargetKey" type="string">
            <annotation>
               <documentation>
                  The preference key for go to previous navigation enablement.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="isGoToPreviousNavigationTarget" type="boolean">
            <annotation>
               <documentation>
                  The default value for go to previous navigation enablement.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  The path to the icon to be drawn for annotations of this annotation type.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="symbolicIcon">
            <annotation>
               <documentation>
                  The symbolic name of the image that should be drawn to represent annotation of this annotation type. The image is only used when there is no vertical ruler icon specified for this annotation type. Possible values are: &quot;error&quot;, &quot;warning&quot;, &quot;info&quot;, &quot;task&quot;, &quot;bookmark&quot;.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="error">
                  </enumeration>
                  <enumeration value="warning">
                  </enumeration>
                  <enumeration value="info">
                  </enumeration>
                  <enumeration value="task">
                  </enumeration>
                  <enumeration value="bookmark">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="annotationImageProvider" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
               <appInfo>
                  <meta.attribute kind="java"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="textStylePreferenceKey" type="string">
            <annotation>
               <documentation>
                  The preference key for the text decoration property.
since: 3.0
               </documentation>
            </annotation>
         </attribute>
         <attribute name="textStylePreferenceValue">
            <annotation>
               <documentation>
                  The default value for the &quot;show in text&quot; decoration style.
since: 3.0
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="SQUIGGLIES">
                  </enumeration>
                  <enumeration value="BOX">
                  </enumeration>
                  <enumeration value="UNDERLINE">
                  </enumeration>
                  <enumeration value="IBEAM">
                  </enumeration>
                  <enumeration value="NONE">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="includeOnPreferencePage" type="boolean" use="default" value="true">
            <annotation>
               <documentation>
                  Defines whether this annotation type should be configurable via the standard annotation preference page. Default is true.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         3.0 (originally named org.eclipse.ui.workbench.texteditor.markerAnnotationSpecification)
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         &lt;p&gt;
&lt;a href=&quot;hglegal.htm&quot;&gt;
 &lt;img SRC=&quot;ngibmcpy.gif&quot;
   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

</schema>
