<?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 Window &gt; Show 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>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </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>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="parentCategory" type="string">
            <annotation>
               <documentation>
                  an optional path composed of category IDs separated by &apos;/&apos;. This
allows the creation of a hierarchy of categories.
               </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>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </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 be declared in a corresponding category element.
               </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>
         <appInfo>
            <meta.element translatable="true"/>
         </appInfo>
         <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;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;/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 Eclipse Platform 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, 2005 IBM Corporation and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at &lt;a 
href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
