<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ui.ide" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appinfo>
         <meta.schema plugin="org.eclipse.ui.ide" id="markerSupport" name="Marker Support"/>
      </appinfo>
      <documentation>
         The Marker Support extension point defines extensions to the workbench tools that show markers such as the problems, bookmarks and tasks views.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="problemFilter" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerTypeCategory" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerGrouping" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerGroupingEntry" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerAttributeGrouping" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerContentGenerator" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerField" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerContentGeneratorExtension" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="problemFilter">
      <annotation>
         <documentation>
            A problem filter is a filter that can be applied to the problems view.
@deprecated in 3.4. Use markerFieldConfiguration and bind it to the markerContentGenerator you specify.
         </documentation>
      </annotation>
      <complexType>
         <sequence minOccurs="0" maxOccurs="unbounded">
            <element ref="selectedType"/>
         </sequence>
         <attribute name="enabled" type="boolean">
            <annotation>
               <documentation>
                  Whether or not this filter is enabled by default. If this value is not specified the value is true.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="scope">
            <annotation>
               <documentation>
                  The scope of the filter. One of 
ON_ANY: any item in the workbench
ON_SELECTED_ONLY: on the currently selected item
ON_SELECTED_AND_CHILDREN: on the currently selected item and its children
ON_ANY_IN_SAME_CONTAINER: on any item with the same top level container as the selection
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="ON_ANY">
                  </enumeration>
                  <enumeration value="ON_SELECTED_ONLY">
                  </enumeration>
                  <enumeration value="ON_SELECTED_AND_CHILDREN">
                  </enumeration>
                  <enumeration value="ON_ANY_IN_SAME_CONTAINER">
                  </enumeration>
               </restriction>
            </simpleType>
            
         </attribute>
         <attribute name="onDescription" type="string">
            <annotation>
               <documentation>
                  The description of the problem to check against. If this value is preceded with a ! the check will check that the description does not contain this string.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="severity">
            <annotation>
               <documentation>
                  The severity of problem this filter is enabled for. If this value is not set then no filtering by severity will occur. Severity can be one of the following values: ERROR, WARNING or INFO.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="ERROR">
                  </enumeration>
                  <enumeration value="WARNING">
                  </enumeration>
                  <enumeration value="INFO">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The human readable name of the filter.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The unique id of the filter.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="selectedType">
      <annotation>
         <documentation>
            The selectedTypes are the ids of the marker types selected by default in this filter. If there are no selected types all marker types are enabled. All types not specified in this filter are disabled by default.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="markerId" type="string">
            <annotation>
               <documentation>
                  The id of a marker that is enabled by default.
               </documentation>
               <appinfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.core.resources.markers/@id"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerTypeCategory">
      <annotation>
         <documentation>
            The markerTypeCategory is an element for grouping marker types into a single category.
         </documentation>
      </annotation>
      <complexType>
         <sequence minOccurs="1" maxOccurs="unbounded">
            <element ref="markerTypeReference"/>
         </sequence>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The label is the human readable name that will be presented to the user.
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerTypeReference">
      <annotation>
         <documentation>
            The markerTypeReference is a reference to a markerType defined using the extension point in org.eclipse.core.resources.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the markerType
               </documentation>
               <appinfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.core.resources.markers/@id"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerAttributeGrouping">
      <annotation>
         <documentation>
            markerAttributeGrouping is a definition of attribute mappings for a particular markerType.

markerAttributeGroupings defined at the top level are only applied to the problems view for compatibility with the pre 3.4 API.

It is generally recommended that a markerAttributeGrouping is defined as a child element of a markerGroup.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="markerAttributeMapping" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="markerType" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the markerType this grouping applies to.
               </documentation>
               <appinfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.core.resources.markers/@id"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="attribute" type="string">
            <annotation>
               <documentation>
                  The attribute is the name of the attribute to test. If it is not specified then only the defaultGroupingEntry will be checked.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="defaultGroupingEntry" type="string">
            <annotation>
               <documentation>
                  The defaultGroupingEntry is the optional category for groupings that do not satisfy any of the markerAttributeMappings in the receiver. This default will be applied when the attribute value does not match a mapping or when the attribute is not available.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerGrouping">
      <annotation>
         <documentation>
            A markerGrouping is a definition of a grouping criterea for the marker views that support it . 

Top level markerGroupings are assumed to belong to the problems content generator.

A markerGrouping is usually specified as the child of a markerContentGenerator. It is recommended that a markerContentGenerator defines its own markerGroupings if possible.

Note that only the problems view supported markerGroupings pre 3.4.

If a markerGrouping has id org.eclipse.ui.ide.types the internal types marker grouping will be used.
         </documentation>
      </annotation>
      <complexType>
         <sequence minOccurs="0" maxOccurs="unbounded">
            <element ref="markerGroupingEntry"/>
            <element ref="markerAttributeGrouping" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="label" type="string" use="required">
            <annotation>
               <documentation>
                  The label is the human readable String that will be used to create the entry in the Group By-&gt; menu for this marker grouping.
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id is non translatable identifier for the markerGrouping. Referred to in a markerGroupingEntry.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerAttributeMapping">
      <annotation>
         <documentation>
            A markerAttributeMapping maps a marker attribute to a name.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="value" type="string" use="required">
            <annotation>
               <documentation>
                  The value is the value of the attribute that is used in this mapping.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="markerGroupingEntry" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the markerGroupingEntry that this attribute value maps to.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerGroupingEntry">
      <annotation>
         <documentation>
            A markerGroupingEntry is the specification of one of the entries in a markerGrouping. A top level markerGroupingEntry can only be applied to a top level markerGrouping for compatibility with the pre 3.4 API.

It is recommended that a markerGroupingEntry is specified as a child element of a markerGrouping.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the markerGroupingEntry. Referred to in a markerAttributeGrouping.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="markerGrouping" type="string">
            <annotation>
               <documentation>
                  The markerGrouping is the id of the markerGrouping this entry will be added to.

This attribute is optional if this is defined as a child element of a markerGrouping.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="label" type="string" use="required">
            <annotation>
               <documentation>
                  The translable label of the entry.
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="priority" type="string" use="required">
            <annotation>
               <documentation>
                  The priority of the entry. Higher priorities show up higher in the list.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerContentGenerator">
      <annotation>
         <documentation>
            A markerContentGenerator is the definition of a marker content for an instance of org.eclipse.ui.views.markers.MarkerSupportView.

 This element is EXPERIMENTAL and subject to change without notice.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="markerFieldReference" minOccurs="1" maxOccurs="unbounded"/>
            <element ref="markerTypeReference" minOccurs="1" maxOccurs="unbounded"/>
            <element ref="markerFieldConfiguration" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerGrouping" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id attribute is the unique id of the markerContentGenerator.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The name attribute is the human readable name of the content generator.
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="defaultMarkerGrouping" type="string">
            <annotation>
               <documentation>
                  defaultMarkerGrouping is the id of the grouping to use by default. This grouping must be defined as child element of the markerContentGenerator
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerField">
      <annotation>
         <documentation>
            A markerField is the definition of an org.eclipse.ui.views.markers.MarkerField used to define a column
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The unique id of the field
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The class is the type used to instantiate the field.
               </documentation>
               <appinfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.markers.MarkerField:"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The name is the human readable name of the field.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  The icon is the plug-in relative path for the icon.
               </documentation>
               <appinfo>
                  <meta.attribute kind="resource"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="filterClass" type="string">
            <annotation>
               <documentation>
                  The filterClass is the class that does filtering on this field when enabled. If this is not specified no filtering will occur based on this field.
               </documentation>
               <appinfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.markers.MarkerFieldFilter:"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="filterConfigurationClass" type="string">
            <annotation>
               <documentation>
                  The filterConfigurationClass is an optional area that is used for configuration of the field in a filter dialog.
               </documentation>
               <appinfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.markers.FilterConfigurationArea:"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerFieldReference">
      <annotation>
         <documentation>
            A markerFieldReference is a reference to a markerField in a markerContentGenerator. The columns in a markersView are created in the order that the markerFieldReferences are specified. This is also the default sortOrder for the fields.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id is the id of the markerField being referred to.
               </documentation>
               <appinfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.ui.ide.markerSupport/markerField/@id"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="visible" type="boolean">
            <annotation>
               <documentation>
                  The visible flag indicates whether or not the receiver is visible. If this flag is not set the value is true.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerFieldConfiguration">
      <annotation>
         <documentation>
            markerFieldConfiguration is a definition of a configuration to be added to a markerContentGenerator by default such as the All Errors configuration in the problems view.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the grouping.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The human readable name of the grouping.
               </documentation>
               <appinfo>
                  <meta.attribute translatable="true"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="values" type="string">
            <annotation>
               <documentation>
                  The values is a class that specifies the values that are to be set in the filterClass of a markerField for the enclosing markerContentGenerator.
               </documentation>
               <appinfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.ui.views.markers.FiltersContributionParameters:"/>
               </appinfo>
            </annotation>
         </attribute>
         <attribute name="scope">
            <annotation>
               <documentation>
                  The scope of the grouping 
One of 
ON_ANY: any item in the workbench
ON_SELECTED_ONLY: on the currently selected item
ON_SELECTED_AND_CHILDREN: on the currently selected item and its children
ON_ANY_IN_SAME_CONTAINER: on any item with the same top level container as the selection.
If this value is not set the value is ON_ANY
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="ON_ANY">
                  </enumeration>
                  <enumeration value="ON_SELECTED_ONLY">
                  </enumeration>
                  <enumeration value="ON_SELECTED_AND_CHILDREN">
                  </enumeration>
                  <enumeration value="ON_ANY_IN_SAME_CONTAINER">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="enabled" type="boolean">
            <annotation>
               <documentation>
                  The enabled flag determines whether or not the receiver is on by default. If this value is not specified it is assumed to be true.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="markerContentGeneratorExtension">
      <annotation>
         <documentation>
            A markerContentGeneratorExtension is an extension to an existing markerContentGenerator.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="markerGrouping" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="markerFieldConfiguration" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the receiver
               </documentation>
            </annotation>
         </attribute>
         <attribute name="generatorId" type="string" use="required">
            <annotation>
               <documentation>
                  The id of the generator being extended
               </documentation>
               <appinfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.ui.ide.markerSupport/markerContentGenerator/@id"/>
               </appinfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appinfo>
         <meta.section type="since"/>
      </appinfo>
      <documentation>
         3.2
      </documentation>
   </annotation>

   <annotation>
      <appinfo>
         <meta.section type="examples"/>
      </appinfo>
      <documentation>
         The following is an example of a problem filter definition in the marker support. This example only shows java warnings on the selected element and its children and filters out those with the String NON-NLS
&lt;p&gt;
&lt;pre&gt;
 &lt;extension point=&quot;org.eclipse.ui.ide.markerSupport&quot;&gt;
  &lt;problemFilter
    name = &quot;Warnings&quot;
    id = &quot;org.eclipse.example.warningFilter&quot;
    enabled = &quot;true&quot;
    scope=&quot;ON_SELECTED_AND_CHILDREN&quot;
    onDescription=&quot;!NON-NLS&quot;
    severity=&quot;WARNING&quot;
  &gt;
  &lt;selectedType
    markerId=&quot;org.eclipse.core.resources.problemmarker&quot;/&gt;
  &lt;/problemFilter&gt;
 &lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>


   <annotation>
      <appinfo>
         <meta.section type="implementation"/>
      </appinfo>
      <documentation>
         The severity markerGrouping is provided in the org.eclipse.ui.ide plug-in by default.
      </documentation>
   </annotation>

   <annotation>
      <appinfo>
         <meta.section type="copyright"/>
      </appinfo>
      <documentation>
         Copyright (c) 2005, 2011 IBM Corporation and others.&lt;br&gt;

This program and the accompanying materials are made
available under the terms of the Eclipse Public License 2.0 which accompanies
this distribution, and is available at &lt;a 
href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/

SPDX-License-Identifier: EPL-2.0
      </documentation>
   </annotation>

</schema>
