XML中不同深度的相同标记名是否有效?

时间:2015-05-26 13:31:07

标签: xml validation

我知道这是一个有效的XML:

<ID>1</ID>
<NAME>ABC</NAME>
<Record>
    <PROFILEID>10</PROFILEID>
    <SIZE>100</SIZE>
</Record>
<Record>
    <PROFILEID>11</PROFILEID>
    <SIZE>120</SIZE>
</Record>

但我想知道这是否有效?:

<PROFILEID>1</PROFILEID>
<NAME>ABC</NAME>
<Record>
    <PROFILEID>10</PROFILEID>
    <SIZE>100</SIZE>
</Record>
<Record>
    <PROFILEID>11</PROFILEID>
    <SIZE>120</SIZE>
</Record>

我的意思是不同深度的标签可以有相同的名称吗?或者它可能与其父/子具有相同的名称?

感谢。

1 个答案:

答案 0 :(得分:0)

是的,同名的XML元素可以在格式良好的 XML文档中的“不同深度”出现。

Validity is another matter并且取决于所使用的架构技术。

在XSD中,是的,同名的XML元素可以出现在不同的深度,如果在本地定义,则可以在不同的深度处具有不同的类型。 但是,在XSD 1.0中,同名的XML元素不能具有不同类型的兄弟。在XSD 1.1中,条件类型赋值可用于允许同名兄弟节点具有不同的类型。