blob: 97e9e75c425879fbde4322bd8febe3a3660ea993 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.gmf.runtime.emf.clipboard.core" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.eclipse.gmf.runtime.emf.clipboard.core" id="clipboardSupport" name="Clipboard Support"/>
</appInfo>
<documentation>
Providers of EMF meta-models can implement extensions on this point
to provide support for copying EMF objects to and pasting them from
the system clipboard. The clipboard support allows extensions to
implement fairly complex metamodel-specific semantics for copy/paste
operations, where some relationships between model elements need
special treatment.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence>
<element ref="factory" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="factory">
<annotation>
<appInfo>
<meta.element labelAttribute="nsURI"/>
</appInfo>
<documentation>
Registers an implementation of the
&lt;code&gt;IClipboardSupportFactory&lt;/code&gt; interface that can create
objects that provide metamodel-specific copy/paste semantics for
EMF objects.
</documentation>
</annotation>
<complexType>
<attribute name="nsURI" type="string">
<annotation>
<documentation>
Either the nsURI or the policy attribute needs to be used. Namespace URI identifying the EPackage for which the extension provides an &lt;code&gt;IClipboardSupportFactory&lt;/code&gt; implementation.
The EPackage represents an EMF metamodel.
WARNING: DO NOT USE. Providing an nsURI does not support the full extensibility capabilities of the ClipboardSupport extension point. Providing a policy class is the recommended approach.
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Fully-qualified name of a class implementing the
&lt;code&gt;IClipboardSupportFactory&lt;/code&gt; interface. This class will
only be loaded and instantiated when needed to copy an EMF object
to the clipboard or when pasting from the clipboard.
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn="org.eclipse.gmf.runtime.emf.clipboard.core.IClipboardSupportFactory"/>
</appInfo>
</annotation>
</attribute>
<attribute name="priority" use="default" value="medium">
<annotation>
<documentation>
Indicates the priority relative to other factories registered for
the same metamodel. The default is medium.
This attribute is &lt;b&gt;deprecated&lt;/b&gt;; a new context-based approach
will be devised soon.
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="lowest">
</enumeration>
<enumeration value="low">
</enumeration>
<enumeration value="medium">
</enumeration>
<enumeration value="high">
</enumeration>
<enumeration value="highest">
</enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="policy" type="string">
<annotation>
<documentation>
Either the nsURI or the policy attribute needs to be used. Providing a policy class supports the full extensibility capabilities of the ClipboardSupport extension point and is the recommended approach. The policy class is used to answer whether or not the provider provides for an object, without causing plug-ins to be activated (the policy class needs to be placed in a package that will not cause the plugin to load to support this).
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn=":org.eclipse.gmf.runtime.emf.clipboard.core.IClipboardSupportPolicy"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
7.0
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
To register a clipboard support factory for the EMF Library example
model:
&lt;pre&gt;
&lt;extension
point=&quot;org.eclipse.gmf.runtime.emf.clipboard.core.clipboardSupport&quot;&gt;
&lt;factory
nsURI=&quot;http:///org/eclipse/emf/examples/library.ecore&quot;
class=&quot;com.example.emf.library.clipboard.LibraryClipboardSupportFactory&quot;&gt;
&lt;/factory&gt;
&lt;/extension&gt;
&lt;/pre&gt;
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="copyright"/>
</appInfo>
<documentation>
Copyright (c) 2005, 2009 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>
<documentation>
Classes registered on this extension point must implement the
&lt;code&gt;org.eclipse.gmf.runtime.emf.clipboard.core.IClipboardSupportFactory&lt;/code&gt;
interface. A support factory is responsible for creating
&lt;code&gt;IClipboardSupport&lt;/code&gt;s for the packages on which it is
registered on this extension point.
</documentation>
</annotation>
</schema>