<?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="perspectiveExtensions" name="Perspective Extensions"/>
      </appInfo>
      <documentation>
         This extension point is used to extend perspectives 
registered by other plug-ins. A perspective defines 
the initial contents of the window action bars 
(menu and toolbar) and the initial set of views 
and their layout within a workbench page.  
Other plug-ins may contribute actions or views to 
the perspective which appear when the perspective 
is selected.  Optional additions by other plug-ins 
are appended to the initial definition.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="perspectiveExtension" 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>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="perspectiveExtension">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="targetID"/>
         </appInfo>
      </annotation>
      <complexType>
         <choice minOccurs="0" maxOccurs="unbounded">
            <element ref="actionSet"/>
            <element ref="viewShortcut"/>
            <element ref="perspectiveShortcut"/>
            <element ref="newWizardShortcut"/>
            <element ref="view"/>
            <element ref="showInPart"/>
         </choice>
         <attribute name="targetID" type="string" use="required">
            <annotation>
               <documentation>
                  the unique identifier of the perspective (as specified in the registry) into which the contribution is made.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="actionSet">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  the unique identifier of the action set which will be added to the perspective.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="viewShortcut">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  the unique identifier of the view which will be added to the perspective&apos;s &quot;Show View&quot; submenu of the &quot;Window&quot; menu.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="perspectiveShortcut">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  the unique identifier of the perspective which will be added to the perspective&apos;s &quot;Open Perspective&quot; submenu of the &quot;Window&quot; menu.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="newWizardShortcut">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  the unique identifier of the new wizard which will be added to the perspective&apos;s &quot;New&quot; submenu of the &quot;File&quot; menu.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="showInPart">
      <complexType>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  the unique identifier of the view which will be added to the perspective&apos;s &quot;Show In...&quot; prompter in the Navigate menu.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="view">
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  the unique identifier of the view which will be added to the perspective layout.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="relative" type="string" use="required">
            <annotation>
               <documentation>
                  the unique identifier of a view which already exists in the perspective.  This will be used as a reference point for placement of the view.  The relationship between these two views is defined by &lt;samp&gt;relationship&lt;/samp&gt;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="relationship" use="required">
            <annotation>
               <documentation>
                  specifies the relationship between &lt;samp&gt;id&lt;/samp&gt; and
&lt;samp&gt;relative&lt;/samp&gt;. 
The following values are supported:
&lt;ul&gt;
&lt;b&gt;fast&lt;/b&gt; - the view extension will be created as a fast view.
&lt;br&gt;&lt;b&gt;stack&lt;/b&gt; - the view extension will be stacked with the relative
view in a folder.
&lt;br&gt;&lt;b&gt;left, right, top, bottom&lt;/b&gt; - the view extension will be placed
beside the relative view. In this case a &lt;samp&gt;ratio&lt;/samp&gt; must also
be defined.&lt;/ul&gt;
               </documentation>
            </annotation>
            <simpleType>
               <restriction base="string">
                  <enumeration value="stack">
                  </enumeration>
                  <enumeration value="left">
                  </enumeration>
                  <enumeration value="right">
                  </enumeration>
                  <enumeration value="top">
                  </enumeration>
                  <enumeration value="bottom">
                  </enumeration>
                  <enumeration value="fast">
                  </enumeration>
               </restriction>
            </simpleType>
         </attribute>
         <attribute name="ratio" type="string">
            <annotation>
               <documentation>
                  the percentage of area within the relative view which will be donated to the view extension. If the view extension is a fast view, the ratio is the percentage of the workbench the fast view will cover when active. This must be defined as a floating point value and lie between 0.05 and 0.95.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="visible" type="boolean">
            <annotation>
               <documentation>
                  whether the view is initially visible when the perspective is opened.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.
If this attribute is not used, the view will be initially visible by default.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of a perspective extension (note the subelements and the way attributes are used):
&lt;p&gt;
&lt;pre&gt;
    &lt;extension point=&quot;org.eclipse.ui.perspectiveExtensions&quot;&gt; 
        &lt;perspectiveExtension 
            targetID=&quot;org.eclipse.ui.resourcePerspective&quot;&gt; 
            &lt;actionSet id=&quot;org.eclipse.jdt.ui.JavaActionSet&quot;/&gt; 
            &lt;viewShortcut id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot;/&gt; 
            &lt;newWizardShortcut id=&quot;org.eclipse.jdt.ui.wizards.NewProjectCreationWizard&quot;/&gt; 
            &lt;perspectiveShortcut id=&quot;org.eclipse.jdt.ui.JavaPerspective&quot;/&gt; 
            &lt;view id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot; 
                relative=&quot;org.eclipse.ui.views.ResourceNavigator&quot; 
                relationship=&quot;stack&quot;/&gt; 
            &lt;view id=&quot;org.eclipse.jdt.ui.TypeHierarchy&quot; 
                relative=&quot;org.eclipse.ui.views.ResourceNavigator&quot; 
                relationship=&quot;left&quot; 
                ratio=&quot;0.50&quot;/&gt; 
        &lt;/perspectiveExtension&gt; 
    &lt;/extension&gt; 
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
In the example above, an action set, view shortcut, 
new wizard shortcut, and perspective shortcut are 
contributed to the initial contents of the 
Resource Perspective.  In addition, the 
Package Explorer view is stacked on the 
Resource Navigator and the Type Hierarchy View is 
added beside the Resource Navigator. 
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The items defined within the perspective extension are contributed to the initial contents of the target perspective.  Following this, the user may remove any contribution or add others to a perspective from within the workbench user interface.
      </documentation>
   </annotation>

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

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