Smooks的EDI作家(Smooks EDI writer)

2019-09-23 17:58发布

可以看出,它支持EDI代Smooks的网站。 但是没有办法指定的EDI作家的配置(如在架构中定义的读取器的情形http://www.milyn.org/xsd/smooks/edi-1.1.xsd )。

在一些老的帖子在一些论坛上,我看到的Smooks正计划这样的作家。 是可用的么? 提前致谢。

Answer 1:

我能够做到这一点使用的unedifact使用相同的模式:读者

Smooks的-配置:

<?xml version="1.0"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
                      xmlns:core="http://www.milyn.org/xsd/smooks/smooks-core-1.4.xsd">
    <import file="/org/milyn/edi/unedifact/d96a/message-bindingconfig.xml" />
    <import file="/org/milyn/smooks/edi/unedifact/model/r41/bindings/unedifact-interchange.xml" />
    <core:exports>
        <core:result type="org.milyn.payload.JavaResult"/>
    </core:exports>
</smooks-resource-list>

其结果是枝条readed元素的HashMap中。 现在,我已经OBJETS我可以做任何的修改之后,我使用文件交换工厂:前D96AInterchangeFactory

D96AInterchangeFactory factory = D96AInterchangeFactory.getInstance();
UNEdifactInterchange41 unEdifactInterchange = (UNEdifactInterchange41) map.get("unEdifactInterchange");
StringWriter ediOutStream = new StringWriter();
factory.toUNEdifact(unEdifactInterchange, ediOutStream);

最后,我可以使用的toString(),以获得我的文件:

System.out.println("document: " + ediOutStream.toString());


Answer 2:

按照Smooks的网站 :

Smooks的可读写速度比XML,包括EDI,CSV,JSON,YAML,Java的其他数据格式。 要读取非XML数据,你通常需要配置该数据类型。 典型地将数据写入涉及配置,其在由所述产生的事件流进行操作的模板(如在XSLT的情况下),或者在源的BeanContext豆(如在FreeMarker的的情况下)。 还可以简单地允许Smooks对序列由输入读取器,这将产生XML,通过简单地配置为输入源的读取器给出一个有效的NNN到XML转换所产生的事件流。

所以,是的,没有与Smooks对产生EDI的可能性。



文章来源: Smooks EDI writer
标签: java edi smooks