是否可以使用xml循环引用?

时间:2012-07-06 17:04:17

标签: xml xsd

我正在创建一个XML模式,用于跟踪有关文件来源/来源的信息。

我想设置一个像我的下面例子一样的子父结构,所以我不必跟踪线元素元素列表上的关系。

这没关系吗?有什么理由不建议这样做吗?,如果没有,那么正确的方法是什么?

XML结构

<meta> <!-- root -->
<info/>
    <sources>
        <source>
            <meta> <!-- circular reference -->
            <info/>
                <sources>
                    <source>
                           <meta>...</meta> <!-- circular reference -->
                    </source>
                </sources>
            </meta>     
        </source>
        <source>
            <meta> <!-- circular reference -->
            <info/>
                <sources>
                    <source>
                        <meta>...</meta> <!-- circular reference -->
                    </source>
                </sources>
            </meta>     
        </source>
    </sources>
</meta>

1 个答案:

答案 0 :(得分:1)

我认为你的意思是,一个元素有一个具有相同元素类型名称的后代是否可以?

不确定;许多XML词汇表使用递归元素。 (X)HTML div 元素是您可能熟悉的示例。

递归的优点通常是它简化了词汇表;主要的缺点是它需要处理器(以及编写它们的人)来跟踪递归。在许多情况下这很容易,而在其他情况下可能会很尴尬。

您确实需要确保递归元素不需要作为其自身的子级或后代;否则就不可能拥有任何有效的有限文件。

相关问题