+ -
当前位置:首页 → 问答吧 → dtd中元素出现的顺序不固定能实现吗?

dtd中元素出现的顺序不固定能实现吗?

时间:2011-03-12

来源:互联网

我希望address的子元素出现的顺序并不固定,这似乎不能实现吧。

XML code

 <address>
            <type>business</type>
            <street>234 Maple Dr.</street>
            <city>Los Angeles</city>
            <state>CA</state>
            <zip>98765</zip>
            <country>USA</country>
        </address>

作者: theoffspring   发布时间: 2011-03-12

DTD 中没有简单的方法来描述。
DTD 中只有一个 ANY 来说明允许任意元素以任意顺序出现,
对假设对 abc 元素以 ANY 说明,那么,凡是在文档中声明的所有元素它都允许在 abc 元素中以任意顺序、以任意多次出现,这样一来你就没有办法控制 abc 元素中能够出现的子元素和出现次数。

如果 abc 中的子元素数目少,你可以用手工的办法穷举它们的排列写出来,如果子元素数目多,则实际上是不可行的。

正是由于 DTD 本身有不少限制,才会设计出 XML Schema 之类出来的。

作者: kalala2kalala   发布时间: 2011-03-15