EDIFACT 语法、解析器和库(Java)[关闭]

Posted

技术标签:

【中文标题】EDIFACT 语法、解析器和库(Java)[关闭]【英文标题】:EDIFACT grammar, parsers and libraries (Java) [closed] 【发布时间】:2012-03-01 14:50:06 【问题描述】:

    我想知道我们是否可以在 ANTLR/xText 中定义 EDIFACT 语法,然后生成解析器。

    如果是,这些语法是否已经定义,我们可以利用(最好是开源的)?

    除了 Smooks 之外,还有其他可以读写 EDIFACT 的开源库吗?

【问题讨论】:

提到了一对here。 @Dmitri 除了 smooks,大部分都是 .Net,很少有 java 死掉... @Pangea smooks 有什么问题? :) @PeterLiljenberg 没有任何问题。它非常好。但我正在寻找 JUST edifact 解析器库或替代品 【参考方案1】:

从一本关于这个主题的方便的书中......(http://books.google.co.uk/books?id=rDbRS6vEG0MC&pg=PA222&lpg=PA222&dq=EDIFACT+bnf&source=bl&ots=pfFYf4nsVv&sig=JXY5HPo7Ka02ji35fjW8R8wFBX8&hl=en&sa=X&ei=05ozT6K5NMO80QWa-ZSLAg&ved=0CGEQ6AEwCA#v=onepage&q=EDIFACT%20bnf&f=false)我们有以下部分......

,这似乎表明这不是一个好主意-尽管根据您的要求,您当然可以编写一个,但我个人认为 Antlr 是一种更易于使用的工具(我目前正在为 Xtext 编写实验室而且这是一个不那么宽容的学习曲线),但你的里程可能会有所不同......

【讨论】:

【参考方案2】:

我在开发 bots 开源 edi 翻译器 (http://bots.sourceforge.net) 时尝试了这种方法(使用 ANTLR)。 这看起来是个好方法,但我没有成功。 我的结论是,ANTLR 的“解析”与“解析”一个 edi 文件非常不同。单词/概念听起来相同,但这些确实是不同的世界。 如果您正在寻找“语法”(即:edifact 和 x12 消息的描述),可以在 sourceforge 页面的下载中找到这些。

【讨论】:

你好@eppye,我想用java解析X12 EDI文件,我可以用ANTLR吗? @Subhher:我什至不想尝试。 @eppye 我看到你在 github 上的新机器人库在 python 中仍然使用语法。您对语法的看法是否发生了变化,或者您找到了更好的方法? bots 使用语法 - 但这些语法与 Antler 使用的不同。对于机器人来说,gammar 是对记录和字段的描述。

以上是关于EDIFACT 语法、解析器和库(Java)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

dotNet 中的开源 EDIFACT baplie 解析器?

Java的Javascript解析器[关闭]

是否有人在 X12 或 EDIFACT 中有包含二进制数据的示例文件?

Edifact 95B报文解读

SFTP 连接器和 EDIFACT 连接器可以在 Mule 社区版中实现吗?

解析错误:语法错误,意外'' [关闭]