问题标签 [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.
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 结合,但我寻找一个干净的结构来做到这一点。
先感谢您。
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++ 类中表示规则。如果我有一组不变的对象来工作,我会对每个对象进行硬编码,但我的对象集很可能会随着时间的推移而发生巨大变化。有人有什么主意吗?
xsd - 从 XSD 模式引用 RELAX NG 模式
我正在 XSD 中编写模式,我想引用附录 A:OPF 包模式中定义的标识符元素。
盲目地,我正在使用以下
目标是元素的定义与元素的模式定义identifier
相同。我只是不确定从 XSD Schema 定位 RELAX NG 中的类型。opf
identifier
xml - DocBook 5.0 Distribution 上的 docbook.dtd 和 docbook.rng 之间的差异
当我使用 RelaxNG 和docbook.rng
DocBook 5.0 发行版上提供的模式验证我的文档时,会出现这样的错误,
有问题的 XML 元素是informaltable
. 事实上,我在 O'Reilly 网站上读到,an 的基本定义informaltable
是没有标题的表。但是,在docbook.dtd
同一发行版上提供的 DTD 将 指定title
为informatltable
. 那么这是DTD中的错误吗?
DTD 片段,包含在此处,供参考。如果这个 DTD 确实不正确,那么某处是否有正确的 DTD,或者我可以以某种方式生成它?
xml - 任一顺序的任一/两个元素的 RelaxNG 紧凑模式
我正在为 XML 文件编写一个 RelaxNG Compact 模式,其中元素的内容<wrap>
必须完全是以下之一:
在英语中,一个<a/>
或一个<b/>
被允许一次,或者两者都允许,但其中一个必须出现。
是否有WrapElement
比以下更好(更紧凑)的定义?
以下是接近的。它当然更简洁,它匹配所有允许的变化,并且不允许元素多次出现。但是,它也错误地允许空<wrap/>
元素:
xml - 如何使用 RelaxNG 检查属性是否唯一?
使用 RelaxNG,我可以检查属性的值在封闭元素中是否唯一吗?
例如,这castle
应该验证:
但这不应该(在同一个中重复门room
):
我正在使用 RelaxNG(紧凑型)。我不知道“提前”的属性值,只知道它们在room
.
谢谢!
xml - mysqldump XML 的 XML 模式
是否存在用于生成的 XML 输出的模式(DTD、XML 模式或 RELAX NG)
如果是这样,我在哪里可以找到它?
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。
java - Jing Relaxng 字符串长度验证
我正在使用 Jing API 进行 RelaxNG 和 xml 验证。我无法验证我指定松弛的字符串的长度。我已经用 java 编写了以下独立代码。在松弛文件中,我将 minLength 验证指定为 3,在代码中我传递空字符串仍然 jing api 没有抛出任何错误。字符串的验证没有发生。我正在使用 Jing API。
我的代码:
2.MyRelaxNG.xml
3.)我的程序的输出:
xml - 使用 xmllint 进行 RelaxNG 验证
我正在尝试制作 xmllint 来验证此架构。不幸的是,我遇到了一些奇怪的问题。看起来 xmllint 解释了错误的可选参数,但没有包含交错标记。这是一些带有拼写错误标签person的测试模式,应该由 xmllint 发出信号。不幸的是 xmllint 报告了一些其他不存在的错误。请看一下,也许我做错了什么:
和xml文件内容:
而不是报告拼写错误的标签peron它报告如下:
元素字段:Relax-NG 有效性错误:元素测试有额外的内容:字段