标签顺序是否与有效XML相关?

Seg*_*las 10 xml tags validation

换一种说法:

<?xml version="1.0" encoding="UTF-8"?>
<root>
 <tag1>
  <tag1.1></tag1.1>
 </tag1>
 <tag2 />
<root>
Run Code Online (Sandbox Code Playgroud)

是相同的:

<?xml version="1.0" encoding="UTF-8"?>
    <root>
     <tag2 />
     <tag1>
      <tag1.1></tag1.1>
     </tag1>     
    <root>
Run Code Online (Sandbox Code Playgroud)

phi*_*gen 12

在显示的详细信息中,您的两个示例在语义上是相同的.

这是对XML的常见误解,在格式良好的XML文档中,兄弟元素的顺序非常重要.该XML 1.0规范指定的属性是无序的,但它没有提到元素.因此,XML处理器可以按照自己喜欢的顺序自由报告元素兄弟.

也就是说,我认为任何常用的XML处理器都不会按照它们在文档中出现的顺序来报告元素.

您询问"有效"文档 - 这意味着DTD或模式正在使用中,因此可能(或可能不)是订单相关的情况.DTD或模式有一些机制可以指定元素顺序在文档中是相关的.但是,您的示例不显示DTD或架构的使用.


Jon*_*øgh 5

对于XML本身来说并不重要。这两份文件当然是合式的XML文档。但是,它们可能无效;当使用XML模式进行验证时,可以指定顺序,并且不提供该顺序中的元素将使文档根据模式无效。可以使用此处xsd:sequence描述的元素来完成