<?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="commands" name="Commands"/>
      </appInfo>
      <documentation>
         &lt;p&gt;
The &lt;code&gt;org.eclipse.ui.commands&lt;/code&gt; extension point is used to declare commands and command categories, using the &lt;code&gt;command&lt;/code&gt; and &lt;code&gt;category&lt;/code&gt; elements. Through this extension point, one can also assign key sequences to commands using the &lt;code&gt;keyBinding&lt;/code&gt; element. Key sequences are bound to commands based on key configurations and scopes which are declared here as well, using the &lt;code&gt;keyConfiguration&lt;/code&gt; and &lt;code&gt;scope&lt;/code&gt; elements.
&lt;/p&gt;
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
<!--element ref="activeGestureConfiguration"/-->
            <element ref="activeKeyConfiguration"/>
            <element ref="category"/>
            <element ref="command"/>
<!--element ref="gestureConfiguration"/-->
<!--element ref="gestureBinding"/-->
            <element ref="keyBinding"/>
            <element ref="keyConfiguration"/>
            <element ref="scope"/>
         </sequence>
         <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>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  A fully qualified identifier of the target extension point.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

<!--element name="activeGestureConfiguration">
      <complexType>
         <attribute name="value" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element-->
   <element name="activeKeyConfiguration">
      <annotation>
         <documentation>
            This element is used to define the initial active key configuration for Eclipse. If more than one of these elements exist, only the last declared element (in order of reading the plugin registry) is considered valid.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="value" type="string">
            <annotation>
               <documentation>
                  The unique id (&lt;code&gt;id&lt;/code&gt;attribute) of the keyConfiguration element one wishes to be initially active.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="category">
      <annotation>
         <documentation>
            In the UI, commands are often organized by category to make them more manageable. This element is used to define these categories. Commands can add themselves to at most one category. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A translatable short description of this category for display in the UI.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The unique identifier of this category.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The translatable name of this category for display in the UI.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="command">
      <annotation>
         <documentation>
            This element is used to define commands. A command represents an request from the user that can be handled by an action, and should be semantically unique among other commands. Do not define a command if there is already one defined with the same meaning. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid. See the extension points &lt;a href=&quot;org_eclipse_ui_actionSets.html&quot;&gt;org.eclipse.ui.actionSets&lt;/a&gt; and &lt;a href=&quot;org_eclipse_ui_editorActions.html&quot;&gt;org.eclipse.ui.editorActions&lt;/a&gt; to understand how actions are connected to commands.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="category" type="string">
            <annotation>
               <documentation>
                  The unique id of the category for this command. If this command does not specify a category, it will still appear in all UI, alongside other specifically categorized commands.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A translatable short description of this command for display in the UI.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="icon" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The unique identifier of this command.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The translatable name of this command for display in the UI. Command are typically named in the form of an imperative verb.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

<!--element name="gestureConfiguration">
      <complexType>
         <attribute name="description" type="string">
            <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>
         <attribute name="parent" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element-->
<!--element name="gestureBinding">
      <complexType>
         <sequence>
            <element ref="sequence" minOccurs="0" maxOccurs="1"/>
         </sequence>
         <attribute name="configuration" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="command" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="locale" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="platform" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="scope" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="string" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element-->
   <element name="keyBinding">
      <annotation>
         <documentation>
            This element allows one to assign key sequences to commands.
         </documentation>
      </annotation>
      <complexType>
<!--sequence>
            <element ref="sequence" minOccurs="0" maxOccurs="1"/>
         </sequence-->
         <attribute name="configuration" type="string" use="required">
            <annotation>
               <documentation>
                  The unique id of the key configuration of this key binding.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="command" type="string">
            <annotation>
               <documentation>
                  The unique identifier of the command to which the key sequence specified by this key binding is assigned. If the value of this attribute is an empty string, the key sequence is assigned to an internal &apos;no operation&apos; command. This is useful for &apos;undefining&apos; key bindings in specific key configurations and scopes which may have been borrowed from their parents.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="locale" type="string">
            <annotation>
               <documentation>
                  An optional attribute indicating that this key binding is only defined for the specified locale. Locales are specified according to the format declared in &lt;code&gt;java.util.Locale&lt;/code&gt;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="platform" type="string">
            <annotation>
               <documentation>
                  An optional attribute indicating that this key binding is only defined for the specified platform. The possible values of the &lt;code&gt;platform&lt;/code&gt; attribute are the set of the possible values returned by &lt;code&gt;org.eclipse.swt.SWT.getPlatform()&lt;/code&gt;.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="scope" type="string" use="required">
            <annotation>
               <documentation>
                  The unique id of the scope of this key binding.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="string" type="string" use="required">
            <annotation>
               <documentation>
                  The key sequence to assign to the command. Key sequences consist of one or more key strokes, where a key stroke consists of a key on the keyboard, optionally pressed in combination with one or more of the following modifiers: Ctrl, Alt, Shift, and Command. Key strokes are separated by spaces, and modifiers are separated by &apos;+&apos; characters.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="keyConfiguration">
      <annotation>
         <documentation>
            This element is used to define key configurations. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A translatable short description of this key configuration for display in the UI.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The unique identifier of this key configuration.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The translatable name of this key configuration for display in the UI. If this key configuration has a parent, it is not necessary to add &quot;(extends ...)&quot; to the name. This will be automatically added by the UI where necessary.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="parent" type="string">
            <annotation>
               <documentation>
                  The unique id of the parent key configuration. If this key configuration has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own key configuration.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

<!--element name="stroke">
      <complexType>
         <attribute name="value" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element-->
<!--element name="sequence">
      <complexType>
         <sequence>
            <element ref="stroke" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
      </complexType>
   </element-->
   <element name="scope">
      <annotation>
         <documentation>
            This element is used to define scopes. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A translatable short description of this scope for display in the UI.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The unique identifier of this scope.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The translatable name of this scope for display in the UI. If this scope has a parent, it is not necessary to add &quot;(extends parent)&quot; to the name. This will be automatically added by the UI where necessary.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="parent" type="string">
            <annotation>
               <documentation>
                  The unique id of the parent scope. If this scope has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own scope.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         &lt;p&gt;
2.1
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;p&gt;
The &lt;code&gt;plugin.xml&lt;/code&gt; file in the &lt;code&gt;org.eclipse.ui&lt;/code&gt; plugin makes extensive use of the &lt;code&gt;org.eclipse.ui.commands&lt;/code&gt; extension point.
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         &lt;p&gt;
This is no public API for declaring commands, categories, key bindings, key configurations, or scopes other than this extension point. Public API for querying and setting scopes, as well as registering actions to handle specific commands can be found in &lt;code&gt;org.eclipse.ui.IKeyBindingService&lt;/code&gt;.
&lt;/p&gt;
      </documentation>
   </annotation>

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

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

</schema>
