2

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

我已经知道了

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

4

3 回答 3

4

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

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

遵循其 DTD 的 XML 文档被认为是有效的。

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

于 2013-11-19T15:30:22.873 回答
0

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

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

于 2013-11-19T18:27:49.510 回答
0

在 XML 模式定义中,您可以使用all或来控制它sequence在这里讨论

于 2013-11-19T18:33:25.773 回答