问题标签 [relaxng]
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.
xml - 使用 RelaxNG 进行 XML 模式验证
对于性能和准确性,您可以推荐哪些 XML 验证工具,每一个都是我们系统的关键问题?我们有以下要求:
- 它不是xmllint(见下文)
- 支持RelaxNG
- 可以轻松地与 Perl 集成(这是可选的,但它会很好)
为什么不是 xmllint?(这是背景,喜欢的可以跳过)
我们有一个大型 Perl 系统,它使用 RelaxNG 来验证我们的 XML。我们使用紧凑的 RelaxNG 格式和trang将其转换为标准的 RelaxNG 格式。然后我们通过xmllint进行实际验证。
这就是问题出现的时候。xmllint 通常在错误地报告验证错误方面存在问题。它不会给出错误的肯定或否定,但如果文档验证失败,xmllint 经常会报告给定错误的错误元素或属性。有时错误是正确的(“没想到会看到元素'bar'),但这只是因为没有报告先前的错误(因为'bar'应该遵循必需但缺少元素'foo',但xmllint没有' t 告诉我们那一点)。请注意,这是 xmllint 长期存在的问题,甚至最新版本也有同样的问题。我们经常有巨大的 XML 文档,误报错误会给客户和开发人员带来很大的痛苦。
emacs - 扩展 XHTML 的 RelaxNG (rnc) 模式
我想使用 Emacs 的nxml-mode编辑 XHTML 文件,它可以使用rnc模式进行动态验证。这些都内置在较新的 Emacs 版本中。
但是,我的 XHTML 文件包含来自另一个模式的元素。所以 <foo:foo> 标签是有效的,但只在文档的 <xhtml:head> 内。
目前,nxml 抱怨是因为它使用的 XHTML 模式没有描述 foo 标记。如何创建一个描述与现有 XHTML 模式相关的 foo 标记的新模式,以及如何使用schemas.xml 文件中的模式定位规则自动应用该模式?
即:我想同时使用两种模式来验证文档:内置的 XHTML 规则和一些添加某些命名空间标签的自定义规则。
xml - 任何允许指定约束(如无循环引用)的 XML 模式语言?
是否有任何 XML 模式语言允许指定元素之间不能存在循环引用的约束。
作为一个玩具示例:
会验证,但是
不会验证。
xsd - 使用 trang 将 RELAX NG 转换为 XSD,同时保留外部命名空间元素(用于 JAXB)
我正在使用trang
将 RELAX NG .rng 文件转换为 XML Schema .xsd 文件以用于 JAXB。有没有办法将属性/元素放在 .rng 文件中并让它们显示在 .xsd 文件中?我有一个用于 JAXB 设置的外部 .xjb 文件,但是有一些 JAXB 设置与架构本身非常紧密地耦合,似乎(以某种方式)将它们放在 .rng 文件中而不是更有意义.xjb 文件。
有什么建议吗?
java - 用于 XML-> 对象模型的松弛器或 JAXB?
我想从我的 XML 定义中生成一个 AST,以便以后用于代码生成。
XML 模式是用 Relax NG 编写的,因为它看起来比 XSD 和 DTD(松散的假设)更简洁、更现代。我特别喜欢简洁的语法,它使用起来感觉更自然,并且比 XML 更具可读性。
有没有人使用过 Relaxer,或者任何其他使用 RelaxNG 模式的代码生成器(最好是紧凑的模式)?它们是否与 JAXB 和 Castor 一样好,还是我牺牲了一些我以后需要的功能?
经过一些进一步的研究,事实证明 JAXB 已经内置了对 RelaxNG 的支持,包括 XML 和紧凑样式。那么这一定是正确的方法吗?
asp.net - ASPX 的 XML 架构?
这些天我在 Emacs 中编辑了很多 .aspx 文件。nxml-mode 可以使用模式(RELAX NG,但可能还有其他)来检测 XML 中的错误,我发现它对于其他事情非常方便。
*.aspx 文件是否有 RELAX NG 架构?
(我在搜索时遇到了麻烦,因为“aspx”不仅作为一种语言而且作为 URL 的一部分如此普遍。)
xml - 如何在 Ruby 中通过 RELAX NG 验证 XML?
该REXML
模块似乎支持RELAX NG 验证,但文档没有任何关于使用框架验证部分的真实信息。
您将如何使用 RELAX NG 模式验证 XML 文档?代码片段将是最有帮助的。蒂亚!
xml - 基于 W3C XML Schema 的 emacs 中的模式敏感编辑?(不是RNG)
我刚刚在这里了解了nxml-mode,根据自述文件,它是一个
GNU Emacs 编辑 XML 文档的主要模式。它支持编辑格式良好的 XML 文档,还可以使用 RELAX NG Compact Syntax 对 XML 文档进行模式敏感的编辑。
W3C XML Schema 是否有相同的模式?
如果我找不到这样的东西,那么假设我严格处理 W3C XML Schema 而不是 Relax-NG,那么 nxml-mode 对我有用吗?
相关:VIM 中的模式感知编辑
python - 如何在 Python 中使用紧凑的 RELAX NG 模式验证 XML 文档?
如何在 Python 中通过紧凑的 RELAX NG 模式验证 XML 文档?
java - 如何使用 RELAX NG 模式和 JAXP 验证 XML 文档?
我想使用 RELAX NG 模式验证 XML 文档,并且我想使用JAXP 验证 API。
从谷歌搜索,看来我可以使用Jing和ISO RELAX JARV to JAXP Bridge。不幸的是,在将两者都添加到我的类路径之后,我无法让它工作。SchemaFactory
只是在IllegalArgumentException
尝试实例化工厂时抛出一个-我查看了内部SchemaFactory
,显然SchemaFactoryFinder
返回了一个空结果。
因此,我将不胜感激任何一个问题的答案:
- 我怎样才能使这与 Jing 和这座桥一起工作?
- 我应该尝试一组更好/不同的库吗?
我需要它来使用 Java 5 和 Java 6。
谢谢!