问题标签 [relaxng-compact]

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 回答
318 浏览

xml - RELAX NG 基于其他元素的条件数据类型

我的目标是拥有一个 RELAX NG 紧凑模式,它强制元素的数据类型与父元素的数据类型匹配。

我目前有以下架构:

我想要的是一个描述文档的模式,如果 Tickmarks/@from 是一个浮点数,那么 Tickmarks/Tick/@value 也必须是一个浮点数。

所以本质上它应该满足以下测试:

有效的

有效的

无效的

无效的

RELAX NG compact 是否可以做到这一点?

0 投票
1 回答
108 浏览

relaxng - 在不使用模式的情况下制作复杂的 Relax NG 属性?

我有一个名为“页面”的属性。它由两到三个双打组成,用逗号分隔,而不是空格,并带有可选的“!” 在最后。以下所有内容均有效:

我知道我可以使用模式,以下会起作用:

但如果可能的话,我宁愿使用这样的东西:

我可以使用“列表”完成上述工作:

但是最后我在每个部分之间都有空格:

有没有办法在不使用模式的情况下做到这一点?

0 投票
1 回答
153 浏览

relaxng - Relax-ng compact:名称与正则表达式匹配的属性

有没有办法在relax-ng 中指定属性的名称必须与正则表达式匹配。例如 html5 中的数据属性。

我希望我能做类似的事情......

0 投票
1 回答
202 浏览

xml - 在 Relax NG 中,如何定义至少需要其中之一的 2 个元素?

我需要编写一个 xml 模式(我正在使用relax NG 来生成一个 rng ...),它至少需要 2 个不同元素中的 1 个。因此,如果元素是“水果”和“蔬菜”,可接受的 xml 将包含水果、蔬菜或两者。

<fruit>apple</fruit> <vegetable>broccoli</vegetable>

这是我到目前为止所拥有的,但这是水果或蔬菜,如果你既不通过水果也不通过蔬菜,它也可以...

更新 答案似乎是正确的,但我不知道如何整合它。当你说我不能使用交错时,你的意思是我可以做这样的事情吗?

<meal> <drink>Water</drink> <meat>Chicken</meat> <fruit>Apple</fruit> <vegetable>Broccoli</vegetable> </meal>

哪里需要水果或蔬菜或两者兼而有之?

更新 2:这看起来正确吗?

0 投票
2 回答
126 浏览

xml - 使用 RNC 验证仅包含一个文本节点的混合内容

我正在尝试验证应该包含一个文本节点的混合内容元素。例如,这应该验证:

但这不应该:

我试过了

(其中description,modelSectionvar是先前定义的)但是在验证上面的第一个示例时 rnv 报告 fff_pre_Thi_Vhi_Vhi 的“文本不允许”错误。替换& text& xsd:string验证<corner>我不想要的 textless 。感觉这一定很简单,我忽略了一些东西......感谢您的任何建议。

0 投票
1 回答
170 浏览

xjc - 为什么 xjc 会在这个 RelaxNG 紧凑模式上窒息?

我正在尝试从OpenGL API Registryxjc的 RelaxNG 模式生成 JAXB 绑定。它抛出一个:NullPointerException

我的类路径中还缺少其他东西吗?

我知道RelaxNG 支持是实验性的,所以也许它只是坏了。作为解决方法,我使用 Trang 将架构转换为 XSD:

0 投票
1 回答
116 浏览

recursion - 在一组重复的有序元素中表达递归引用

我正在尝试编写具有以下规则的 RelaxNG 模式:

  1. 一个line元素可以包含零个或多个a元素b
  2. 每个a元素都必须有一个对应的b元素,反之亦然。
  3. a元素必须始终位于其匹配b元素之前。

所以,以下都应该被认为是有效的:

同时,以下均无效:

这如何在 RelaxNG 中表达?我的第一个想法是创建一个递归引用,如下所示:

然而,Jing 认为这是“对‘pair’的错误递归引用”。我无法为我的生活弄清楚如何解决这个问题!有任何想法吗?

0 投票
1 回答
128 浏览

relaxng - 如何使用模式匹配紧凑型relaxng中的元素名称

我有一些 XML 需要从下面也有类似布局的外部源进行验证

我尝试了以下但无效

理想情况下,我想对 id 标签名称进行正则表达式匹配

0 投票
2 回答
230 浏览

relaxng - 使用relaxng compact 验证时如何忽略xml元素中的html

我怎样才能有一个模式忽略元素中的 html 而不是验证器试图验证它

这是无效的,但我尝试过类似的事情

0 投票
0 回答
63 浏览

xml - 我应该重写表还是可以在上面运行多个迭代器?XQuery

Relax ng compact 中的伪表:

表格(但在挪威):

有没有办法遍历这个找到出版商,并检查他们是否满足这些条件(出版商已经发布了主题为(fagfelt)a AND b 的书籍)。

我想找到所有出版过这两个主题的书的出版商。

我应该重写它以使其成为可能还是有办法?

我对 XQuery 和 xml 不熟悉