]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.export.core/schema/export.exsd
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.export.core / schema / export.exsd
1 <?xml version='1.0' encoding='UTF-8'?>\r
2 <!-- Schema file written by PDE -->\r
3 <schema targetNamespace="org.simantics.export" xmlns="http://www.w3.org/2001/XMLSchema">\r
4 <annotation>\r
5       <appinfo>\r
6          <meta.schema plugin="org.simantics.export" id="org.simantics.export.export" name="Export"/>\r
7       </appinfo>\r
8       <documentation>\r
9          Extension point for exportable content.\r
10       </documentation>\r
11    </annotation>\r
12 \r
13    <element name="extension">\r
14       <annotation>\r
15          <appinfo>\r
16             <meta.element />\r
17          </appinfo>\r
18       </annotation>\r
19       <complexType>\r
20          <sequence>\r
21             <element ref="content_type" minOccurs="0" maxOccurs="unbounded"/>\r
22             <element ref="importer" minOccurs="0" maxOccurs="unbounded"/>\r
23             <element ref="exporter" minOccurs="0" maxOccurs="unbounded"/>\r
24             <element ref="discoverer" minOccurs="0" maxOccurs="unbounded"/>\r
25             <element ref="format" minOccurs="0" maxOccurs="unbounded"/>\r
26             <element ref="publisher" minOccurs="0" maxOccurs="unbounded"/>\r
27          </sequence>\r
28          <attribute name="point" type="string" use="required">\r
29             <annotation>\r
30                <documentation>\r
31                   \r
32                </documentation>\r
33             </annotation>\r
34          </attribute>\r
35          <attribute name="id" type="string">\r
36             <annotation>\r
37                <documentation>\r
38                   \r
39                </documentation>\r
40             </annotation>\r
41          </attribute>\r
42          <attribute name="name" type="string">\r
43             <annotation>\r
44                <documentation>\r
45                   \r
46                </documentation>\r
47                <appinfo>\r
48                   <meta.attribute translatable="true"/>\r
49                </appinfo>\r
50             </annotation>\r
51          </attribute>\r
52       </complexType>\r
53    </element>\r
54 \r
55    <element name="content_type">\r
56       <complexType>\r
57          <attribute name="id" type="string" use="required">\r
58             <annotation>\r
59                <documentation>\r
60                   The identifier for the content type. Used in, for example, in preference mementos.\r
61                </documentation>\r
62             </annotation>\r
63          </attribute>\r
64          <attribute name="label" type="string" use="required">\r
65             <annotation>\r
66                <documentation>\r
67                   The ui label for the content type.\r
68                </documentation>\r
69             </annotation>\r
70          </attribute>\r
71          <attribute name="iconResolver" type="string">\r
72             <annotation>\r
73                <documentation>\r
74                   Use icon attribute for defining a constant image. If the icon must depend on something programmatic use this attribute to define a class for resolving one.\r
75                </documentation>\r
76                <appinfo>\r
77                   <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.IconResolver"/>\r
78                </appinfo>\r
79             </annotation>\r
80          </attribute>\r
81          <attribute name="icon" type="string">\r
82             <annotation>\r
83                <documentation>\r
84                   \r
85                </documentation>\r
86                <appinfo>\r
87                   <meta.attribute kind="resource"/>\r
88                </appinfo>\r
89             </annotation>\r
90          </attribute>\r
91          <attribute name="plural" type="string" use="required">\r
92             <annotation>\r
93                <documentation>\r
94                   \r
95                </documentation>\r
96             </annotation>\r
97          </attribute>\r
98          <attribute name="model" type="boolean" use="required">\r
99             <annotation>\r
100                <documentation>\r
101                   If true, the content type is model type.\r
102                </documentation>\r
103             </annotation>\r
104          </attribute>\r
105          <attribute name="contentTypeAction" type="string">\r
106             <annotation>\r
107                <documentation>\r
108                   Contains content type related actions.\r
109                </documentation>\r
110                <appinfo>\r
111                   <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.ContentTypeAction"/>\r
112                </appinfo>\r
113             </annotation>\r
114          </attribute>\r
115       </complexType>\r
116    </element>\r
117 \r
118    <element name="exporter">\r
119       <annotation>\r
120          <documentation>\r
121             Describes one way how a content_type can be written.\r
122          </documentation>\r
123       </annotation>\r
124       <complexType>\r
125          <attribute name="content_type_id" type="string" use="required">\r
126             <annotation>\r
127                <documentation>\r
128                   The identifier to the content type, that this definition can export.\r
129                </documentation>\r
130             </annotation>\r
131          </attribute>\r
132          <attribute name="formatId" type="string" use="required">\r
133             <annotation>\r
134                <documentation>\r
135                   Identifier for the format: &quot;PDF&quot;, &quot;TG&quot;, &quot;CSV&quot;.\r
136                </documentation>\r
137             </annotation>\r
138          </attribute>\r
139          <attribute name="exportAction" type="string" use="required">\r
140             <annotation>\r
141                <documentation>\r
142                   Code that exports the content into format specific writer.\r
143                </documentation>\r
144                <appinfo>\r
145                   <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.ExportClass"/>\r
146                </appinfo>\r
147             </annotation>\r
148          </attribute>\r
149          <attribute name="exportPriority" type="string" use="required">\r
150             <annotation>\r
151                <documentation>\r
152                   Priority of this exporter in comparison to other exporters for the content. The smaller the number the higher the priority.\r
153                </documentation>\r
154             </annotation>\r
155          </attribute>\r
156       </complexType>\r
157    </element>\r
158 \r
159    <element name="format">\r
160       <complexType>\r
161          <attribute name="id" type="string" use="required">\r
162             <annotation>\r
163                <documentation>\r
164                   Defines the identifier for a format_type.\r
165                </documentation>\r
166             </annotation>\r
167          </attribute>\r
168          <attribute name="fileext" type="string">\r
169             <annotation>\r
170                <documentation>\r
171                   Defines the file extension for the format.\r
172                </documentation>\r
173             </annotation>\r
174          </attribute>\r
175          <attribute name="formatClass" type="string" use="required">\r
176             <annotation>\r
177                <documentation>\r
178                   Format class contains format related code and an action factory for file format actions.\r
179                </documentation>\r
180                <appinfo>\r
181                   <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.FormatClass"/>\r
182                </appinfo>\r
183             </annotation>\r
184          </attribute>\r
185          <attribute name="writerClass" type="string">\r
186             <annotation>\r
187                <documentation>\r
188                   Defines the writer class that the exporter extension will use for writing the content of this format.\r
189                </documentation>\r
190                <appinfo>\r
191                   <meta.attribute kind="java"/>\r
192                </appinfo>\r
193             </annotation>\r
194          </attribute>\r
195          <attribute name="readerClass" type="string">\r
196             <annotation>\r
197                <documentation>\r
198                   The class the importer will use for reading the associated content type of this format.\r
199                </documentation>\r
200                <appinfo>\r
201                   <meta.attribute kind="java"/>\r
202                </appinfo>\r
203             </annotation>\r
204          </attribute>\r
205          <attribute name="label" type="string" use="required">\r
206             <annotation>\r
207                <documentation>\r
208                   \r
209                </documentation>\r
210             </annotation>\r
211          </attribute>\r
212          <attribute name="plural" type="string" use="required">\r
213             <annotation>\r
214                <documentation>\r
215                   \r
216                </documentation>\r
217             </annotation>\r
218          </attribute>\r
219          <attribute name="icon" type="string">\r
220             <annotation>\r
221                <documentation>\r
222                   \r
223                </documentation>\r
224                <appinfo>\r
225                   <meta.attribute kind="resource"/>\r
226                </appinfo>\r
227             </annotation>\r
228          </attribute>\r
229          <attribute name="isGroupFormat" type="boolean" use="required">\r
230             <annotation>\r
231                <documentation>\r
232                   Set to true, if the format can contain multiple content items of one or more types.\r
233                </documentation>\r
234             </annotation>\r
235          </attribute>\r
236          <attribute name="isContainerFormat" type="boolean" use="required">\r
237             <annotation>\r
238                <documentation>\r
239                   Set to true, if the format can contain multiple content items of any types.\r
240                </documentation>\r
241             </annotation>\r
242          </attribute>\r
243          <attribute name="mergeGroupDefault" type="boolean" use="required">\r
244             <annotation>\r
245                <documentation>\r
246                   The default selection for merge the group.\r
247                </documentation>\r
248             </annotation>\r
249          </attribute>\r
250          <attribute name="isAttachable" type="string" use="required">\r
251             <annotation>\r
252                <documentation>\r
253                   This attribute determines if the format is attachable to another format of group type.\r
254                </documentation>\r
255             </annotation>\r
256          </attribute>\r
257          <attribute name="isAlwaysPublished" type="boolean" use="required">\r
258             <annotation>\r
259                <documentation>\r
260                   This property determines - if true - that the content must always be published and cannot be hidden inside container file.\r
261                </documentation>\r
262             </annotation>\r
263          </attribute>\r
264          <attribute name="isLinkContainer" type="boolean" use="required">\r
265             <annotation>\r
266                <documentation>\r
267                   If true, this format is can contain links to other files.\r
268                </documentation>\r
269             </annotation>\r
270          </attribute>\r
271       </complexType>\r
272    </element>\r
273 \r
274    <element name="importer">\r
275       <annotation>\r
276          <documentation>\r
277             Extension that imports content from files.\r
278          </documentation>\r
279       </annotation>\r
280       <complexType>\r
281          <attribute name="content_type_id" type="string" use="required">\r
282             <annotation>\r
283                <documentation>\r
284                   \r
285                </documentation>\r
286             </annotation>\r
287          </attribute>\r
288          <attribute name="formatId" type="string" use="required">\r
289             <annotation>\r
290                <documentation>\r
291                   \r
292                </documentation>\r
293             </annotation>\r
294          </attribute>\r
295          <attribute name="importAction" type="string" use="required">\r
296             <annotation>\r
297                <documentation>\r
298                   Code that imports the content using format_type specific reader.\r
299                </documentation>\r
300                <appinfo>\r
301                   <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.ImportAction"/>\r
302                </appinfo>\r
303             </annotation>\r
304          </attribute>\r
305       </complexType>\r
306    </element>\r
307 \r
308    <element name="discoverer">\r
309       <annotation>\r
310          <documentation>\r
311             Extension that will discover content from selection, project, and database.\r
312          </documentation>\r
313       </annotation>\r
314       <complexType>\r
315          <attribute name="content_type_id" type="string" use="required">\r
316             <annotation>\r
317                <documentation>\r
318                   \r
319                </documentation>\r
320             </annotation>\r
321          </attribute>\r
322          <attribute name="discoverAction" type="string" use="required">\r
323             <annotation>\r
324                <documentation>\r
325                   Code that discovers content.\r
326                </documentation>\r
327                <appinfo>\r
328                   <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.DiscoverAction"/>\r
329                </appinfo>\r
330             </annotation>\r
331          </attribute>\r
332       </complexType>\r
333    </element>\r
334 \r
335    <element name="publisher">\r
336       <annotation>\r
337          <documentation>\r
338             Extension for publishing exported content in an external location.\r
339          </documentation>\r
340       </annotation>\r
341       <complexType>\r
342          <attribute name="id" type="string" use="required">\r
343             <annotation>\r
344                <documentation>\r
345                   \r
346                </documentation>\r
347             </annotation>\r
348          </attribute>\r
349          <attribute name="label" type="string" use="required">\r
350             <annotation>\r
351                <documentation>\r
352                   \r
353                </documentation>\r
354             </annotation>\r
355          </attribute>\r
356          <attribute name="publisherClass" type="string" use="required">\r
357             <annotation>\r
358                <documentation>\r
359                   Action code for publishing data.\r
360                </documentation>\r
361                <appinfo>\r
362                   <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.PublisherClass"/>\r
363                </appinfo>\r
364             </annotation>\r
365          </attribute>\r
366       </complexType>\r
367    </element>\r
368 \r
369    <annotation>\r
370       <appinfo>\r
371          <meta.section type="since"/>\r
372       </appinfo>\r
373       <documentation>\r
374          [Enter the first release in which this extension point appears.]\r
375       </documentation>\r
376    </annotation>\r
377 \r
378    <annotation>\r
379       <appinfo>\r
380          <meta.section type="examples"/>\r
381       </appinfo>\r
382       <documentation>\r
383          [Enter extension point usage example here.]\r
384       </documentation>\r
385    </annotation>\r
386 \r
387    <annotation>\r
388       <appinfo>\r
389          <meta.section type="apiinfo"/>\r
390       </appinfo>\r
391       <documentation>\r
392          [Enter API information here.]\r
393       </documentation>\r
394    </annotation>\r
395 \r
396    <annotation>\r
397       <appinfo>\r
398          <meta.section type="implementation"/>\r
399       </appinfo>\r
400       <documentation>\r
401          [Enter information about supplied implementation of this extension point.]\r
402       </documentation>\r
403    </annotation>\r
404 \r
405 \r
406 </schema>\r