问题标签 [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 投票
1 回答
304 浏览

java - 使用 XML Schema、DTD、RelaxNG 和 Schematron 验证 DocBook 文档

在我的 Java 应用程序中,我必须验证不同版本的 DocBook 格式的 XML 文档。DocBook 4 基于 DTD,DocBook 5 基于 RelaxNG/Schematron。蜜蜂能够针对不同的模式语言进行验证的适当方法是什么?我找到了 Oracle Multi-Schema XML Validator (MSV)、JARV 和 oNVDL。后者似乎已被弃用。目前我使用 SAXParser/XMLReader。但是不支持RelaxNG。我考虑过与 Jing 结合,但我寻找一个干净的结构来做到这一点。

先感谢您。

0 投票
1 回答
302 浏览

c++ - 如何在 C++ 对象中重现松弛 NG 规则?

在 momemet,我正在处理我的应用程序的一部分,我需要解析 Relax NG 模式并在 C++ 对象的文件中重现规则。我从示例代码开始,以便更好地解释。

我想创建可以存储信息的对象,例如:

  • [定义]名称,
  • 元素名称,
  • 属性名称,
  • 允许具有关联规则的子元素(零个或多个,一个或多个)。

然后我想在我的 GUI 中显示所有可能的元素,在那里我只能将有效的(根据 Relax NG 模式)元素添加到树状结构中。例如 - 我只能将 resource.class 或 literal.class 添加到我的 property.element 中,当我在 GUI 中选择 property.element 节点时,我的 GUI 中所有其他可能的元素都是灰色的。我使用 Qt,所以我将模式加载到 QDomDocument 以访问 DOM 树。

这种机制必须是通用的,即无论元素如何命名,或者其结构如何。在我的草稿中,我创建了简单的类,在其中放置了几个成员,例如:defined_name、element_name、required_attributes、optional_attributes。目前我被卡住了,因为我不知道如何在 C++ 类中表示规则。如果我有一组不变的对象来工作,我会对每个对象进行硬编码,但我的对象集很可能会随着时间的推移而发生巨大变化。有人有什么主意吗?

0 投票
1 回答
68 浏览

xsd - 从 XSD 模式引用 RELAX NG 模式

我正在 XSD 中编写模式,我想引用附录 A:OPF 包模式中定义的标识符元素。

盲目地,我正在使用以下

目标是元素的定义与元素的模式定义identifier相同。我只是不确定从 XSD Schema 定位 RELAX NG 中的类型。opfidentifier

0 投票
1 回答
109 浏览

xml - DocBook 5.0 Distribution 上的 docbook.dtd 和 docbook.rng 之间的差异

当我使用 RelaxNG 和docbook.rngDocBook 5.0 发行版上提供的模式验证我的文档时,会出现这样的错误,

有问题的 XML 元素是informaltable. 事实上,我在 O'Reilly 网站上读到,an 的基本定义informaltable是没有标题的表。但是,在docbook.dtd同一发行版上提供的 DTD 将 指定titleinformatltable. 那么这是DTD中的错误吗?

DTD 片段,包含在此处,供参考。如果这个 DTD 确实不正确,那么某处是否有正确的 DTD,或者我可以以某种方式生成它?

0 投票
1 回答
119 浏览

xml - 任一顺序的任一​​/两个元素的 RelaxNG 紧凑模式

我正在为 XML 文件编写一个 RelaxNG Compact 模式,其中元素的内容<wrap>必须完全是以下之一:

在英语中,一个<a/>或一个<b/>被允许一次,或者两者都允许,但其中一个必须出现

是否有WrapElement比以下更好(更紧凑)的定义?


以下是接近的。它当然更简洁,它匹配所有允许的变化,并且不允许元素多次出现。但是,它也错误地允许空<wrap/>元素:

0 投票
1 回答
563 浏览

xml - 如何使用 RelaxNG 检查属性是否唯一?

使用 RelaxNG,我可以检查属性的值在封闭元素中是否唯一吗?

例如,这castle应该验证:

但这不应该(在同一个中重复门room):

我正在使用 RelaxNG(紧凑型)。我不知道“提前”的属性值,只知道它们在room.

谢谢!

0 投票
1 回答
375 浏览

xml - mysqldump XML 的 XML 模式

是否存在用于生成的 XML 输出的模式(DTD、XML 模式或 RELAX NG)

如果是这样,我在哪里可以找到它?

0 投票
1 回答
1107 浏览

xml - 如何使用 xml-model 标签将 xml 文档链接到 Relax NG 模式?

我希望使用其W3C 草案xml-model中指定的标签将 xml 文档链接到其 Relax NG 描述文档。

<?xml-model href="" type="" schematypens="" charset="" title="" group="" phase="" ?>

你有一个完整的例子来展示如何使用它吗?是否有能够理解 xml-model 标签的验证器工具?

编辑:我在这里看到了Suggested use of schematypens的例子。我想剩下的唯一问题是哪些工具使用 xml-model。

0 投票
1 回答
203 浏览

java - Jing Relaxng 字符串长度验证

我正在使用 Jing API 进行 RelaxNG 和 xml 验证。我无法验证我指定松弛的字符串的长度。我已经用 java 编写了以下独立代码。在松弛文件中,我将 minLength 验证指定为 3,在代码中我传递空字符串仍然 jing api 没有抛出任何错误。字符串的验证没有发生。我正在使用 Jing API。

我的代码:

2.MyRelaxNG.xml

3.)我的程序的输出:

0 投票
1 回答
1762 浏览

xml - 使用 xmllint 进行 RelaxNG 验证

我正在尝试制作 xmllint 来验证此架构。不幸的是,我遇到了一些奇怪的问题。看起来 xmllint 解释了错误的可选参数,但没有包含交错标记。这是一些带有拼写错误标签person的测试模式,应该由 xmllint 发出信号。不幸的是 xmllint 报告了一些其他不存在的错误。请看一下,也许我做错了什么:

和xml文件内容:

而不是报告拼写错误的标签peron它报告如下:

元素字段:Relax-NG 有效性错误:元素测试有额外的内容:字段