【发布时间】:2022-01-03 12:58:52
【问题描述】:
TL;DR
使用 exificient-grammar 从 XSD 生成 GRS 文件的最佳方法是什么,可以与 exificient-for-javascript 一起使用?
--
我正在使用 Nodejs 开发 TCP 服务器。客户端以 EXI 格式发送数据。我有 XSD 架构,我想将这些字节以 EXI 格式转换为 JSON 或类似格式。
要使用exificient-for-javascript,我需要使用exificient-grammars 库生成GRS 文件。我从未使用过 Java,但我知道这个库没有 CLI 可执行文件,但您可以将其导入您的项目并使用它。我试图创建一个 java 项目并使用 maven 我正在加载库。我设法运行了这个项目,但我对 Java 的了解很少,这让我为此浪费了很多时间。简而言之,我无法生成 GRS 文件。我的 java 代码(见评论“现在,如何...”):
public class Parser {
Grammars grammar;
public void parse() {
System.out.println("Hello from parser");
try {
grammar = GrammarFactory.newInstance().createGrammars("VALID_ABSOLUTE_SYSTEM_PATH_TO_XSD");
// and now, how to generate an output GRS file???
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
另一方面,exificient 项目确实提供了一个可执行文件来将 EXI 转换为 XML,反之亦然,但是在我的 Nodejs 应用程序中,我得到了一个缓冲区(一个 int8 数组)。我突然想到,我可以从 Nodejs 生成一个二进制文件,并在后台使用 exificient 可执行文件(exec/spawn)对其进行处理,但这对我来说似乎有点矫枉过正。
【问题讨论】:
标签: javascript node.js xml xsd exi