问题标签 [jing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
249 浏览

java - 在java中查询一个RelaxNG模式(xml语法),最好使用Jing

我试图找到一种方法来查询 RNG 模式,同时避免重新发明轮子,以回答基本问题,例如:哪些元素是 XML 实例元素的有效子元素,它的属性可以/必须是什么等等。

这里的一篇文章提高了我对 Jing/Trang 执行此操作的希望,因为我已经在使用 Jing 进行 RNG 验证,但是在搜索后我发现没有源代码示例可以确认声明和浏览 API 文档也没有帮助我很多(这似乎也是与 Jing 捆绑的唯一文档)。

我真的很想避免将模式解析为我自己的对象模型来执行这些查询,而且这似乎也有点多余,因为我知道 Jing 也必须在某个地方这样做。问题是如何从中获取我需要的信息。

是否有另一个库可以用来从 java 代码中查询 RNG 模式?请注意,我不是在尝试使用架构来验证实例文件,而是在尝试查询架构本身。

0 投票
1 回答
325 浏览

perl - Perforce 触发器脚本可以写入临时文件吗?

我想编写一个脚本(一个 perforce 触发器),它将在允许提交之前验证更改列表中文件的内容。但是,我的脚本使用 Xsltproc 处理 XML,然后使用 Jing 进行验证。我需要将间歇性输出保存到临时文件中 - 在为 perforce 编写更改内容触发器(服务器端)时可以这样做吗?我已阅读大量文档,但从未见过在运行触发脚本时创建临时文件的任何提及。唯一的其他解决方法是将 Xsltproc 的输出通过管道传输到 Jing(我也不知道该怎么做)。

欢迎任何有经验的 XSLT 或 Perforce 用户的建议。谢谢。

顺便说一句,我正在使用 perl - 但我认为这不会让事情变得更加困难。

0 投票
0 回答
398 浏览

java - 使用松弛 ng 和命名空间验证 xml 文档

我正在使用 java 8 的 DocumentBuilder 阅读 XML 文档,并尝试使用 jing 对 Relax NG Schema 进行验证。如果 XML 文档包含名称空间声明,这不起作用。

看下面的例子:

这段代码解析 XML 文档,构建 DOM 并验证 XML 文档。但是,ErrorHandler 会收到以下三个错误消息:

xml 文档的前三行看起来像

XML 文档似乎完全有效。

当我在不构建 DOM 的情况下验证同一个文档时,不会遇到这些错误。看下面这段代码:

我掌握的最后一条信息是,SAX 解析器应该具有以下特性:

http://xml.org/sax/features/namespace-prefixes 当为真时,该特性表示 xmlns 和 xmlns:prefix 属性将包含在传递给 startElement( ) 的属性列表中。当为 false 时,这些属性将被省略。

我想,这似乎是我的问题的原因。但是,DocumentBuilderFactory 不支持此功能。