]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - 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
diff --git a/bundles/org.simantics.export.core/schema/export.exsd b/bundles/org.simantics.export.core/schema/export.exsd
new file mode 100644 (file)
index 0000000..d0d70a6
--- /dev/null
@@ -0,0 +1,406 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<!-- Schema file written by PDE -->\r
+<schema targetNamespace="org.simantics.export" xmlns="http://www.w3.org/2001/XMLSchema">\r
+<annotation>\r
+      <appinfo>\r
+         <meta.schema plugin="org.simantics.export" id="org.simantics.export.export" name="Export"/>\r
+      </appinfo>\r
+      <documentation>\r
+         Extension point for exportable content.\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <element name="extension">\r
+      <annotation>\r
+         <appinfo>\r
+            <meta.element />\r
+         </appinfo>\r
+      </annotation>\r
+      <complexType>\r
+         <sequence>\r
+            <element ref="content_type" minOccurs="0" maxOccurs="unbounded"/>\r
+            <element ref="importer" minOccurs="0" maxOccurs="unbounded"/>\r
+            <element ref="exporter" minOccurs="0" maxOccurs="unbounded"/>\r
+            <element ref="discoverer" minOccurs="0" maxOccurs="unbounded"/>\r
+            <element ref="format" minOccurs="0" maxOccurs="unbounded"/>\r
+            <element ref="publisher" minOccurs="0" maxOccurs="unbounded"/>\r
+         </sequence>\r
+         <attribute name="point" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="id" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="name" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute translatable="true"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <element name="content_type">\r
+      <complexType>\r
+         <attribute name="id" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  The identifier for the content type. Used in, for example, in preference mementos.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="label" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  The ui label for the content type.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="iconResolver" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  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
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.IconResolver"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="icon" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="resource"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="plural" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="model" type="boolean" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  If true, the content type is model type.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="contentTypeAction" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  Contains content type related actions.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.ContentTypeAction"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <element name="exporter">\r
+      <annotation>\r
+         <documentation>\r
+            Describes one way how a content_type can be written.\r
+         </documentation>\r
+      </annotation>\r
+      <complexType>\r
+         <attribute name="content_type_id" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  The identifier to the content type, that this definition can export.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="formatId" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Identifier for the format: &quot;PDF&quot;, &quot;TG&quot;, &quot;CSV&quot;.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="exportAction" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Code that exports the content into format specific writer.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.ExportClass"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="exportPriority" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Priority of this exporter in comparison to other exporters for the content. The smaller the number the higher the priority.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <element name="format">\r
+      <complexType>\r
+         <attribute name="id" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Defines the identifier for a format_type.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="fileext" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  Defines the file extension for the format.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="formatClass" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Format class contains format related code and an action factory for file format actions.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.FormatClass"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="writerClass" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  Defines the writer class that the exporter extension will use for writing the content of this format.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="readerClass" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  The class the importer will use for reading the associated content type of this format.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="label" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="plural" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="icon" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="resource"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="isGroupFormat" type="boolean" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Set to true, if the format can contain multiple content items of one or more types.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="isContainerFormat" type="boolean" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Set to true, if the format can contain multiple content items of any types.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="mergeGroupDefault" type="boolean" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  The default selection for merge the group.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="isAttachable" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  This attribute determines if the format is attachable to another format of group type.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="isAlwaysPublished" type="boolean" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  This property determines - if true - that the content must always be published and cannot be hidden inside container file.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="isLinkContainer" type="boolean" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  If true, this format is can contain links to other files.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <element name="importer">\r
+      <annotation>\r
+         <documentation>\r
+            Extension that imports content from files.\r
+         </documentation>\r
+      </annotation>\r
+      <complexType>\r
+         <attribute name="content_type_id" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="formatId" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="importAction" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Code that imports the content using format_type specific reader.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.ImportAction"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <element name="discoverer">\r
+      <annotation>\r
+         <documentation>\r
+            Extension that will discover content from selection, project, and database.\r
+         </documentation>\r
+      </annotation>\r
+      <complexType>\r
+         <attribute name="content_type_id" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="discoverAction" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Code that discovers content.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.DiscoverAction"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <element name="publisher">\r
+      <annotation>\r
+         <documentation>\r
+            Extension for publishing exported content in an external location.\r
+         </documentation>\r
+      </annotation>\r
+      <complexType>\r
+         <attribute name="id" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="label" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="publisherClass" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  Action code for publishing data.\r
+               </documentation>\r
+               <appinfo>\r
+                  <meta.attribute kind="java" basedOn=":org.simantics.export.core.intf.PublisherClass"/>\r
+               </appinfo>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <annotation>\r
+      <appinfo>\r
+         <meta.section type="since"/>\r
+      </appinfo>\r
+      <documentation>\r
+         [Enter the first release in which this extension point appears.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <annotation>\r
+      <appinfo>\r
+         <meta.section type="examples"/>\r
+      </appinfo>\r
+      <documentation>\r
+         [Enter extension point usage example here.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <annotation>\r
+      <appinfo>\r
+         <meta.section type="apiinfo"/>\r
+      </appinfo>\r
+      <documentation>\r
+         [Enter API information here.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <annotation>\r
+      <appinfo>\r
+         <meta.section type="implementation"/>\r
+      </appinfo>\r
+      <documentation>\r
+         [Enter information about supplied implementation of this extension point.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+\r
+</schema>\r