当我只添加一个映射模型时,它工作得很好,但实际上,我想添加多个映射模型,因为我已经添加到下面的代码中。有人能帮忙吗?我该怎么做。
Smooks-config.xml
<?xml version="1.0"?>
<smooks-resource-list
xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
xmlns:edi="http://www.milyn.org/xsd/smooks/edi-1.1.xsd">
<edi:reader mappingModel="/example/edi-to-xml-author-full-mapping.xml" />
<edi:reader mappingModel="/example/edi-to-xml-author-full-map.xml" /
</smooks-resource-list>Test.java
protected static String runSmooksTransform() throws IOException, SAXException, SmooksException {
Locale.setDefault(new Locale("en", "IE"));
Smooks smooks = new Smooks("smooks-config.xml");
try {
ExecutionContext executionContext = smooks.createExecutionContext();
StringResult result = new StringResult();
smooks.filterSource(executionContext, new StreamSource(new ByteArrayInputStream(messageIn)), result);
return result.getResult();
} finally {
smooks.close();
}
}发布于 2015-08-21 11:08:35
恐怕那行不通。在smooks配置中只能有一个顶级的EDI阅读器。
如果您想对配置进行模块化,那么您可以这样做,并在EDI映射模型本身中使用导入。
如果您想要处理不同的EDI消息,那么您需要使用具有不同EDI读取器映射模型的不同smooks实例。UNEDIFACT阅读器确实支持不同的EDI消息,作为“交换”的一部分,但这是不同的读取器,并且是针对UNEDIFACT协议的。
https://stackoverflow.com/questions/32045329
复制相似问题