XML 中的 <tag /> 和 <tag></tag> 之间是否存在语义差异?

Mar*_*cel 7 xml tags w3c

我们与一位客户存在某种问题,该客户认为我们发送的 XML 文件中的两个版本的空标记之间存在语义差异(纯 XML 没有 HTML ..)。

他们期望:

 <our-xml>
    <some-tag></some-tag>
 </our-xml>
Run Code Online (Sandbox Code Playgroud)

我们发送:

 <our-xml>
    <some-tag />
 </our-xml>
Run Code Online (Sandbox Code Playgroud)

我们认为这是完全相同的,但我们无法真正用事实证明这些论点。我们发现的唯一内容是在https://www.w3.org/TR/REC-xml/#sec-starttags中说的

空元素标签可用于任何没有内容的元素。

是否有任何讨论或更明确的论文可供我们依赖,或者我们错了?

kjh*_*hes 9

开始标签/结束标签 ( <tag></tag>) 和空元素标签 ( <tag/>) 形式在语义上是等效的。 没有符合标准的 XML 解析器会区别对待它们。


参考可扩展标记语言 (XML) 1.0(第五版)


历史记录:还有一个过时的 SGML 兼容性参考,为了完整起见,我将其包括在内:

对于互操作性,应为声明为 EMPTY 的元素使用且仅应使用空元素标记。

  • 1.2 术语

    互操作性

    [定义:标记一个描述非约束性建议的句子,包括增加 XML 文档可以被现有安装的 SGML 处理器基础处理的机会,这些处理器早于 ISO 8879 的 WebSGML 适配附件。]


相关问答: