Bug 319553 -  [Compatibility] Deprecate the action extension points
mark schema as deprecated
diff --git a/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd b/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
index 9d695f9..dd43547 100644
--- a/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
+++ b/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
@@ -2,17 +2,27 @@
 <!-- Schema file written by PDE -->
 <schema targetNamespace="org.eclipse.ui" xmlns="http://www.w3.org/2001/XMLSchema">
 <annotation>
-      <appinfo>
+      <appInfo>
          <meta.schema plugin="org.eclipse.ui" id="actionSetPartAssociations" name="Action Set Part Associations"/>
-      </appinfo>
+      </appInfo>
       <documentation>
-         This extension point is used to define an action set which should be added to a perspective when a part (view or editor) is opened in the perspective.
+         &lt;p&gt;
+&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
+Do not use this extension point, it will be removed in future versions of this product.
+Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
+&lt;/p&gt;
+This extension point is used to define an action set which should be added to a perspective when a part (view or editor) is opened in the perspective.
 In the case of an editor, the action set will remain visible while the editor is the current editor.
 In the case of a view, the action set will be visible when the view is the active part.
       </documentation>
    </annotation>
 
    <element name="extension">
+      <annotation>
+         <appInfo>
+            <meta.element deprecated="true" />
+         </appInfo>
+      </annotation>
       <complexType>
          <sequence>
             <element ref="actionSetPartAssociation" minOccurs="0" maxOccurs="unbounded"/>
@@ -36,15 +46,20 @@
                <documentation>
                   an optional name of the extension instance
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute translatable="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
    </element>
 
    <element name="actionSetPartAssociation">
+      <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
+      </annotation>
       <complexType>
          <sequence>
             <element ref="part" minOccurs="0" maxOccurs="unbounded"/>
@@ -56,15 +71,20 @@
 registry) which is to be associated with particular workbench
 views and/or editors.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="identifier" basedOn="org.eclipse.ui.actionSets/actionSet/@id"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
    </element>
 
    <element name="part">
+      <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
+      </annotation>
       <complexType>
          <attribute name="id" type="string" use="required">
             <annotation>
@@ -76,10 +96,21 @@
       </complexType>
    </element>
 
+
    <annotation>
-      <appinfo>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The user may override these associations using the customize perspective dialog.  Regardless of these associations,
+action sets which the user turns off will never appear and action sets which the user turns on will always be visible.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
          <meta.section type="examples"/>
-      </appinfo>
+      </appInfo>
       <documentation>
          The following is an example of an action set part association (note the subelement and the way attributes are used):
 
@@ -98,23 +129,11 @@
       </documentation>
    </annotation>
 
-   <annotation>
-      <appinfo>
-         <meta.section type="apiInfo"/>
-      </appinfo>
-      <documentation>
-         The user may override these associations using the customize perspective dialog.  Regardless of these associations,
-action sets which the user turns off will never appear and action sets which the user turns on will always be visible.
-      </documentation>
-   </annotation>
-
-
-
 
    <annotation>
-      <appinfo>
+      <appInfo>
          <meta.section type="copyright"/>
-      </appinfo>
+      </appInfo>
       <documentation>
          Copyright (c) 2002, 2007 IBM Corporation and others.&lt;br&gt;
 All rights reserved. This program and the accompanying materials are made
diff --git a/bundles/org.eclipse.ui/schema/actionSets.exsd b/bundles/org.eclipse.ui/schema/actionSets.exsd
index 0ad7f9d..d81dbfc 100644
--- a/bundles/org.eclipse.ui/schema/actionSets.exsd
+++ b/bundles/org.eclipse.ui/schema/actionSets.exsd
@@ -7,6 +7,11 @@
       </appInfo>
       <documentation>
          &lt;p&gt;
+&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
+Do not use this extension point, it will be removed in future versions of this product.
+Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
+&lt;/p&gt;
+&lt;p&gt;
 This extension point is used to add menus, menu items 
 and toolbar buttons to the common areas in the Workbench
 window. These contributions are collectively known 
@@ -29,7 +34,7 @@
    <element name="extension">
       <annotation>
          <appInfo>
-            <meta.element />
+            <meta.element deprecated="true" />
          </appInfo>
       </annotation>
       <complexType>
@@ -65,6 +70,9 @@
 
    <element name="actionSet">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element is used to define a group of actions and/or menus.
          </documentation>
@@ -113,6 +121,9 @@
 
    <element name="action">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element defines an action that the user can invoke in the UI.
          </documentation>
@@ -367,6 +378,9 @@
 
    <element name="parameter">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             A parameter element to be used within an IExecutableExtension element.  This will be passed as initialization data to the instantiated class.
          </documentation>
@@ -391,6 +405,9 @@
 
    <element name="class">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             The element version of the &lt;code&gt;class&lt;/code&gt; attribute.  This is used when the class implements &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt; and there is parameterized data that you wish used in its initialization.
          </documentation>
@@ -412,6 +429,44 @@
       </complexType>
    </element>
 
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The value of the class attribute must be the fully qualified name of a class that implements &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowActionDelegate&lt;/samp&gt; or &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowPulldownDelegate&lt;/samp&gt;. The latter should be implemented in cases where the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;pulldown&lt;/samp&gt;. This class is the handler responsible for performing the action. If the &lt;samp&gt;retarget&lt;/samp&gt; attribute is true, this attribute is ignored and should not be supplied. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
+&lt;p&gt;
+The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
+&lt;p&gt;
+It is important to note that the workbench does not generate menus on a plug-in&apos;s behalf. Menu paths must reference menus that already exist.
+&lt;p&gt;
+Action and menu labels may contain special characters that encode mnemonics using the following rules:
+&lt;ol&gt;
+&lt;li&gt;
+Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
+&lt;/ol&gt;
+If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the Eclipse Platform API was frozen. Changing the behavior now would break every plug-in which relies upon the existing behavior.
+&lt;p&gt;
+The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
+&lt;pre&gt;
+ &lt;selection
+  class=&quot;org.eclipse.core.resources.IFile&quot;
+  name=&quot;*.java&quot;&gt;
+ &lt;/selection&gt;
+&lt;/pre&gt;
+can be expressed using:
+&lt;pre&gt;
+ &lt;enablement&gt;
+  &lt;and&gt;
+   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
+   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
+  &lt;/and&gt;
+ &lt;/enablement&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
    <annotation>
       <appInfo>
          <meta.section type="examples"/>
@@ -522,44 +577,6 @@
 
    <annotation>
       <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the class attribute must be the fully qualified name of a class that implements &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowActionDelegate&lt;/samp&gt; or &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowPulldownDelegate&lt;/samp&gt;. The latter should be implemented in cases where the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;pulldown&lt;/samp&gt;. This class is the handler responsible for performing the action. If the &lt;samp&gt;retarget&lt;/samp&gt; attribute is true, this attribute is ignored and should not be supplied. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;p&gt;
-It is important to note that the workbench does not generate menus on a plug-in&apos;s behalf. Menu paths must reference menus that already exist.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the Eclipse Platform API was frozen. Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-   <annotation>
-      <appInfo>
          <meta.section type="implementation"/>
       </appInfo>
       <documentation>
diff --git a/bundles/org.eclipse.ui/schema/editorActions.exsd b/bundles/org.eclipse.ui/schema/editorActions.exsd
index 494b2e8..0965f0c 100644
--- a/bundles/org.eclipse.ui/schema/editorActions.exsd
+++ b/bundles/org.eclipse.ui/schema/editorActions.exsd
@@ -2,11 +2,16 @@
 <!-- Schema file written by PDE -->
 <schema targetNamespace="org.eclipse.ui" xmlns="http://www.w3.org/2001/XMLSchema">
 <annotation>
-      <appinfo>
+      <appInfo>
          <meta.schema plugin="org.eclipse.ui" id="editorActions" name="Editor Menus, Toolbars and Actions"/>
-      </appinfo>
+      </appInfo>
       <documentation>
-         This extension point is used to add actions to the menu 
+         &lt;p&gt;
+&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
+Do not use this extension point, it will be removed in future versions of this product.
+Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
+&lt;/p&gt;
+This extension point is used to add actions to the menu 
 and toolbar for editors registered by other plug-ins.
 &lt;p&gt;
 You can now use &lt;a href=&quot;org_eclipse_ui_menus.html&quot;&gt;org.eclipse.ui.menus&lt;/a&gt; to place commands in menus and toolbars as well.
@@ -32,6 +37,11 @@
    <include schemaLocation="commonExpression.exsd"/>
 
    <element name="extension">
+      <annotation>
+         <appInfo>
+            <meta.element deprecated="true" />
+         </appInfo>
+      </annotation>
       <complexType>
          <sequence>
             <element ref="editorContribution" minOccurs="1" maxOccurs="unbounded"/>
@@ -55,9 +65,9 @@
                <documentation>
                   an optional name of the extension instance
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute translatable="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
@@ -65,6 +75,9 @@
 
    <element name="editorContribution">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element is used to define a group of editor actions and/or menus.
          </documentation>
@@ -86,9 +99,9 @@
                <documentation>
                   a unique identifier of a registered editor that is the target of this contribution.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="identifier" basedOn="org.eclipse.ui.editors/editor/@id"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
@@ -96,6 +109,9 @@
 
    <element name="action">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element defines an action that the user can invoke in the UI.
          </documentation>
@@ -120,9 +136,9 @@
                <documentation>
                   a translatable name used either as the menu item text or toolbar button label.  The name can include mnenomic information. This label should either be non-empty or a definitionId should be provided.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute translatable="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="accelerator" type="string">
@@ -130,9 +146,9 @@
                <documentation>
                   &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;definitionId&lt;/samp&gt; attribute instead.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute deprecated="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="definitionId" type="string">
@@ -140,9 +156,9 @@
                <documentation>
                   Specifies the command that this action will handle. By specifying and action, the key binding service can assign a key sequence to this action. See the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt; for more information.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="menubarPath" type="string">
@@ -167,9 +183,9 @@
                   a relative path of an icon used to visually represent the action in its context.
 If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in toolbars but not in menus. Enabled actions will be represented in menus by the hoverIcon.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="resource"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="disabledIcon" type="string">
@@ -177,9 +193,9 @@
                <documentation>
                   a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in toolbars but not in menus. Icons for disabled actions in menus will be supplied by the OS.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="resource"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="hoverIcon" type="string">
@@ -187,9 +203,9 @@
                <documentation>
                   a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="resource"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="tooltip" type="string">
@@ -197,9 +213,9 @@
                <documentation>
                   a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute translatable="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="helpContextId" type="string">
@@ -255,9 +271,9 @@
                <documentation>
                   the name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorActionDelegate"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="enablesFor" type="string">
@@ -337,6 +353,9 @@
 
    <element name="parameter">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             A parameter element to be used within an IExecutableExtension element.  This will be passed as initialization data to the instantiated class.
          </documentation>
@@ -361,6 +380,9 @@
 
    <element name="class">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             The element version of the &lt;code&gt;class&lt;/code&gt; attribute.  This is used when the class implements &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt; and there is parameterized data that you wish used in its initialization.
          </documentation>
@@ -374,18 +396,19 @@
                <documentation>
                   A class that implements &lt;code&gt;org.eclipse.ui.IEditorActionDelegate&lt;/code&gt;.  It may also implement &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt;.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="java"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
    </element>
 
+
    <annotation>
-      <appinfo>
+      <appInfo>
          <meta.section type="examples"/>
-      </appinfo>
+      </appInfo>
       <documentation>
          The following is an example of an editor action extension: 
 &lt;p&gt;
@@ -460,9 +483,31 @@
    </annotation>
 
    <annotation>
-      <appinfo>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         The Workbench provides a built-in &quot;Default Text Editor&quot;. Plug-ins can contribute into this default editor or editors provided by other plug-ins.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2007 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>
+
+   <annotation>
+      <appInfo>
          <meta.section type="apiInfo"/>
-      </appinfo>
+      </appInfo>
       <documentation>
          The value of the class attribute must be a fully qualified
 name of a Java class that implements 
@@ -532,28 +577,4 @@
       </documentation>
    </annotation>
 
-
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         The Workbench provides a built-in &quot;Default Text Editor&quot;. Plug-ins can contribute into this default editor or editors provided by other plug-ins.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="copyright"/>
-      </appinfo>
-      <documentation>
-         Copyright (c) 2000, 2007 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>
diff --git a/bundles/org.eclipse.ui/schema/popupMenus.exsd b/bundles/org.eclipse.ui/schema/popupMenus.exsd
index 6089503..70b95e2 100644
--- a/bundles/org.eclipse.ui/schema/popupMenus.exsd
+++ b/bundles/org.eclipse.ui/schema/popupMenus.exsd
@@ -6,7 +6,12 @@
          <meta.schema plugin="org.eclipse.ui" id="popupMenus" name="Pop-up Menus"/>
       </appInfo>
       <documentation>
-         This extension point is used to add new actions to context menus owned by other plug-ins.  Action contributions may be made against a specific object type (&lt;samp&gt;objectContribution&lt;/samp&gt;) or against a specific context menu of a view or editor part (&lt;samp&gt;viewerContribution&lt;/samp&gt;). When using &lt;samp&gt;objectContribution&lt;/samp&gt;, the contribution will appear in all view or editor part context menus where objects of the specified type are selected. In contrast, using &lt;samp&gt;viewerContribution&lt;/samp&gt;, the contribution will only appear in the specified context menu of a view or editor, regardless of the selection.
+         &lt;p&gt;
+&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
+Do not use this extension point, it will be removed in future versions of this product.
+Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
+&lt;/p&gt;
+This extension point is used to add new actions to context menus owned by other plug-ins.  Action contributions may be made against a specific object type (&lt;samp&gt;objectContribution&lt;/samp&gt;) or against a specific context menu of a view or editor part (&lt;samp&gt;viewerContribution&lt;/samp&gt;). When using &lt;samp&gt;objectContribution&lt;/samp&gt;, the contribution will appear in all view or editor part context menus where objects of the specified type are selected. In contrast, using &lt;samp&gt;viewerContribution&lt;/samp&gt;, the contribution will only appear in the specified context menu of a view or editor, regardless of the selection.
 &lt;p&gt;
 You can now use &lt;a href=&quot;org_eclipse_ui_menus.html&quot;&gt;org.eclipse.ui.menus&lt;/a&gt; to place commands editor or view contexts menus as well.
 &lt;/p&gt;
@@ -32,7 +37,7 @@
    <element name="extension">
       <annotation>
          <appInfo>
-            <meta.element />
+            <meta.element deprecated="true" />
          </appInfo>
       </annotation>
       <complexType>
@@ -69,6 +74,9 @@
 
    <element name="objectContribution">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element is used to define a group of actions and/or menus for any viewer context menus for which the objects of the specified type are selected.  &lt;code&gt;enablement&lt;/code&gt; in this element refers to core expression enablement, as defined in &lt;a href=&quot;org_eclipse_core_expressions_definitions.html&quot;&gt;org.eclipse.core.expressions.definitions&lt;/a&gt;, and effects the enablement of the objectContribution not the contained actions.
          </documentation>
@@ -118,6 +126,9 @@
 
    <element name="viewerContribution">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element is used to define a group of actions and/or menus for a specific view or editor part context menu.
          </documentation>
@@ -148,7 +159,7 @@
    <element name="action">
       <annotation>
          <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
+            <meta.element labelAttribute="label" icon="icon" deprecated="true"/>
          </appInfo>
          <documentation>
             This element defines an action that the user can invoke in the UI.
@@ -346,7 +357,7 @@
    <element name="filter">
       <annotation>
          <appInfo>
-            <meta.element labelAttribute="name"/>
+            <meta.element labelAttribute="name" deprecated="true"/>
          </appInfo>
          <documentation>
             This element is used to evaluate the attribute state of each object in the current selection. A match only if each object in the selection has the specified attribute state. Each object in the selection must implement, or adapt to, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.
@@ -372,6 +383,9 @@
 
    <element name="parameter">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             A parameter element to be used within an IExecutableExtension element.  This will be passed as initialization data to the instantiated class.
          </documentation>
@@ -396,6 +410,9 @@
 
    <element name="class">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             The element version of the &lt;code&gt;class&lt;/code&gt; attribute.  This is used when the class implements &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt; and there is parameterized data that you wish used in its initialization.
          </documentation>
@@ -420,100 +437,6 @@
 
    <annotation>
       <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the action attribute &lt;samp&gt;class&lt;/samp&gt;
-must be a fully qualified class name of a Java class 
-that implements &lt;samp&gt;org.eclipse.ui.IObjectActionDelegate&lt;/samp&gt;
-in the case of object contributions, 
-&lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;
-for contributions to context menus that belong to views, 
-or &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;
-for contributions to context menus that belong to editors.  
-In all cases, the implementing class is loaded as late 
-as possible to avoid loading the entire plug-in before 
-it is really needed. 
-&lt;p&gt;
-Note: For backwards compatibility, 
-&lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; may be 
-implemented for object contributions. 
-&lt;p&gt;
-Conext menu extension within a part is only possible 
-when the target part publishes a menu for extension.  
-This is strongly encouraged, as it improves the 
-extensibility of the product. To accomplish this 
-each part should publish any context menus which are 
-defined by calling 
-&lt;samp&gt;IWorkbenchPartSite.registerContextMenu&lt;/samp&gt;.  
-Once this has been done the workbench will 
-automatically insert any action extensions which exist. 
-&lt;p&gt;
-A menu id must be provided for each registered menu.  
-For consistency across parts the following strategy 
-should be adopted by all part implementors. 
-&lt;p&gt;
-&lt;ul&gt;
-&lt;li&gt;
-If the target part has only one context menu it 
-should be registered with id == part id.  This can be 
-done easily by calling 
-&lt;samp&gt;registerContextMenu(MenuManager, ISelectionProvider)&lt;/samp&gt;.  
-Extenders may use the part id itself as the targetID for 
-the action extension. &lt;/li&gt;
-&lt;li&gt;
-If the target part has more than one context menu a 
-unique id should be defined for each.  Prefix each id 
-with the part id and publish these id&apos;s within 
-the javadoc for the target part.  Register each 
-menu at runtime by calling 
-&lt;samp&gt;registerContextMenu(String, MenuManager, ISelectionProvider)&lt;/samp&gt;. 
-Extenders will use the unique menu id as the targetID 
-for the action extension. &lt;/li&gt;&lt;/ul&gt;
-&lt;p&gt;
-Any context menu which is registered with the workbench 
-also should contain a standard insertion point with id 
-&lt;samp&gt;IWorkbenchActionConstants.MB_ADDITIONS&lt;/samp&gt;.  
-Other plug-ins will use this value as a reference 
-point for insertion.  The insertion point may be 
-defined by adding a GroupMarker to the menu at an 
-appropriate location for insertion. 
-&lt;p&gt;
-An object in the workbench which is the selection 
-in a context menu may define an 
-&lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.  This is a 
-filtering strategy which can perform type specific 
-filtering.  The workbench will retrieve the filter 
-for the selection by testing to see if it implements 
-&lt;samp&gt;IActionFilter&lt;/samp&gt;.  If that fails, the 
-workbench will ask for a filter through the 
-&lt;samp&gt;IAdaptable&lt;/samp&gt; mechanism.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics which are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity. 
-&lt;p&gt;
-If two or more actions are contributed to a menu by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
          <meta.section type="examples"/>
       </appInfo>
       <documentation>
@@ -640,4 +563,98 @@
       </documentation>
    </annotation>
 
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The value of the action attribute &lt;samp&gt;class&lt;/samp&gt;
+must be a fully qualified class name of a Java class 
+that implements &lt;samp&gt;org.eclipse.ui.IObjectActionDelegate&lt;/samp&gt;
+in the case of object contributions, 
+&lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;
+for contributions to context menus that belong to views, 
+or &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;
+for contributions to context menus that belong to editors.  
+In all cases, the implementing class is loaded as late 
+as possible to avoid loading the entire plug-in before 
+it is really needed. 
+&lt;p&gt;
+Note: For backwards compatibility, 
+&lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; may be 
+implemented for object contributions. 
+&lt;p&gt;
+Conext menu extension within a part is only possible 
+when the target part publishes a menu for extension.  
+This is strongly encouraged, as it improves the 
+extensibility of the product. To accomplish this 
+each part should publish any context menus which are 
+defined by calling 
+&lt;samp&gt;IWorkbenchPartSite.registerContextMenu&lt;/samp&gt;.  
+Once this has been done the workbench will 
+automatically insert any action extensions which exist. 
+&lt;p&gt;
+A menu id must be provided for each registered menu.  
+For consistency across parts the following strategy 
+should be adopted by all part implementors. 
+&lt;p&gt;
+&lt;ul&gt;
+&lt;li&gt;
+If the target part has only one context menu it 
+should be registered with id == part id.  This can be 
+done easily by calling 
+&lt;samp&gt;registerContextMenu(MenuManager, ISelectionProvider)&lt;/samp&gt;.  
+Extenders may use the part id itself as the targetID for 
+the action extension. &lt;/li&gt;
+&lt;li&gt;
+If the target part has more than one context menu a 
+unique id should be defined for each.  Prefix each id 
+with the part id and publish these id&apos;s within 
+the javadoc for the target part.  Register each 
+menu at runtime by calling 
+&lt;samp&gt;registerContextMenu(String, MenuManager, ISelectionProvider)&lt;/samp&gt;. 
+Extenders will use the unique menu id as the targetID 
+for the action extension. &lt;/li&gt;&lt;/ul&gt;
+&lt;p&gt;
+Any context menu which is registered with the workbench 
+also should contain a standard insertion point with id 
+&lt;samp&gt;IWorkbenchActionConstants.MB_ADDITIONS&lt;/samp&gt;.  
+Other plug-ins will use this value as a reference 
+point for insertion.  The insertion point may be 
+defined by adding a GroupMarker to the menu at an 
+appropriate location for insertion. 
+&lt;p&gt;
+An object in the workbench which is the selection 
+in a context menu may define an 
+&lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.  This is a 
+filtering strategy which can perform type specific 
+filtering.  The workbench will retrieve the filter 
+for the selection by testing to see if it implements 
+&lt;samp&gt;IActionFilter&lt;/samp&gt;.  If that fails, the 
+workbench will ask for a filter through the 
+&lt;samp&gt;IAdaptable&lt;/samp&gt; mechanism.
+&lt;p&gt;
+Action and menu labels may contain special characters that encode mnemonics which are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity. 
+&lt;p&gt;
+If two or more actions are contributed to a menu by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
+&lt;p&gt;
+The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
+&lt;pre&gt;
+ &lt;selection
+  class=&quot;org.eclipse.core.resources.IFile&quot;
+  name=&quot;*.java&quot;&gt;
+ &lt;/selection&gt;
+&lt;/pre&gt;
+can be expressed using:
+&lt;pre&gt;
+ &lt;enablement&gt;
+  &lt;and&gt;
+   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
+   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
+  &lt;/and&gt;
+ &lt;/enablement&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
 </schema>
diff --git a/bundles/org.eclipse.ui/schema/viewActions.exsd b/bundles/org.eclipse.ui/schema/viewActions.exsd
index 64dc294..e0edde2 100644
--- a/bundles/org.eclipse.ui/schema/viewActions.exsd
+++ b/bundles/org.eclipse.ui/schema/viewActions.exsd
@@ -2,11 +2,16 @@
 <!-- Schema file written by PDE -->
 <schema targetNamespace="org.eclipse.ui" xmlns="http://www.w3.org/2001/XMLSchema">
 <annotation>
-      <appinfo>
+      <appInfo>
          <meta.schema plugin="org.eclipse.ui" id="viewActions" name="View Menus,Toolbars and Actions"/>
-      </appinfo>
+      </appInfo>
       <documentation>
-         &lt;p&gt;This extension point is used to add actions to the pulldown menu and toolbar for views registered by other plug-ins. Each view has a local pulldown menu normally activated 
+         &lt;p&gt;
+&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
+Do not use this extension point, it will be removed in future versions of this product.
+Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
+&lt;/p&gt;
+&lt;p&gt;This extension point is used to add actions to the pulldown menu and toolbar for views registered by other plug-ins. Each view has a local pulldown menu normally activated 
 by clicking on the top right triangle button. Other plug-ins can contribute submenus and actions to this menu. Plug-ins may also contribute actions to a view toolbar. View owners are first given a chance to populate these areas. Optional additions by other plug-ins are appended.&lt;/p&gt;
 &lt;p&gt;
 You can now use &lt;a href=&quot;org_eclipse_ui_menus.html&quot;&gt;org.eclipse.ui.menus&lt;/a&gt; to place commands in menus and toolbars as well.
@@ -20,9 +25,9 @@
 
    <element name="extension">
       <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
+         <appInfo>
+            <meta.element deprecated="true" />
+         </appInfo>
       </annotation>
       <complexType>
          <sequence>
@@ -47,9 +52,9 @@
                <documentation>
                   an optional name of the extension instance
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute translatable="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
@@ -57,6 +62,9 @@
 
    <element name="viewContribution">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element is used to define a group of view actions and/or menus.
          </documentation>
@@ -78,9 +86,9 @@
                <documentation>
                   a unique identifier of a registered view that is the target of this contribution.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="identifier" basedOn="org.eclipse.ui.views/view/@id"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
@@ -88,6 +96,9 @@
 
    <element name="action">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             This element defines an action that the user can invoke in the UI.
          </documentation>
@@ -112,9 +123,9 @@
                <documentation>
                   a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute translatable="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="definitionId" type="string">
@@ -122,9 +133,9 @@
                <documentation>
                   Specifies the command that this action will handle. By specifying and action, the key binding service can assign a key sequence to this action. See the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt; for more information.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="menubarPath" type="string">
@@ -147,9 +158,9 @@
                   a relative path of an icon used to visually represent the action in its context.
 If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in the toolbar but not in the pulldown menu.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="resource"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="disabledIcon" type="string">
@@ -157,9 +168,9 @@
                <documentation>
                   a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in the toolbar but not in the pulldown menu.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="resource"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="hoverIcon" type="string">
@@ -167,9 +178,9 @@
                <documentation>
                   a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="resource"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="tooltip" type="string">
@@ -177,9 +188,9 @@
                <documentation>
                   a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute translatable="true"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="helpContextId" type="string">
@@ -241,9 +252,9 @@
                <documentation>
                   name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="java" basedOn="org.eclipse.ui.IViewActionDelegate"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
          <attribute name="enablesFor" type="string">
@@ -309,6 +320,9 @@
 
    <element name="parameter">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             A parameter element to be used within an IExecutableExtension element.  This will be passed as initialization data to the instantiated class.
          </documentation>
@@ -333,6 +347,9 @@
 
    <element name="class">
       <annotation>
+         <appInfo>
+            <meta.element deprecated="true"/>
+         </appInfo>
          <documentation>
             The element version of the &lt;code&gt;class&lt;/code&gt; attribute.  This is used when the class implements &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt; and there is parameterized data that you wish used in its initialization.
          </documentation>
@@ -346,18 +363,64 @@
                <documentation>
                   A class that implements &lt;code&gt;org.eclipse.ui.IViewActionDelegate&lt;/code&gt;.  It may also implement &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt;.
                </documentation>
-               <appinfo>
+               <appInfo>
                   <meta.attribute kind="java"/>
-               </appinfo>
+               </appInfo>
             </annotation>
          </attribute>
       </complexType>
    </element>
 
+
    <annotation>
-      <appinfo>
+      <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 a Java class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
+&lt;p&gt;
+The interface &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt; extends &lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; and adds an additional method that allows the 
+delegate to initialize with the view instance it is contributing into.
+&lt;/p&gt;
+&lt;p&gt;
+This extension point can be used to contribute actions into menus previously created by the target view. Omitting the menu path attribute will result in adding the new menu or action at the end of the pulldown menu.
+&lt;/p&gt;
+&lt;p&gt;
+The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
+&lt;/p&gt;
+&lt;p&gt;
+Action and menu labels may contain special characters that encode mnemonics using the following rules:
+&lt;ol&gt;
+&lt;li&gt;
+Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front
+of a selected character in the translated text. Since ampersand is not
+allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
+&lt;/ol&gt;
+If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
+&lt;p&gt;
+The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
+&lt;pre&gt;
+ &lt;selection
+  class=&quot;org.eclipse.core.resources.IFile&quot;
+  name=&quot;*.java&quot;&gt;
+ &lt;/selection&gt;
+&lt;/pre&gt;
+can be expressed using:
+&lt;pre&gt;
+ &lt;enablement&gt;
+  &lt;and&gt;
+   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
+   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
+  &lt;/and&gt;
+ &lt;/enablement&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
          <meta.section type="examples"/>
-      </appinfo>
+      </appInfo>
       <documentation>
          The following is an example of a view action extension:
 &lt;p&gt;
@@ -435,64 +498,18 @@
    </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 a Java class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-&lt;p&gt;
-The interface &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt; extends &lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; and adds an additional method that allows the 
-delegate to initialize with the view instance it is contributing into.
-&lt;/p&gt;
-&lt;p&gt;
-This extension point can be used to contribute actions into menus previously created by the target view. Omitting the menu path attribute will result in adding the new menu or action at the end of the pulldown menu.
-&lt;/p&gt;
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;/p&gt;
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-
-   <annotation>
-      <appinfo>
+      <appInfo>
          <meta.section type="implementation"/>
-      </appinfo>
+      </appInfo>
       <documentation>
          Each view normally comes with a number of standard items on the pulldown menu and local toolbar. Additions from other plug-ins will be appended to the standard complement.
       </documentation>
    </annotation>
 
    <annotation>
-      <appinfo>
+      <appInfo>
          <meta.section type="copyright"/>
-      </appinfo>
+      </appInfo>
       <documentation>
          Copyright (c) 2002, 2007 IBM Corporation and others.&lt;br&gt;
 All rights reserved. This program and the accompanying materials are made