2

是否有任何 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">

不会验证。

4

2 回答 2

2

据我所知,没有设计用于强制执行这种约束的模式语言。如果在模式语言中是可能的,它可能是 Schematron。架构不会很漂亮。

对我来说,这意味着你不应该尝试使用模式语言来做到这一点。使用您熟悉的任何编程语言,并以易于阅读的代码编写约束。它将比任何基于模式的版本更短且更易于理解。

于 2009-01-28T20:20:03.747 回答
1

您可以使用 schematron,然后发布与 xslt/xpath 问题相同的问题。

于 2009-01-28T16:03:19.363 回答