XML规范是否说明了元素的顺序?

时间:2013-11-19 15:16:55

标签: xml language-specifications

我听过几次XML规范表明XML没有被排序(例如,如果你期望订单,那么它不是真正的XML)。据我所知,XML规范没有说明元素的顺序;它既没有明确的无序,也没有暗示没有秩序。

我已经知道了

但我想知道的是:XML规范(任何版本)是否都说明了元素的顺序?

3 个答案:

答案 0 :(得分:4)

是的,XML规范关注元素顺序。 XML文档类型声明(DTD)是XML规范的一部分。它们可用于强制执行特定的元素顺序。该规范明确地讨论了元素顺序,例如在这里:

  

...管理允许的子元素类型以及允许它们出现的顺序。

符合其DTD的XML文档被视为有效

但是,如果您只是谈论格式良好,而不是有效性,那么元素的顺序并不重要。

答案 1 :(得分:0)

通常假设父元素中子元素的顺序可能很重要,并且解析器将按原始顺序向应用程序报告元素。但是,当我上次查看时,规范并没有明确说明。这种疏忽大概是因为它对规范作者来说是完全显而易见的,他们主要对使用XML来表示文档感兴趣,其中一节中段落的顺序显然需要保留。

规范明确指出元素中属性的顺序并不重要。也许这就是你的想法。

答案 2 :(得分:0)

在XML架构定义中,您可以使用allsequence来控制此问题。 Discussed here