<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.compare" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.compare" id="compareFilters" name="Compare Filters"/>
      </appInfo>
      <documentation>
         This extension point is for internal use only.&lt;br/&gt;
This extension point allows a plug-in to register a compare filter
for specific content types. The filter will be exposed as a
toggle action in the compare viewer and can be used to customize how
differences are calculated when comparing documents as well as affect the
calculation of structural differences. The extension point must
implement the interface &lt;samp&gt;org.eclipse.compare.ICompareFilter&lt;/samp&gt;.
For the filter to affect the calculation of structural differences, the structure creator must extend
&lt;samp&gt;org.eclipse.compare.structuremergeviewer.StructureCreator&lt;/samp&gt;.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element internal="true" />
         </appInfo>
         <documentation>
            Internal use only
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="contentTypeBinding" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified identifier of the target extension point
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  an optional identifier of the extension instance
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  an optional name of the extension instance
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="filter">
      <annotation>
         <documentation>
            Internal use only
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  A unique identifier that can be used to reference the filter. It will also be used as the action id for the toggle action added to the compare viewer
               </documentation>
            </annotation>
         </attribute>
         <attribute name="definitionId" type="string">
            <annotation>
               <documentation>
                  The command id of the toggle action added to the compare viewer
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="extensions" type="string">
            <annotation>
               <documentation>
                  a comma separated list of file extensions e.g. &quot;java, txt&quot;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  Implementation of ICompareFilter.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn=":org.eclipse.compare.ICompareFilter"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.label" type="string" use="required">
            <annotation>
               <documentation>
                  A translatable label that will be used in the UI for this filter.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.tooltip" type="string" use="required">
            <annotation>
               <documentation>
                  A translatable label that will be used in the UI for this filter.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.tooltip.checked" type="string">
            <annotation>
               <documentation>
                  A translatable label that will be used in the UI for this filter.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.tooltip.unchecked" type="string">
            <annotation>
               <documentation>
                  A translatable label that will be used in the UI for this filter.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.description" type="string" use="required">
            <annotation>
               <documentation>
                  A translatable label that will be used in the UI for this filter.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.description.checked" type="string">
            <annotation>
               <documentation>
                  A translatable label that will be used in the UI for this filter.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.description.unchecked" type="string">
            <annotation>
               <documentation>
                  A translatable label that will be used in the UI for this filter.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filter.image" type="string">
            <annotation>
               <documentation>
                  An image that will be used in the UI for this filter.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="contentTypeBinding">
      <annotation>
         <documentation>
            Internal use only.&lt;br/&gt;
A &lt;code&gt;contentTypeBinding&lt;/code&gt; binds a compare filter to a content type.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="contentTypeId" type="string" use="required">
            <annotation>
               <documentation>
                  The id of a content type defined using the &lt;code&gt;org.eclipse.core.contenttype.contentTypes&lt;/code&gt; extension point.
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.core.contenttype.contentTypes/content-type/@id"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="filterId" type="string" use="required">
            <annotation>
               <documentation>
                  The id of a filter defined using the &lt;code&gt;filter&lt;/code&gt; element of this extension point (i.e. &lt;code&gt;org.eclipse.compare.compareFilters&lt;/code&gt;)
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.compare.compareFilters/filter/@id"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         [Enter the first release in which this extension point appears.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of a compare filter
for example files (extensions &quot;.example&quot; and &quot;.example2&quot;) and
the text content type:
&lt;p&gt;
&lt;pre&gt;
&lt;extension
         point=&quot;org.eclipse.compare.compareFilters&quot;&gt;
      &lt;filter
           id=&quot;com.example.IgnorePrefixId&quot;
            class=&quot;com.example.IgnorePrefix&quot;
            extensions=&quot;example,example2&quot;
            definitionId=&quot;com.example.IgnorePrefixCommand&quot;
            filter.description=&quot;Ignore Columns 1-6&quot;
            filter.label=&quot;Ignore Prefix&quot;
            filter.image=&quot;/icons/ignorePrefix.gif&quot;
            filter.tooltip=&quot;Ignore Prefix&quot;&gt;
      &lt;/filter&gt;
      &lt;contentTypeBinding
  contentTypeId=&quot;org.eclipse.core.runtime.text&quot;
  filterId=&quot;com.example.IgnorePrefixId&quot;&gt;
   &lt;/contentTypeBinding&gt;
   &lt;/extension&gt;
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiinfo"/>
      </appInfo>
      <documentation>
         The contributed class must implement &lt;samp&gt;org.eclipse.compare.ICompareFilter&lt;/samp&gt;.  For the filter to affect the calculation of structural differences, the structure creator must extend &lt;samp&gt;org.eclipse.compare.structuremergeviewer.StructureCreator&lt;/samp&gt;.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         [Enter information about supplied implementation of this extension point.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2013 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>
