Atom 提要解析器应如何处理提要中的以下 XML 行:
<title type="html"><![CDATA[Johnson & Johnson]]></title>
为了便于讨论,我们假设最初预期的文本实际上是Johnson & Johnson
. 我遇到了这个关于这个问题的在线讨论,似乎有两种不同的意见:
1.
意见 #1 - 声称此内容是双重编码的。文本“Johnson & Johnson”文本已被实体转义,然后通过包裹在 CDATA 部分中再次编码。他指出,表现良好的 xml 解析器将返回Johnson & Johnson
,因为这就是XML 规范规定 CDATA 编码数据应该被处理的方式。
- 意见 #2 - 声称 Atom 规范具有先例。他指出,CDATA 充当传递。
Johnson & Johnson
出来Johnson & Johnson
。如果这只是一个 XML 文档,它将到此结束。但是,因为它是 Atom,所以我们必须查看Atom 规范以确定正确的行为。atom 规范指出,任何带有type="html"
contains 实体的元素都会转义 html。因此,我们应该可以自由地对其进行解码。
这些事实中哪一个是正确的?一个适当的 Atom XML 解析器应该产生:
Johnson & Johnson
还是Johnson & Johnson
在这种特殊情况下?