<?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="structureMergeViewers" name="Structure Merge Viewers"/>
      </appInfo>
      <documentation>
         This extension point allows a plug-in to register compare/merge 
viewers for structural content types. The viewer is expected to 
extend &lt;samp&gt;org.eclipse.jface.viewers.Viewer&lt;/samp&gt;. 
However, since viewers don&apos;t have a default constructor, 
the extension point must implement the factory interface 
for viewers &lt;samp&gt;org.eclipse.compare.IViewerCreator&lt;/samp&gt;.
      </documentation>
   </annotation>

   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element />
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="viewer" 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="viewer">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique identifier that can be used to reference the viewer
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified name of a class that implements a factory for the 
structure merge viewer and implements &lt;samp&gt;org.eclipse.compare.IViewerCreator&lt;/samp&gt;
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn=":org.eclipse.compare.IViewerCreator"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="extensions" type="string" use="required">
            <annotation>
               <documentation>
                  a comma separated list of file extensions e.g. &quot;zip, jar&quot;
               </documentation>
            </annotation>
         </attribute>
         <attribute name="label" type="string">
            <annotation>
               <documentation>
                  Since 3.5. A translatable label that will be used in the UI for this viewer.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="contentTypeBinding">
      <annotation>
         <documentation>
            A &lt;code&gt;contentTypeBinding&lt;/code&gt; binds a structure merge viewer 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="structureMergeViewerId" type="string" use="required">
            <annotation>
               <documentation>
                  The id of a structure merge viewer defined using the &lt;code&gt;viewer&lt;/code&gt; element of this extension point (i.e. &lt;code&gt;org.eclipse.compare.structureMergeViewers&lt;/code&gt;)
               </documentation>
               <appInfo>
                  <meta.attribute kind="identifier" basedOn="org.eclipse.compare.structureMergeViewers/viewer/@id"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of compare/merge viewer 
for zip files (extension &quot;zip&quot;): 
&lt;p&gt;
&lt;pre&gt;
&lt;extension point = &quot;org.eclipse.compare.structureMergeViewers&quot;&gt; 
     &lt;viewer 
         id=&quot;org.eclipse.compare.ZipCompareViewer&quot; 
         class=&quot;org.eclipse.compare.ZipCompareViewerCreator&quot; 
         extensions=&quot;zip&quot;
         label=&quot;Binary Compare&quot; 
    /&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;code&gt;org.eclipse.compare.IViewerCreator&lt;/code&gt;
      </documentation>
   </annotation>


   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         The Compare UI plugin defines a structure compare 
viewer for zip archives.
      </documentation>
   </annotation>

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