<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.compare">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.compare" id="contentViewers" name="Content Viewers"/>
      </appInfo>
      <documentation>
         This extension point allows a plug-in to register 
viewers for specific content types. 
These viewers are used in the &lt;samp&gt;EditionSelectionDialog&lt;/samp&gt; when presenting an edition of a resource or a subsection thereof. 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">
      <complexType>
         <sequence>
            <element ref="viewer" minOccurs="0" maxOccurs="unbounded"/>
         </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="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>
                  name of a class that implements a factory for the 
content merge viewer and implements 
&lt;samp&gt;org.eclipse.compare.IViewerCreator&lt;/samp&gt;
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.Viewer: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;java, gif&quot;
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of a viewer for text 
files (extension &quot;txt&quot;): 
&lt;p&gt;
&lt;pre&gt;
&lt;extension point = &quot;org.eclipse.compare.contentViewers&quot;&gt; 
     &lt;viewer 
         id=&quot;org.eclipse.compare.internal.TextViewer&quot; 
         class=&quot;org.eclipse.compare.internal.TextViewerCreator&quot; 
         extensions=&quot;txt&quot; 
    /&gt; 
&lt;/extension&gt; 
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

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

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         The Compare UI plugin defines content viewers for 
text and images.
      </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>
