Back to Fuji EIP Split, or Fuji EIP Split Info
| At line 18 changed 1 line. |
| type := splitter implementation (e.g. xpath, regex) |
| type := splitter implementation (e.g. xpath, regex, xsl) |
| At line 52 changed 1 line. |
| * Known types to the parser/editor should provide contextual help in the form of syntax highlighting, code completion, etc. For the time being, this will be limited to xpath and regex types. |
| * Known types to the parser/editor should provide contextual help in the form of syntax highlighting, code completion, etc. For the time being, this will be limited to xpath, regex, and xsl configuration. |
| * Inline configuration for unknown split types present a problem for the IFL parser. There is really no other choice than allowing for late-binding validation in the plugin for the particular service type (''see Configuration''). |
| At line 56 added 3 lines. |
| Each split type will have its own unique configuration requirements. The service artifact layer in Fuji will have a reasonable default behavior for all split types. Individual split types can override the default behavior by implementing the following contracts: |
| * Generation - the configuration generated from IFL for a given split type. A facility must exist for discovering template service artifacts for a given split type. This could be an SPI or a convention for resource location inside a bundle/jar file. For external configuration, a default implementation should be provided that results in an empty file with the split configuration name used as the file name. Generation is not relevant for inline configuration. |
| * Validation - during the packaging phase of the application build, split types will have an opportunity to validate configuration. This should be exposed as an SPI that a split type provider can implement. |
| At line 61 added 29 lines. |
| The XPath filter type provides a simple facility for breaking up a single XML input message into multiple XML output messages. This filter is useful for messages which have a recurring element that can be processed as is (i.e. without enrichment or other processing). |
| \\ \\ |
| Input Message |
| {{{ |
| <orders> |
| <order> |
| <item>bang001</id> |
| <desc>guns</desc> |
| <amount>50</amount> |
| </order> |
| <order> |
| <item>parkayXYZ</id> |
| <desc>butter</desc> |
| <amount>100</amount> |
| </order> |
| </orders> |
| }}} |
| XPath Configuration |
| {{{ |
| /orders/order |
| }}} |
| Output Messages |
| {{{ |
| <order> |
| <item>bang001</id> |
| <desc>guns</desc> |
| <amount>50</amount> |
| </order> |
| }}} |
| At line 91 added 12 lines. |
| {{{ |
| <order> |
| <item>parkayXYZ</id> |
| <desc>butter</desc> |
| <amount>100</amount> |
| </order> |
| }}} |
| ! XSL |
| At line 106 added 3 lines. |
| * X12 |
| * EDIFACT |
| * HL7 |
| At line 110 added 1 line. |
| !! Packaging |