XML属性和元素是可交换的吗



四处搜索后,我知道了属性和元素之间的语法差异。

我不是问我是否应该使用哪个,而是问它们是否被服务器等解释相同。

在w3schools.com上,它说以下示例">包含完全相同的信息";

<!-- document A using an attribute -->
<note date="2008-01-10">
<to>Tove</to>
<from>Jani</from>
</note>

<!-- document B using an element -->
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
</note>

我的问题是,"这两份文件应该是‘可交换的’吗?">

即,服务器期望文档格式A,但接收到文档B。服务器是否有义务按照xml标准解析并接受文档B?

不,这两个文档不能互换。使用中的XML模式必须在服务器和客户端之间达成一致,它定义了每个元素类型的可能属性和可能的子元素。这是两个不同的集合。

的确,在没有内部结构的数据的情况下,可以使用属性或子元素来传输信息。但这是模式开发人员需要做出的决定。在做出这一决定时需要考虑的一个重要因素是基准是否具有内部结构。在最复杂的情况下,属性可以是令牌列表。(或者微语法,比如你的约会。(另一方面,子元素的结构可以任意丰富。因此,它们只"包含相同的信息",只要它们包含的信息不是很复杂。

最新更新