问题标签 [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.

0 投票
5 回答
3196 浏览

xml - 使用 RelaxNG 进行 XML 模式验证

对于性能和准确性,您可以推荐哪些 XML 验证工具,每一个都是我们系统的关键问题?我们有以下要求:

  • 不是xmllint(见下文)
  • 支持RelaxNG
  • 可以轻松地与 Perl 集成(这是可选的,但它会很好)

为什么不是 xmllint?(这是背景,喜欢的可以跳过)

我们有一个大型 Perl 系统,它使用 RelaxNG 来验证我们的 XML。我们使用紧凑的 RelaxNG 格式trang将其转换为标准的 RelaxNG 格式。然后我们通过xmllint进行实际验证。

这就是问题出现的时候。xmllint 通常在错误地报告验证错误方面存在问题。它不会给出错误的肯定或否定,但如果文档验证失败,xmllint 经常会报告给定错误的错误元素或属性。有时错误是正确的(“没想到会看到元素'bar'),但这只是因为没有报告先前的错误(因为'bar'应该遵循必需但缺少元素'foo',但xmllint没有' t 告诉我们那一点)。请注意,这是 xmllint 长期存在的问题,甚至最新版本也有同样的问题。我们经常有巨大的 XML 文档,误报错误会给客户和开发人员带来很大的痛苦。

0 投票
3 回答
880 浏览

emacs - 扩展 XHTML 的 RelaxNG (rnc) 模式

我想使用 Emacs 的nxml-mode编辑 XHTML 文件,它可以使用rnc模式进行动态验证。这些都内置在较新的 Emacs 版本中。

但是,我的 XHTML 文件包含来自另一个模式的元素。所以 <foo:foo> 标签是有效的,但只在文档的 <xhtml:head> 内。

目前,nxml 抱怨是因为它使用的 XHTML 模式没有描述 foo 标记。如何创建一个描述与现有 XHTML 模式相关的 foo 标记的新模式,以及如何使用schemas.xml 文件中的模式定位规则自动应用该模式?

即:我想同时使用两种模式来验证文档:内置的 XHTML 规则和一些添加某些命名空间标签的自定义规则。

0 投票
2 回答
172 浏览

xml - 任何允许指定约束(如无循环引用)的 XML 模式语言?

是否有任何 XML 模式语言允许指定元素之间不能存在循环引用的约束。

作为一个玩具示例:

会验证,但是

不会验证。

0 投票
1 回答
1387 浏览

xsd - 使用 trang 将 RELAX NG 转换为 XSD,同时保留外部命名空间元素(用于 JAXB)

我正在使用trang将 RELAX NG .rng 文件转换为 XML Schema .xsd 文件以用于 JAXB。有没有办法将属性/元素放在 .rng 文件中并让它们显示在 .xsd 文件中?我有一个用于 JAXB 设置的外部 .xjb 文件,但是有一些 JAXB 设置与架构本身非常紧密地耦合,似乎(以某种方式)将它们放在 .rng 文件中而不是更有意义.xjb 文件。

有什么建议吗?

0 投票
1 回答
834 浏览

java - 用于 XML-> 对象模型的松弛器或 JAXB?

我想从我的 XML 定义中生成一个 AST,以便以后用于代码生成。

XML 模式是用 Relax NG 编写的,因为它看起来比 XSD 和 DTD(松散的假设)更简洁、更现代。我特别喜欢简洁的语法,它使用起来感觉更自然,并且比 XML 更具可读性。

有没有人使用过 Relaxer,或者任何其他使用 RelaxNG 模式的代码生成器(最好是紧凑的模式)?它们是否与 JAXB 和 Castor 一样好,还是我牺牲了一些我以后需要的功能?

经过一些进一步的研究,事实证明 JAXB 已经内置了对 RelaxNG 的支持,包括 XML 和紧凑样式。那么这一定是正确的方法吗?

0 投票
1 回答
149 浏览

asp.net - ASPX 的 XML 架构?

这些天我在 Emacs 中编辑了很多 .aspx 文件。nxml-mode 可以使用模式(RELAX NG,但可能还有其他)来检测 XML 中的错误,我发现它对于其他事情非常方便。

*.aspx 文件是否有 RELAX NG 架构?

(我在搜索时遇到了麻烦,因为“aspx”不仅作为一种语言而且作为 URL 的一部分如此普遍。)

0 投票
2 回答
2302 浏览

xml - 如何在 Ruby 中通过 RELAX NG 验证 XML?

REXML模块似乎支持RELAX NG 验证,但文档没有任何关于使用框架验证部分的真实信息。

您将如何使用 RELAX NG 模式验证 XML 文档?代码片段将是最有帮助的。蒂亚!

0 投票
4 回答
2382 浏览

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 中的模式感知编辑

0 投票
2 回答
4025 浏览

python - 如何在 Python 中使用紧凑的 RELAX NG 模式验证 XML 文档?

如何在 Python 中通过紧凑的 RELAX NG 模式验证 XML 文档?

0 投票
5 回答
8248 浏览

java - 如何使用 RELAX NG 模式和 JAXP 验证 XML 文档?

我想使用 RELAX NG 模式验证 XML 文档,并且我想使用JAXP 验证 API

从谷歌搜索,看来我可以使用JingISO RELAX JARV to JAXP Bridge。不幸的是,在将两者都添加到我的类路径之后,我无法让它工作。SchemaFactory只是在IllegalArgumentException尝试实例化工厂时抛出一个-我查看了内部SchemaFactory,显然SchemaFactoryFinder返回了一个空结果。

因此,我将不胜感激任何一个问题的答案:

  • 我怎样才能使这与 Jing 和这座桥一起工作?
  • 我应该尝试一组更好/不同的库吗?

我需要它来使用 Java 5 和 Java 6。

谢谢!