--- /dev/null
+<?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: "PDF", "TG", "CSV".\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