clipboardSupport.exsd 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <!-- Schema file written by PDE -->
  3. <schema targetNamespace="org.eclipse.gmf.runtime.emf.clipboard.core" xmlns="http://www.w3.org/2001/XMLSchema">
  4. <annotation>
  5. <appInfo>
  6. <meta.schema plugin="org.eclipse.gmf.runtime.emf.clipboard.core" id="clipboardSupport" name="Clipboard Support"/>
  7. </appInfo>
  8. <documentation>
  9. Providers of EMF meta-models can implement extensions on this point
  10. to provide support for copying EMF objects to and pasting them from
  11. the system clipboard. The clipboard support allows extensions to
  12. implement fairly complex metamodel-specific semantics for copy/paste
  13. operations, where some relationships between model elements need
  14. special treatment.
  15. </documentation>
  16. </annotation>
  17. <element name="extension">
  18. <annotation>
  19. <appInfo>
  20. <meta.element />
  21. </appInfo>
  22. </annotation>
  23. <complexType>
  24. <sequence>
  25. <element ref="factory" minOccurs="1" maxOccurs="unbounded"/>
  26. </sequence>
  27. <attribute name="point" type="string" use="required">
  28. <annotation>
  29. <documentation>
  30. </documentation>
  31. </annotation>
  32. </attribute>
  33. <attribute name="id" type="string">
  34. <annotation>
  35. <documentation>
  36. </documentation>
  37. </annotation>
  38. </attribute>
  39. <attribute name="name" type="string">
  40. <annotation>
  41. <documentation>
  42. </documentation>
  43. </annotation>
  44. </attribute>
  45. </complexType>
  46. </element>
  47. <element name="factory">
  48. <annotation>
  49. <appInfo>
  50. <meta.element labelAttribute="nsURI"/>
  51. </appInfo>
  52. <documentation>
  53. Registers an implementation of the
  54. &lt;code&gt;IClipboardSupportFactory&lt;/code&gt; interface that can create
  55. objects that provide metamodel-specific copy/paste semantics for
  56. EMF objects.
  57. </documentation>
  58. </annotation>
  59. <complexType>
  60. <attribute name="nsURI" type="string">
  61. <annotation>
  62. <documentation>
  63. 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.
  64. The EPackage represents an EMF metamodel.
  65. 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.
  66. </documentation>
  67. </annotation>
  68. </attribute>
  69. <attribute name="class" type="string" use="required">
  70. <annotation>
  71. <documentation>
  72. Fully-qualified name of a class implementing the
  73. &lt;code&gt;IClipboardSupportFactory&lt;/code&gt; interface. This class will
  74. only be loaded and instantiated when needed to copy an EMF object
  75. to the clipboard or when pasting from the clipboard.
  76. </documentation>
  77. <appInfo>
  78. <meta.attribute kind="java" basedOn="org.eclipse.gmf.runtime.emf.clipboard.core.IClipboardSupportFactory"/>
  79. </appInfo>
  80. </annotation>
  81. </attribute>
  82. <attribute name="priority" use="default" value="medium">
  83. <annotation>
  84. <documentation>
  85. Indicates the priority relative to other factories registered for
  86. the same metamodel. The default is medium.
  87. This attribute is &lt;b&gt;deprecated&lt;/b&gt;; a new context-based approach
  88. will be devised soon.
  89. </documentation>
  90. </annotation>
  91. <simpleType>
  92. <restriction base="string">
  93. <enumeration value="lowest">
  94. </enumeration>
  95. <enumeration value="low">
  96. </enumeration>
  97. <enumeration value="medium">
  98. </enumeration>
  99. <enumeration value="high">
  100. </enumeration>
  101. <enumeration value="highest">
  102. </enumeration>
  103. </restriction>
  104. </simpleType>
  105. </attribute>
  106. <attribute name="policy" type="string">
  107. <annotation>
  108. <documentation>
  109. 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).
  110. </documentation>
  111. <appInfo>
  112. <meta.attribute kind="java" basedOn=":org.eclipse.gmf.runtime.emf.clipboard.core.IClipboardSupportPolicy"/>
  113. </appInfo>
  114. </annotation>
  115. </attribute>
  116. </complexType>
  117. </element>
  118. <annotation>
  119. <appInfo>
  120. <meta.section type="since"/>
  121. </appInfo>
  122. <documentation>
  123. 7.0
  124. </documentation>
  125. </annotation>
  126. <annotation>
  127. <appInfo>
  128. <meta.section type="examples"/>
  129. </appInfo>
  130. <documentation>
  131. To register a clipboard support factory for the EMF Library example
  132. model:
  133. &lt;pre&gt;
  134. &lt;extension
  135. point=&quot;org.eclipse.gmf.runtime.emf.clipboard.core.clipboardSupport&quot;&gt;
  136. &lt;factory
  137. nsURI=&quot;http:///org/eclipse/emf/examples/library.ecore&quot;
  138. class=&quot;com.example.emf.library.clipboard.LibraryClipboardSupportFactory&quot;&gt;
  139. &lt;/factory&gt;
  140. &lt;/extension&gt;
  141. &lt;/pre&gt;
  142. </documentation>
  143. </annotation>
  144. <annotation>
  145. <appInfo>
  146. <meta.section type="copyright"/>
  147. </appInfo>
  148. <documentation>
  149. Copyright (c) 2005, 2009 IBM Corporation and others.&lt;br&gt;
  150. All rights reserved. This program and the accompanying materials
  151. are made available under the terms of the Eclipse Public License v1.0
  152. which accompanies this distribution, and is available at
  153. &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;
  154. </documentation>
  155. </annotation>
  156. <annotation>
  157. <appInfo>
  158. <meta.section type="apiInfo"/>
  159. </appInfo>
  160. <documentation>
  161. Classes registered on this extension point must implement the
  162. &lt;code&gt;org.eclipse.gmf.runtime.emf.clipboard.core.IClipboardSupportFactory&lt;/code&gt;
  163. interface. A support factory is responsible for creating
  164. &lt;code&gt;IClipboardSupport&lt;/code&gt;s for the packages on which it is
  165. registered on this extension point.
  166. </documentation>
  167. </annotation>
  168. </schema>