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