<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ui">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.ui" id="views" name="Views"/>
      </appInfo>
      <documentation>
         This extension point is used to define additional views 
for the workbench.  A view is a visual component 
within a workbench page.  It is typically used to 
navigate a hierarchy of information (like the workspace), 
open an editor,  or display properties for 
the active editor.  The user can make a view 
visible from the View menu or close it from the 
view local title bar. 
&lt;p&gt;
In order to reduce the visual clutter in the Show View Dialog, views should be grouped using categories.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <choice minOccurs="0" maxOccurs="unbounded">
            <element ref="category"/>
            <element ref="view"/>
            <element ref="stickyView"/>
         </choice>
         <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>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="category">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="name"/>
         </appInfo>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique name that will be used to identify this category
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  a translatable name that will be used in the UI for this category
               </documentation>
            </annotation>
         </attribute>
         <attribute name="parentCategory" type="string">
            <annotation>
               <documentation>
                  an optional path composed of category IDs separated by &apos;/&apos;. This
attribute provides for creating category hierarchy.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="view">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="name" icon="icon"/>
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="description" minOccurs="0" maxOccurs="1"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  a unique name that will be used to identify this view
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  a translatable name that will be used in the UI for this view
               </documentation>
            </annotation>
         </attribute>
         <attribute name="category" type="string">
            <annotation>
               <documentation>
                  an optional attribute that is composed of the category IDs separated
by &apos;/&apos;. Each referenced category must exist prior to being referenced
in this attribute.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified name of the class that implements 
&lt;samp&gt;org.eclipse.ui.IViewPart&lt;/samp&gt;. A common practice 
is to subclass &lt;samp&gt;org.eclipse.ui.part.ViewPart&lt;/samp&gt; 
in order to inherit the default functionality.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.ViewPart"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  a relative name of the icon that will 
be associated with the view.
               </documentation>
               <appInfo>
                  <meta.attribute kind="resource"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="fastViewWidthRatio" type="string">
            <annotation>
               <documentation>
                  the percentage of the width of the workbench that the view will take up as an active fast view.
This must be defined as a floating point value and lie between 0.05 and 0.95.
If no value is supplied, a default ratio will be used.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="allowMultiple" type="boolean">
            <annotation>
               <documentation>
                  flag indicating whether this view allows multiple instances to be created using IWorkbenchPage.showView(String id, String secondaryId).  The default is false.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="description" type="string">
      <annotation>
         <documentation>
            an optional subelement whose body should contain text providing a short description of the view.
         </documentation>
      </annotation>
   </element>

   <element name="stickyView">
      <annotation>
         <documentation>
            A sticky view is a view that will appear by default across all perspectives in a window once it is opened.  Its initial placement is governemed by the location attribute, but nothing prevents it from being moved or closed by the user.  Use of this element will only cause a placeholder for the view to be created, it will not show the view.  Please note that usage of this element should be done with great care and should only be applied to views that truely have a need to live across perspectives.

Since 3.0
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  the id of the view to be made sticky.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="location">
            <annotation>
               <documentation>
                  optional attribute that specifies the location of the sticky view relative to the editor area.  If absent, the view will be docked to the right of the editor area.
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="RIGHT">
                  </enumeration>
                  <enumeration value="LEFT">
                  </enumeration>
                  <enumeration value="TOP">
                  </enumeration>
                  <enumeration value="BOTTOM">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="closeable" type="boolean">
            <annotation>
               <documentation>
                  optional attribute that specifies wether the view should be closeable.  If absent it will be closeable.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="moveable" type="boolean">
            <annotation>
               <documentation>
                  optional attribute that specifies wether the view should be moveable.  If absent it will be moveable.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of the extension point: 
&lt;p&gt;
&lt;pre&gt;
   &lt;extension point=&quot;org.eclipse.ui.views&quot;&gt; 
      &lt;category 
         id=&quot;com.xyz.views.XYZviews&quot; 
         name=&quot;XYZ&quot;&gt; 
      &lt;/category&gt; 
      &lt;view 
         id=&quot;com.xyz.views.XYZView&quot; 
         name=&quot;XYZ View&quot; 
         category=&quot;com.xyz.views.XYZviews&quot; 
         class=&quot;com.xyz.views.XYZView&quot; 
         icon=&quot;icons/XYZ.gif&quot;&gt; 
      &lt;/view&gt; 
   &lt;/extension&gt; 
&lt;/pre&gt;
&lt;/p&gt;
The following is an example of a sticky view declaration:
&lt;p&gt;
&lt;pre&gt;
   &lt;extension point=&quot;org.eclipse.ui.views&quot;&gt; 
      &lt;stickyView
         id=&quot;com.xyz.views.XYZView&quot; /&gt;
   &lt;/extension&gt; 
&lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be a 
fully qualified name of the class that implements 
&lt;samp&gt;org.eclipse.ui.IViewPart&lt;/samp&gt;.  It is common 
practice to subclass &lt;samp&gt;org.eclipse.ui.part.ViewPart&lt;/samp&gt;
 when developing a new view.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         The workbench provides a number of standard views including Navigator, Properties, Outline and Tasks. From the user point of view, these views are no different from any other view provided by the plug-ins. All the views can be shown from the &quot;Show View&quot; submenu of the &quot;Window&quot; menu. The position of a view is persistent: it is saved when the view is closed and restored when the view is reopened in a single session.  The position is also persisted between workbench sessions.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials are made 
available under the terms of the Common Public License v1.0 which 
accompanies 
this distribution, and is available at 
&lt;a 
href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
