可以看出,它支持EDI代Smooks的网站。 但是没有办法指定的EDI作家的配置(如在架构中定义的读取器的情形http://www.milyn.org/xsd/smooks/edi-1.1.xsd )。
在一些老的帖子在一些论坛上,我看到的Smooks正计划这样的作家。 是可用的么? 提前致谢。
可以看出,它支持EDI代Smooks的网站。 但是没有办法指定的EDI作家的配置(如在架构中定义的读取器的情形http://www.milyn.org/xsd/smooks/edi-1.1.xsd )。
在一些老的帖子在一些论坛上,我看到的Smooks正计划这样的作家。 是可用的么? 提前致谢。
我能够做到这一点使用的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());
按照Smooks的网站 :
Smooks的可读写速度比XML,包括EDI,CSV,JSON,YAML,Java的其他数据格式。 要读取非XML数据,你通常需要配置该数据类型。 典型地将数据写入涉及配置,其在由所述产生的事件流进行操作的模板(如在XSLT的情况下),或者在源的BeanContext豆(如在FreeMarker的的情况下)。 还可以简单地允许Smooks对序列由输入读取器,这将产生XML,通过简单地配置为输入源的读取器给出一个有效的NNN到XML转换所产生的事件流。
所以,是的,没有与Smooks对产生EDI的可能性。