You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2007/12/27 18:45:01 UTC

svn commit: r607099 [13/25] - in /directory/studio/branches/studio-eclipse-3.3: dependencies/eclipse/3.3.1/ dependencies/eclipse/3.3.1/features/ dependencies/eclipse/3.3.1/features/org.eclipse.rcp_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/ dependen...

Added: directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/commonExpression.exsd
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/commonExpression.exsd?rev=607099&view=auto
==============================================================================
--- directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/commonExpression.exsd (added)
+++ directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/commonExpression.exsd Thu Dec 27 09:44:07 2007
@@ -0,0 +1,274 @@
+<?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="commonExpression" name="Common Expressions"/>
+      </appInfo>
+      <documentation>
+         An action&apos;s enablement and/or visibility can be defined using the elements &lt;samp&gt;enablement&lt;/samp&gt; and &lt;samp&gt;visibility&lt;/samp&gt; respectively. These two elements contain a boolean expression that is evaluated to determine the enablement and/or visibility.
+&lt;p&gt;
+The syntax is the same for the &lt;samp&gt;enablement&lt;/samp&gt; and &lt;samp&gt;visibility&lt;/samp&gt; elements. Both contain only one boolean expression sub-element. In the simplest case, this will be an &lt;samp&gt;objectClass&lt;/samp&gt;, &lt;samp&gt;objectState&lt;/samp&gt;, &lt;samp&gt;pluginState&lt;/samp&gt;, or &lt;samp&gt;systemProperty&lt;/samp&gt; element. In the more complex case, the &lt;samp&gt;and&lt;/samp&gt;, &lt;samp&gt;or&lt;/samp&gt;, and &lt;samp&gt;not&lt;/samp&gt; elements can be combined to form a boolean expression. Both the &lt;samp&gt;and&lt;/samp&gt;, and &lt;samp&gt;or&lt;/samp&gt; elements must contain 2 sub-elements. The &lt;samp&gt;not&lt;/samp&gt; element must contain only 1 sub-element.
+&lt;/p&gt;
+      </documentation>
+   </annotation>
+
+   <element name="enablement">
+      <annotation>
+         <documentation>
+            This element is used to define the enablement for the extension.
+         </documentation>
+      </annotation>
+      <complexType>
+         <choice>
+            <element ref="and"/>
+            <element ref="or"/>
+            <element ref="not"/>
+            <element ref="objectClass"/>
+            <element ref="objectState"/>
+            <element ref="pluginState"/>
+            <element ref="systemProperty"/>
+         </choice>
+      </complexType>
+   </element>
+
+   <element name="visibility">
+      <annotation>
+         <documentation>
+            This element is used to define the visibility for the extension.
+         </documentation>
+      </annotation>
+      <complexType>
+         <choice>
+            <element ref="and"/>
+            <element ref="or"/>
+            <element ref="not"/>
+            <element ref="objectClass"/>
+            <element ref="objectState"/>
+            <element ref="pluginState"/>
+            <element ref="systemProperty"/>
+         </choice>
+      </complexType>
+   </element>
+
+   <element name="and">
+      <annotation>
+         <documentation>
+            This element represent a boolean AND operation on the result of evaluating its two sub-element expressions.
+         </documentation>
+      </annotation>
+      <complexType>
+         <choice minOccurs="2" maxOccurs="unbounded">
+            <element ref="and"/>
+            <element ref="or"/>
+            <element ref="not"/>
+            <element ref="objectClass"/>
+            <element ref="objectState"/>
+            <element ref="pluginState"/>
+            <element ref="systemProperty"/>
+         </choice>
+      </complexType>
+   </element>
+
+   <element name="or">
+      <annotation>
+         <documentation>
+            This element represent a boolean OR operation on the result of evaluating its two sub-element expressions.
+         </documentation>
+      </annotation>
+      <complexType>
+         <choice minOccurs="2" maxOccurs="unbounded">
+            <element ref="and"/>
+            <element ref="or"/>
+            <element ref="not"/>
+            <element ref="objectClass"/>
+            <element ref="objectState"/>
+            <element ref="pluginState"/>
+            <element ref="systemProperty"/>
+         </choice>
+      </complexType>
+   </element>
+
+   <element name="not">
+      <annotation>
+         <documentation>
+            This element represent a boolean NOT operation on the result of evaluating its sub-element expressions.
+         </documentation>
+      </annotation>
+      <complexType>
+         <choice>
+            <element ref="and"/>
+            <element ref="or"/>
+            <element ref="not"/>
+            <element ref="objectClass"/>
+            <element ref="objectState"/>
+            <element ref="pluginState"/>
+            <element ref="systemProperty"/>
+         </choice>
+      </complexType>
+   </element>
+
+   <element name="objectClass">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="name"/>
+         </appInfo>
+         <documentation>
+            This element is used to evaluate the class or interface of each object in the current selection. If each object in the selection implements the specified class or interface, the expression is evaluated as true.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified name of a class or interface.  The expression is evaluated as true only if all objects within the selection implement this class or interface.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="java.lang.Object"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="objectState">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="name"/>
+         </appInfo>
+         <documentation>
+            This element is used to evaluate the attribute state of each object in the current selection. If each object in the selection has the specified attribute state, the expression is evaluated as true. To evaluate this type of expression, each object in the selection must implement, or adapt to, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt; interface.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the name of an object&apos;s attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.
+
+@see IResourceActionFilter for a list of the supported constants
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="value" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the required value of the object&apos;s attribute. The acceptable values for the object&apos;s attribute should be publicly declared.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="pluginState">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="id"/>
+         </appInfo>
+         <documentation>
+            This element is used to evaluate the state of a plug-in. The state of the plug-in may be one of the following: &lt;samp&gt;installed&lt;/samp&gt; (equivalent to the OSGi concept of &quot;resolved&quot;) or &lt;samp&gt;activated&lt;/samp&gt; (equivalent to the OSGi concept of &quot;active&quot;).
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the identifier of a plug-in which may or may not exist in the plug-in registry.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="value" use="default" value="installed">
+            <annotation>
+               <documentation>
+                  the required state of the plug-in. The state of the plug-in may be one of the following: &lt;samp&gt;installed&lt;/samp&gt; (equivalent to the OSGi concept of &quot;resolved&quot;) or &lt;samp&gt;activated&lt;/samp&gt; (equivalent to the OSGi concept of &quot;active&quot;).
+               </documentation>
+            </annotation>
+            <simpleType>
+               <restriction base="string">
+                  <enumeration value="installed">
+                  </enumeration>
+                  <enumeration value="activated">
+                  </enumeration>
+               </restriction>
+            </simpleType>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="systemProperty">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="name"/>
+         </appInfo>
+         <documentation>
+            This element is used to evaluate the state of some system property.  The property value is retrieved from the &lt;samp&gt;java.lang.System&lt;/samp&gt;.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the name of the system property.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="value" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the required value of the system property.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         Release 2.0
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2002, 2006 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>

Added: directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/contexts.exsd
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/contexts.exsd?rev=607099&view=auto
==============================================================================
--- directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/contexts.exsd (added)
+++ directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/contexts.exsd Thu Dec 27 09:44:07 2007
@@ -0,0 +1,147 @@
+<?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="contexts" name="Contexts"/>
+      </appInfo>
+      <documentation>
+         &lt;p&gt;
+The &lt;code&gt;org.eclipse.ui.contexts&lt;/code&gt; extension point is used to declare contexts and associated elements.
+&lt;/p&gt;
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="context" minOccurs="0" maxOccurs="unbounded"/>
+         </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>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </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="context">
+      <annotation>
+         <documentation>
+            This element is used to define contexts. 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 registry) is considered valid.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="description" type="string">
+            <annotation>
+               <documentation>
+                  A translatable short description of this context for display in the UI.
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The unique identifier of this context.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The translatable name of this context for display in the UI.
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="parentId" type="string">
+            <annotation>
+               <documentation>
+                  The unique identifier of the parent of this context.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;p&gt;
+3.0
+&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 use of the &lt;code&gt;org.eclipse.ui.contexts&lt;/code&gt; extension point.
+&lt;/p&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         &lt;p&gt;
+In general, it is preferrably to declare all contexts statically (in &lt;code&gt;plugin.xml&lt;/code&gt;).  This is so that users can use them in key bindings.  However, it is possible to declare contexts at run-time.  To do this, retrieve the &lt;code&gt;org.eclipse.ui.commands.IContextService&lt;/code&gt; from a workbench component, call &lt;code&gt;getContext(contextId)&lt;/code&gt; and then call &lt;code&gt;Context#define(...)&lt;/code&gt;.
+Contexts defined programmatically must be cleaned up by the plugin if it is unloaded.
+&lt;/p&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </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>

Added: directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/decorators.exsd
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/decorators.exsd?rev=607099&view=auto
==============================================================================
--- directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/decorators.exsd (added)
+++ directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/decorators.exsd Thu Dec 27 09:44:07 2007
@@ -0,0 +1,287 @@
+<?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="decorators" name="Decorators"/>
+      </appInfo>
+      <documentation>
+         This extension point is used to add decorators to views that subscribe to a decorator manager. As of 2.1 there is the concept of a lightweight decorator that will handle the image management for the decorator. It is also possible to declare a lightweight decorator that simply overlays an icon when enabled that requires no implementation from the plug-in.
+      </documentation>
+   </annotation>
+
+   <include schemaLocation="commonExpression.exsd"/>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="decorator" 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>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="decorator">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="label"/>
+         </appInfo>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="description" minOccurs="0" maxOccurs="1"/>
+            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
+         </sequence>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a unique name that will be used to identify this decorator.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="label" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a translatable name that will be used in the workbench window menu to represent this decorator.
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string">
+            <annotation>
+               <documentation>
+                  a fully qualified name of a class which implements &lt;samp&gt;org.eclipse.jface.viewers.ILabelDecorator&lt;/samp&gt;
+if &lt;b&gt;&lt;i&gt; lightweight&lt;/i&gt;&lt;/b&gt; is false or  &lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt; if lightweight is true. The default value is false. If there is no &lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt; element it is assumed to be lightweight.
+
+In the case where there is no decorator class this is said to be declarative. Declarative decorators with an enablement based on session properties, persistant properties or project description values (such as natures) will need to be updated explicitly when these values change using &lt;code&gt;IDecoratorManager#update()&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ILabelDecorator"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="objectClass" type="string">
+            <annotation>
+               <documentation>
+                  a fully qualified name of a class which this decorator will be applied to. Deprecated in 2.1. Make this value part of the enablement.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="java.lang.Object" deprecated="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="adaptable" type="boolean">
+            <annotation>
+               <documentation>
+                  a flag that indicates if types that can adapt to objects other than thier objectClass should use this object contribution.
+For non-lightweight decorators, this flag only has an effect if objectClass adapts to IResource.  For lightweight decorators, adaptability to any objectClass is supported as long as adaptability is defined through the adapter manager (see the class org.eclipse.runtime.IAdapterManager). Default value is false.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="state" type="boolean">
+            <annotation>
+               <documentation>
+                  a flag that indicates if the decorator is on by default.  Default value is false.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="lightweight">
+            <annotation>
+               <documentation>
+                  The lightweight flag indicates that the decorator is either
+declarative or implements 
+&lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt;.
+               </documentation>
+            </annotation>
+            <simpleType>
+               <restriction base="string">
+                  <enumeration value="true">
+                  </enumeration>
+                  <enumeration value="false">
+                  </enumeration>
+               </restriction>
+            </simpleType>
+         </attribute>
+         <attribute name="icon" type="string">
+            <annotation>
+               <documentation>
+                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/i&gt;&lt;/b&gt; and the &lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt; is not specified this is the path to the overlay image to apply
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="resource"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="location">
+            <annotation>
+               <documentation>
+                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/i&gt;&lt;/b&gt; this is the location to apply the decorator to. Defaults to BOTTOM_RIGHT.
+               </documentation>
+            </annotation>
+            <simpleType>
+               <restriction base="string">
+                  <enumeration value="TOP_LEFT">
+                  </enumeration>
+                  <enumeration value="TOP_RIGHT">
+                  </enumeration>
+                  <enumeration value="BOTTOM_LEFT">
+                  </enumeration>
+                  <enumeration value="BOTTOM_RIGHT">
+                  </enumeration>
+                  <enumeration value="UNDERLAY">
+                  </enumeration>
+               </restriction>
+            </simpleType>
+         </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 decorator. This will be shown in the Decorators preference page so it is recommended that this is included. Default value is an empty String.
+         </documentation>
+      </annotation>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         Release 2.0
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following are example of decorators:
+&lt;p&gt;
+A full decorator. The plug-in developer must handle their own image support.
+&lt;/p&gt;
+&lt;p&gt;
+&lt;pre&gt;
+ &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
+        &lt;decorator
+            id=&quot;com.xyz.decorator&quot; 
+            label=&quot;XYZ Decorator&quot; 
+            state=&quot;true&quot; 
+            class=&quot;com.xyz.DecoratorContributor&quot;&gt;
+            &lt;enablement&gt;
+                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
+            &lt;/enablement&gt;
+        &lt;/decorator&gt;
+    &lt;/extension&gt; 
+&lt;/pre&gt;
+&lt;/p&gt;
+
+&lt;p&gt;
+A lightweight decorator. There is a concrete class but as it is an
+ILightweightLabelDecorator it only needs to supply text and an ImageDescriptor and therefore needs no resource handling.
+&lt;/p&gt;
+
+&lt;p&gt;
+&lt;pre&gt;
+ &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
+        &lt;decorator
+            id=&quot;com.xyz.lightweight.decorator&quot; 
+            label=&quot;XYZ Lightweight Decorator&quot;                 
+            state=&quot;false&quot; 
+            class=&quot;com.xyz.LightweightDecoratorContributor&quot; 
+            lightweight=&quot;true&quot; &gt;
+            &lt;enablement&gt;
+                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
+            &lt;/enablement&gt;
+        &lt;/decorator&gt;
+    &lt;/extension&gt; 
+&lt;/pre&gt;
+&lt;/p&gt;
+&lt;p&gt;A declarative lightweight decorator. There is no concrete class so it
+supplies an icon and a quadrant to apply that icon.
+&lt;/p&gt;
+
+&lt;p&gt;
+&lt;pre&gt;
+ &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
+        &lt;decorator
+            id=&quot;com.xyz.lightweight.declarative.decorator&quot; 
+            label=&quot;XYZ Lightweight Declarative Decorator&quot; 
+            state=&quot;false&quot; 
+            lightweight=&quot;true&quot; 
+            icon=&quot;icons/full/declarative.gif&quot; 
+            location=&quot;TOP_LEFT&quot;&gt; 
+            &lt;enablement&gt;
+                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
+            &lt;/enablement&gt;
+        &lt;/decorator&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 the fully qualified name of a class that implements  &lt;samp&gt;org.eclipse.jface.viewers.ILabelDecorator&lt;/samp&gt; (if lightweight is false) or &lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt;.  This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed. Declarative decorators do not entail any plug-in activation and should be used whenever possible. Non-lightweight decorators will eventually be deprecated.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         Plug-ins may use this extension point to add new decorators to be applied to views that use the decorator manager as their label decorator.
+To use the decorator manager, use the result of IViewPart.getDecoratorManager() as the decorator for an instance of DecoratingLabelProvider.
+This is currently in use by the Resource Navigator.
+      </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>

Added: directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/dropActions.exsd
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/dropActions.exsd?rev=607099&view=auto
==============================================================================
--- directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/dropActions.exsd (added)
+++ directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/dropActions.exsd Thu Dec 27 09:44:07 2007
@@ -0,0 +1,167 @@
+<?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="dropActions" name="Drop Actions"/>
+      </appInfo>
+      <documentation>
+         This extension point is used to add drop behaviour to 
+views defined by other plugins. 
+&lt;p&gt;
+Due to the UI layering imposed by the plugin 
+mechanism, views are often not aware of the content 
+and nature of other views. This can make drag and 
+drop operations between plugins difficult. 
+For example, one may wish to provide Java 
+refactoring support whereby the user drags a 
+method from the Java editor&apos;s content outliner 
+into another java file in the resource navigator. 
+Since the resource navigator doesn&apos;t know anything 
+about Java content, it doesn&apos;t know how to behave 
+when java methods are dropped onto it.  
+Similarly, an ISV may want to drop some of 
+their content into one of the Java viewers. 
+&lt;p&gt;
+The &lt;samp&gt;org.eclipse.ui.dropActions&lt;/samp&gt; extension point is 
+provided by the Platform to address these situations. 
+This mechanism delegates the drop behaviour back to 
+the originator of the drag operation. 
+This behaviour is contained in an action that 
+must implement 
+&lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;.  
+The viewer that is the source of the drag 
+operation must support 
+&lt;samp&gt;the org.eclipse.ui.part.PluginTransfer&lt;/samp&gt;
+transfer type, and place a 
+&lt;samp&gt;PluginTransferData&lt;/samp&gt; object in the drag event.
+See org.eclipse.jface.viewers.StructuredViewer#addDragSupport 
+to learn how to add drag support to a viewer.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="action" 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>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="action">
+      <complexType>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a unique identifier that can be used to reference this action
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the name of the fully qualified class that implements 
+&lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.IDropActionDelegate"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of a drop action extension: 
+&lt;p&gt;
+&lt;pre&gt;
+    &lt;extension point=&quot;org.eclipse.ui.dropActions&quot;&gt; 
+        &lt;action 
+            id=&quot;my_drop_action&quot; 
+            class=&quot;com.xyz.eclipse.TestDropAction&quot;&gt; 
+        &lt;/action&gt; 
+    &lt;/extension&gt;  
+&lt;/pre&gt;
+&lt;/p&gt;
+Here is an example of a drag listener that makes use of the drop
+action defined above.
+&lt;p&gt;
+&lt;pre&gt; 
+class MyDragListener extends DragSourceAdapter { 
+    public void dragSetData(DragSourceEvent event) { 
+        if (PluginTransfer.getInstance().isSupportedType(event.dataType)) { 
+            byte[] dataToSend = ...//enter the data to be sent. 
+            event.data = new PluginTransferData( 
+                &quot;my_drop_action&quot;, dataToSend); 
+        } 
+    } 
+} 
+&lt;/pre&gt;
+&lt;/p&gt;
+For a more complete example, see the Platform 
+readme example.  In that example, a drop action is 
+defined in ReadmeDropActionDelegate, and it is used 
+by ReadmeContentOutlineDragListener.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The value of the class attribute must be a fully qualified name of a Java class that implements &lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         The workbench does not provide an implementation for this extension point. Plug-ins can contribute to this extension point to add drop behavior to views defined by other plugins.
+      </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>

Added: directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editorActions.exsd
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editorActions.exsd?rev=607099&view=auto
==============================================================================
--- directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editorActions.exsd (added)
+++ directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editorActions.exsd Thu Dec 27 09:44:07 2007
@@ -0,0 +1,541 @@
+<?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="editorActions" name="Editor Menus, Toolbars and Actions"/>
+      </appInfo>
+      <documentation>
+         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.
+&lt;/p&gt;
+&lt;p&gt;
+The initial contribution set for an editor is defined 
+by another extension point (org.eclipse.ui.editors). 
+One set of actions is created and shared by all 
+instances of the same editor type.  When invoked, 
+these action act upon the active editor.  This 
+extension point follows the same pattern.  Each 
+action extension is created and shared by all 
+instances of the same editor type.  The action 
+class is required to implement 
+&lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;.  
+The active editor is passed to the delegate by invoking 
+&lt;samp&gt;IEditorActionDelegate.setActiveEditor&lt;/samp&gt;.
+      </documentation>
+   </annotation>
+
+   <include schemaLocation="commonAction.exsd"/>
+
+   <include schemaLocation="commonExpression.exsd"/>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="editorContribution" minOccurs="1" 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>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="editorContribution">
+      <annotation>
+         <documentation>
+            This element is used to define a group of editor actions and/or menus.
+         </documentation>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a unique identifier used to reference this contribution.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="targetID" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a unique identifier of a registered editor that is the target of this contribution.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="action">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="label" icon="icon"/>
+         </appInfo>
+         <documentation>
+            This element defines an action that the user can invoke in the UI.
+         </documentation>
+      </annotation>
+      <complexType>
+         <sequence>
+            <choice>
+               <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
+               <element ref="enablement" minOccurs="0" maxOccurs="1"/>
+            </choice>
+            <element ref="class" minOccurs="0" maxOccurs="1"/>
+         </sequence>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a unique identifier used as a reference for this action.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="label" type="string" use="required">
+            <annotation>
+               <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>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="accelerator" type="string">
+            <annotation>
+               <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>
+                  <meta.attribute deprecated="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="definitionId" type="string">
+            <annotation>
+               <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>
+            </annotation>
+         </attribute>
+         <attribute name="menubarPath" type="string">
+            <annotation>
+               <documentation>
+                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the menu bar.
+Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the menu bar.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="toolbarPath" type="string">
+            <annotation>
+               <documentation>
+                  a slash-delimited path (&apos;/&apos;) that is used to specify the location of this action in the toolbar. The first token represents the toolbar identifier (with &quot;Normal&quot; being the default toolbar), while the second token is the named group within the toolbar that this action will be added to. If the group does not exist in the toolbar, it will be created.
+If toolbarPath is omitted, the action will not appear in the toolbar.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="icon" type="string">
+            <annotation>
+               <documentation>
+                  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>
+                  <meta.attribute kind="resource"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="disabledIcon" type="string">
+            <annotation>
+               <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>
+                  <meta.attribute kind="resource"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="hoverIcon" type="string">
+            <annotation>
+               <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>
+                  <meta.attribute kind="resource"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="tooltip" type="string">
+            <annotation>
+               <documentation>
+                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="helpContextId" type="string">
+            <annotation>
+               <documentation>
+                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="style" use="default" value="push">
+            <annotation>
+               <documentation>
+                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
+    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
+      &lt;/tr&gt;
+    &lt;/table&gt;
+               </documentation>
+            </annotation>
+            <simpleType>
+               <restriction base="string">
+                  <enumeration value="push">
+                  </enumeration>
+                  <enumeration value="radio">
+                  </enumeration>
+                  <enumeration value="toggle">
+                  </enumeration>
+               </restriction>
+            </simpleType>
+         </attribute>
+         <attribute name="state" type="boolean">
+            <annotation>
+               <documentation>
+                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorActionDelegate"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="enablesFor" type="string">
+            <annotation>
+               <documentation>
+                  a value indicating the selection count which must be met to enable the action.
+If this attribute is specified and the condition is met, the action is enabled.
+If the condition is not met, the action is disabled.
+If no attribute is specified, the action is enabled for any number of items selected.
+The following attribute formats are supported: 
+    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
+          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
+          items are selected&lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr&gt;
+ &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
+        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
+      &lt;/tr&gt;
+    &lt;/table&gt;
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="actionID" type="string">
+            <annotation>
+               <documentation>
+                  Internal tag for use by the text editors. Should not be used by plug-in developers.  The following IDs have special meaning for the text editor framework:
+&lt;ul&gt;
+&lt;li&gt;&quot;RulerClick&quot;: the contributed action which is invoked upon single-click in the (left) vertical ruler&lt;/li&gt;
+&lt;li&gt;&quot;RulerDoubleClick&quot;: the contributed action which is invoked upon single-click in the (left) vertical ruler&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;
+If multiple extensions contribute ruler actions to the same text editor, the extension whose plug-in is at the top of the prerequisite tree wins. If there are multiple such plug-ins, the first wins.
+&lt;/p&gt;
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="parameter">
+      <annotation>
+         <documentation>
+            A parameter element to be used within an IExecutableExtension element.  This will be passed as initialization data to the instantiated class.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the parameter name
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="value" type="string" use="required">
+            <annotation>
+               <documentation>
+                  the parameter value
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="class">
+      <annotation>
+         <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>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="class" type="string">
+            <annotation>
+               <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>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of an editor action extension: 
+&lt;p&gt;
+&lt;pre&gt;
+   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
+      &lt;editorContribution 
+         id=&quot;com.xyz.xyzContribution&quot; 
+         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
+         &lt;menu
+            id=&quot;XYZ&quot;
+            label=&quot;&amp;amp;XYZ Menu&quot;&gt; 
+            &lt;separator name=&quot;group1&quot;/&gt; 
+         &lt;/menu&gt; 
+         &lt;action 
+            id=&quot;com.xyz.runXYZ&quot; 
+            label=&quot;&amp;amp;Run XYZ Tool&quot; 
+            menubarPath=&quot;XYZ/group1&quot; 
+            toolbarPath=&quot;Normal/additions&quot;
+            style=&quot;toggle&quot;
+            state=&quot;true&quot; 
+            icon=&quot;icons/runXYZ.gif&quot; 
+            tooltip=&quot;Run XYZ Tool&quot; 
+            helpContextId=&quot;com.xyz.run_action_context&quot; 
+            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
+            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
+         &lt;/action&gt; 
+      &lt;/editorContribution&gt; 
+   &lt;/extension&gt; 
+&lt;/pre&gt;
+&lt;/p&gt;
+&lt;p&gt;
+In the example above, the specified action will appear as a check box item in the new top-level menu named &quot;XYZ Menu&quot;, and as a toggle button in the toolbar. The action is enabled if the selection contains only Java file resources.
+&lt;p&gt;
+The following is an other example of an editor action extension: 
+&lt;p&gt;
+&lt;pre&gt;
+   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
+      &lt;editorContribution 
+         id=&quot;com.xyz.xyz2Contribution&quot; 
+         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
+         &lt;menu 
+            id=&quot;XYZ2&quot; 
+            label=&quot;&amp;amp;XYZ2 Menu&quot; 
+            path=&quot;edit/additions&quot;&gt; 
+            &lt;separator name=&quot;group1&quot;/&gt; 
+         &lt;/menu&gt; 
+         &lt;action 
+            id=&quot;com.xyz.runXYZ2&quot; 
+            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
+            menubarPath=&quot;edit/XYZ2/group1&quot;
+            style=&quot;push&quot;
+            icon=&quot;icons/runXYZ2.gif&quot; 
+            tooltip=&quot;Run XYZ2 Tool&quot; 
+            helpContextId=&quot;com.xyz.run_action_context2&quot; 
+            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
+            &lt;enablement&gt;
+               &lt;and&gt;
+                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
+                  &lt;not&gt;
+                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
+                  &lt;/not&gt;
+               &lt;/and&gt;
+            &lt;/enablement&gt;
+         &lt;/action&gt; 
+      &lt;/editorContribution&gt; 
+   &lt;/extension&gt; 
+&lt;/pre&gt;
+&lt;/p&gt;
+&lt;p&gt;
+In the example above, the specified action will appear as a menu item in the sub-menu named &quot;XYZ2 Menu&quot; in the top level &quot;Edit&quot; menu. The action is enabled if the selection contains no Java file resources.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The value of the class attribute must be a fully qualified
+name of a Java class that implements 
+&lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;. 
+This class is loaded as late as possible to 
+avoid loading the entire plug-in before it is really 
+needed. The method &lt;samp&gt;setActiveEditor&lt;/samp&gt; will be 
+called each time an editor of the specified type is 
+activated. Only one set of actions and menus will be 
+created for all instances of the specified editor 
+type, regardless of the number of editor instances 
+currently opened in the Workbench. 
+&lt;p&gt;
+This extension point can be used to contribute actions 
+into menus previously created by the target editor. 
+In addition, menus and actions can be contributed to 
+the Workbench window.  The identifiers for actions and 
+major groups within the Workbench window are defined in 
+&lt;samp&gt;org.eclipse.ui.IWorkbenchActionConstants&lt;/samp&gt;.  
+These should be used as a reference point for 
+the addition of new actions.  Top level menus are 
+created by using the following values for the 
+path attribute: 
+&lt;ul&gt;
+&lt;li&gt;
+additions - represents a named group immediately to the left of the &lt;samp&gt;Window&lt;/samp&gt; menu. 
+&lt;/li&gt;
+&lt;/ul&gt;
+Omitting the path attribute will result in adding the new menu into the additions menu bar group.
+&lt;p&gt;
+Actions and menus added into these paths will only 
+be shown while the associated editor is active. When 
+the editor is closed, menus and actions will be removed.
+&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;
+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>
+         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>

Added: directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editors.exsd
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editors.exsd?rev=607099&view=auto
==============================================================================
--- directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editors.exsd (added)
+++ directory/studio/branches/studio-eclipse-3.3/dependencies/eclipse/3.3.1/plugins/org.eclipse.rcp.source_3.3.2.R33x_r20071022-8y8eE9CEV3FspP8HJrY1M2dS/src/org.eclipse.ui_3.3.1.M20070910-0800b/schema/editors.exsd Thu Dec 27 09:44:07 2007
@@ -0,0 +1,336 @@
+<?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="editors" name="Internal and External Editors"/>
+      </appInfo>
+      <documentation>
+         This extension point is used to add new editors to the 
+workbench.  A editor is a visual component within a 
+workbench page. It is typically used to edit or browse 
+a document or input object.  To open an editor, the user 
+will typically invoke &quot;Open&quot; on an &lt;samp&gt;IFile&lt;/samp&gt;.  
+When this action is performed the workbench registry 
+is consulted to determine an appropriate editor for 
+the file type and then a new instance of the editor 
+type is created.  The actual result depends on the 
+type of the editor.  The workbench provides support 
+for the creation of internal editors, which are tightly 
+integrated into the workbench, and external editors, 
+which are launched in a separate frame window.  
+There are also various level of integration between 
+these extremes. 
+&lt;p&gt;
+In the case of an internal editor tight integration can 
+be achieved between the workbench window and the editor 
+part.  The workbench menu and toolbar are pre-loaded 
+with a number of common actions, such as cut, copy, and 
+paste.  The active part, view or editor, is expected to 
+provide the implementation for these actions. An internal 
+editor may also define new actions which appear in the 
+workbench window.  These actions only appear when the 
+editor is active. 
+&lt;p&gt;
+The integration between the workbench and external
+editors is more tenuous.  In this case the workbench 
+may launch an editor but after has no way of determining
+the state of the external editor or collaborating 
+with it by any means except through the file system.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="editor" 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>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="editor">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="name" icon="icon"/>
+         </appInfo>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="contentTypeBinding" minOccurs="0" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a unique name that will be used to identify this editor
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a translatable name that will be used in the UI for this editor
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="icon" type="string">
+            <annotation>
+               <documentation>
+                  a relative name of the icon that will be used for all resources that match the specified extensions. 
+An icon is not required if you specify a command rather than a class. In that case, the workbench 
+will use the icon provided by the operating system.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="resource"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="extensions" type="string">
+            <annotation>
+               <documentation>
+                  an optional field containing the list of file types understood by the editor.  This is a string containing comma separate file extensions.  For instance, an editor which understands hypertext documents may register for &quot;htm, html&quot;.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string">
+            <annotation>
+               <documentation>
+                  the name of a class that implements &lt;samp&gt;org.eclipse.ui.IEditorPart&lt;/samp&gt;. The attributes &lt;samp&gt;class&lt;/samp&gt;, &lt;samp&gt;command&lt;/samp&gt;, and &lt;samp&gt;launcher&lt;/samp&gt; are mutually exclusive. If this attribute is defined then &lt;samp&gt;contributorClass&lt;/samp&gt; should also be defined.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorPart"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="command" type="string">
+            <annotation>
+               <documentation>
+                  a command to run in order to launch an external editor. The executable command must be located on the system path or in the plug-in&apos;s directory. The attributes &lt;samp&gt;class&lt;/samp&gt;, &lt;samp&gt;command&lt;/samp&gt;, and &lt;samp&gt;launcher&lt;/samp&gt; are mutually exclusive.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="launcher" type="string">
+            <annotation>
+               <documentation>
+                  the name of a class which that implements &lt;samp&gt;org.eclipse.ui.IEditorLauncher&lt;/samp&gt;. 
+A launcher will open an external editor. The attributes &lt;samp&gt;class&lt;/samp&gt;, &lt;samp&gt;command&lt;/samp&gt;, and &lt;samp&gt;launcher&lt;/samp&gt; are mutually exclusive.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorLauncher"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="contributorClass" type="string">
+            <annotation>
+               <documentation>
+                  the name of a class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;. This attribute should only be defined if the &lt;samp&gt;class&lt;/samp&gt; attribute is defined. This class is used to add new actions to the workbench menu and tool bar which reflect the features of the editor type.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorActionBarContributor"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="default" type="boolean" use="default" value="false">
+            <annotation>
+               <documentation>
+                  if true, this editor will be used as the default editor for the
+type. This is only relevant in a case where more than one editor
+is registered for the same type. If an editor is not the default
+for the type, it can still be launched using &quot;Open with...&quot;
+submenu for the selected resource.
+&lt;p&gt;
+Please note that this attribute is only honored for filename and extension associations at this time.  It will not be honored for content type bindings.  Content type-based resolution will occur on a first come, first serve basis and is not explicitly specified.&lt;/p&gt;
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="filenames" type="string">
+            <annotation>
+               <documentation>
+                  an optional field containing the list of file names 
+understood by the editor.  This is a string 
+containing comma separate file names.  For instance, 
+an editor which understands specific hypertext 
+documents may register for &quot;ejb.htm, ejb.html&quot;.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="symbolicFontName" type="string">
+            <annotation>
+               <documentation>
+                  the symbolic name of a font. The symbolic font name must be the id of a defined font (see org.eclipse.ui.fontDefinitions). If this attribute is missing or invalid then the font name is the value of &quot;org.eclipse.jface.textfont&quot; in the editor&apos;s preferences store. If there is no preference store or the key is not defined then the JFace text font will be used. The editor implementation decides if it uses this symbolic font name to set the font.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="matchingStrategy" type="string">
+            <annotation>
+               <documentation>
+                  the name of a class that implements &lt;samp&gt;org.eclipse.ui.IEditorMatchingStrategy&lt;/samp&gt;. This attribute should only be defined if the &lt;samp&gt;class&lt;/samp&gt; attribute is defined. This allows the editor extension to provide its own algorithm for matching the input of one of its editors to a given editor input.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorMatchingStrategy"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="contentTypeBinding">
+      <annotation>
+         <appInfo>
+            <meta.element labelAttribute="contentTypeId"/>
+         </appInfo>
+         <documentation>
+            Advertises that the containing editor understands the given content type and is suitable for editing files of that type.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="contentTypeId" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The content type identifier. This is an ID defined by the &apos;org.eclipse.core.runtime.contentTypes&apos; extension point.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example 
+of an internal editor extension definition: 
+&lt;p&gt;
+&lt;pre&gt;
+   &lt;extension point=&quot;org.eclipse.ui.editors&quot;&gt; 
+      &lt;editor 
+         id=&quot;com.xyz.XMLEditor&quot; 
+         name=&quot;Fancy XYZ XML editor&quot; 
+         icon=&quot;./icons/XMLEditor.gif&quot; 
+         extensions=&quot;xml&quot; 
+         class=&quot;com.xyz.XMLEditor&quot; 
+         contributorClass=&quot;com.xyz.XMLEditorContributor&quot; 
+         symbolicFontName=&quot;org.eclipse.jface.textfont&quot;
+         default=&quot;false&quot;&gt; 
+      &lt;/editor&gt; 
+   &lt;/extension&gt; 
+&lt;/pre&gt;
+&lt;/p&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         If the command attribute is used, it will be treated 
+as an external program command line that will be executed
+ in a platform-dependent manner. 
+&lt;p&gt;
+If the launcher attribute is used the editor will also 
+be treated as an external program.  In this case the 
+specified class must implement 
+&lt;samp&gt;org.eclipse.ui.IEditorLauncher&lt;/samp&gt;. 
+The launcher will be instantiated and then 
+&lt;samp&gt;open(IPath path)&lt;/samp&gt; will be invoked to 
+launch the editor on the provided local file system path. 
+&lt;p&gt;
+If the class attribute is used, the workbench will 
+assume that it is an internal editor and the specified 
+class must implement &lt;samp&gt;org.eclipse.ui.IEditorPart&lt;/samp&gt;.
+It is common practice to 
+&lt;samp&gt;subclass org.eclipse.ui.EditorPart&lt;/samp&gt; when 
+defining a new editor type.  It is also necessary to 
+define a &lt;samp&gt;contributorClass&lt;/samp&gt; attribute.  
+The specified class must implement 
+&lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;, 
+and is used to add new actions to the workbench 
+menu and tool bar which reflect the features of the 
+editor type. 
+&lt;p&gt;
+Within the workbench there may be more than one open 
+editor of a particular type.  For instance, there may 
+be one or more open Java Editors.  To avoid the creation
+of duplicate actions and action images the editor 
+concept has been split into two.  An 
+&lt;samp&gt;IEditorActionBarContributor&lt;/samp&gt; is responsible
+for the creation of actions.  The editor is responsible 
+for action implementation.  Furthermore, the contributor 
+is shared by each open editor.  As a result of this 
+design there is only one set of actions for one or 
+more open editors. 
+&lt;p&gt;
+The contributor will add new actions to the workbench 
+menu and toolbar which reflect the editor type.  These 
+actions are shared and, when invoked, act upon the 
+active editor.  The active editor is passed to the 
+contributor by invoking 
+&lt;samp&gt;IEditorActionBarContributor.setActiveEditor&lt;/samp&gt;.  
+The identifiers for actions and major groups within 
+the workbench window are defined in 
+&lt;samp&gt;org.eclipse.ui.IWorkbenchActionConstants&lt;/samp&gt;.  
+These should be used as a reference point for the 
+addition of new actions.   Top level menus are created 
+by using the following values for the path attribute: 
+&lt;ul&gt;
+&lt;li&gt;
+additions - represents a group to the left of the Window menu. 
+&lt;/li&gt;
+&lt;/ul&gt;
+Actions and menus added into these paths will only be 
+shown while the associated editor is active. When the 
+editor is closed, menus and actions will be removed.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         The workbench provides a &quot;Default Text Editor&quot;. The end user product may contain other editors as part of the shipping bundle. In that case, editors will be registered as extensions using the syntax described above.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2002, 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>