我们与客户之间存在某种问题,他们争辩说我们要发送的XML文件中的空标记的两个版本之间存在语义上的差异(纯XML而不是HTML ..)。
他们期望:
<our-xml>
<some-tag></some-tag>
</our-xml>
我们发送:
<our-xml>
<some-tag />
</our-xml>
我们认为这是完全相同的,但我们无法真正用事实证明论据。我们发现的唯一东西是在https://www.w3.org/TR/REC-xml/#sec-starttags中,上面写着
空元素标记可用于不包含任何内容的任何元素。
是我们可以依靠的讨论或更清晰的论文吗?
答案 0 :(得分:1)
开始标签/结束标签(<tag></tag>
)和空白元素标签(<tag/>
)的形式在语义上是等效的。 没有符合标准的XML解析器会将它们区别对待。
参考: Extensible Markup Language (XML) 1.0 (Fifth Edition)
3.1 Start-Tags, End-Tags, and Empty-Element Tags
空元素标记可用于任何不包含任何内容的元素,无论该元素是否使用关键字EMPTY声明。
历史记录:还有一个过时的SGML兼容性参考,出于完整性考虑,我将其包括在内:
For interoperability,对于声明为EMPTY的元素,应使用且仅应使用empty-element标签。
出于互操作性
[定义:标记一个描述非约束性建议的句子,该建议旨在增加XML文档可以被SGML处理器的现有安装基础处理的可能性,该基础早于ISO 8879的WebSGML适应附件。]
相关问答: