-
Enhancement
-
Resolution: Done
-
Major
-
None
-
0.3.0
-
None
The DMN specification supports extensions.
The server-side marshaller is based on XStream and extensions are registered and a helper class used to marshall/unmarshall the extensions. The client-side marshaller is based on JAXB and hence does not understand arbitrary extensions. We need support for the two KIE extensions:-
Components Widths Extension
This stores widths of columns in the DMN file's DI section.
<dmndi:DMNDI> <dmndi:DMNDiagram> <di:extension> <kie:ComponentsWidthsExtension> <kie:ComponentWidths dmnElementRef="_950674CF-0C37-4BB3-B19A-85DAD7A1F815"> <kie:width>50.0</kie:width> <kie:width>149.0</kie:width> <kie:width>129.0</kie:width> <kie:width>168.0</kie:width> </kie:ComponentWidths> </kie:ComponentsWidthsExtension> </di:extension> <dmndi:DMNShape id="dmnshape-_36D6015E-195F-4D95-8E69-34F5983ECCAF" dmnElementRef="_36D6015E-195F-4D95-8E69-34F5983ECCAF" isCollapsed="false"> <dmndi:DMNStyle> <dmndi:FillColor red="255" green="255" blue="255"></dmndi:FillColor> <dmndi:StrokeColor red="0" green="0" blue="0"></dmndi:StrokeColor> <dmndi:FontColor red="0" green="0" blue="0"></dmndi:FontColor> </dmndi:DMNStyle> <dc:Bounds x="191" y="168" width="100" height="50"></dc:Bounds> <dmndi:DMNLabel></dmndi:DMNLabel> </dmndi:DMNShape> </dmndi:DMNDiagram> </dmndi:DMNDI>
This is the corresponding DMNDI.xsd segment:
<xsd:element name="extension" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element>
Document Links Extension
This stores details of attachments in the DMN DRGElement node.
<dmn:decision id="_36D6015E-195F-4D95-8E69-34F5983ECCAF" name="Decision-1"> <dmn:extensionElements> <kie:attachment url="http://www.google.co.uk" name="attachment1"></kie:attachment> <kie:attachment url="http://www.yahoo.co.uk" name="attachment2"></kie:attachment> </dmn:extensionElements> <dmn:variable id="_8838B4E9-A3DC-4739-ADF4-F39941352F8D" name="Decision-1"></dmn:variable> <dmn:decisionTable id="_950674CF-0C37-4BB3-B19A-85DAD7A1F815" hitPolicy="UNIQUE" preferredOrientation="Rule-as-Row"> <dmn:input id="_8BA78C96-6022-4B67-A369-2CAC76A213F7"> <dmn:inputExpression id="_D5C4C2BC-B63E-4C06-877A-6D698DDDAAED"> <dmn:text>input-1</dmn:text> </dmn:inputExpression> </dmn:input> <dmn:output id="_07CA2BE3-7C45-45CB-AADB-AB16D6CB16A6"></dmn:output> <dmn:rule id="_FAD8B90B-4DBB-4C5E-8C25-C9DDDDF2F9D0"> <dmn:inputEntry id="_1C4E5E77-A352-4A64-8052-78F13A9E78E2"> <dmn:text></dmn:text> </dmn:inputEntry> <dmn:outputEntry id="_B8BC60A8-4299-42FD-85B3-9FBD6E8B60B6"> <dmn:text></dmn:text> </dmn:outputEntry> </dmn:rule> </dmn:decisionTable> </dmn:decision>
This is the corresponding DMN12.xsd segment:
<xsd:element name="extensionElements" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element>
Third party extensions
Ideally we need to support arbritray third-party extensions too; however their format/structure can be anything.
- is related to
-
KOGITO-656 [DMN Designer] Client-side Marshaller
-
- Closed
-