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

标签 xml xsd dtd relaxng

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

作为一个玩具示例:

<animal name="A" eats="B">
<animal name="B" eats="C">
<animal name="C" eats="D">

会验证,但是

<animal name="A" eats="B">
<animal name="B" eats="C">
<animal name="C" eats="D">
<animal name="D" eats="A">

不会验证。

最佳答案

据我所知,没有任何模式语言是为了强制执行这种约束而设计的。如果可以用模式语言实现的话,那可能就是 Schematron。该架构不会很漂亮。

对我来说,这意味着您不应该尝试使用模式语言来执行此操作。采用任何您熟悉的编程语言,并用易于阅读的代码来编写约束。它将比任何基于模式的版本更短、更容易理解。

关于xml - 是否有任何允许指定约束(如无循环引用)的 XML 模式语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488019/

相关文章:

xml - 可选元素类型 DTD

xml - 内部 DTD 中的参数实体

android - attrs.xml 中的错误

javascript - 如何从 xml 中提取特定内容(在页面加载时)?

java - JAXB 为没有内容的标签设置一个值

xml - 为什么 XPath 不适用于 xmlns 属性

java - JEdi​​torPane 中的 HTMLEditorKit 和自定义标签

javascript - 使用php将javascript函数生成的xml代码插入到mysql中并更新它

php - 使用亚马逊 MWS 时我的 Feed 应该是什么样子?

base64Binary 的 XmlAdapter 结果为 String