这是一个有效的(格式良好的)XML 文档吗?
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner>©</inner>
</outer>
问题在于 HTML/XHTML“©”实体编码在没有 DTD 或模式来定义它的 XML 文档中是否有效。表达上述内容的另一种方式是这样说:
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner>©</inner>
</outer>
这似乎是具有 UTF-8 编码的有效 XML。
但这是否有效:
<?xml version="1.0" encoding="UTF-8" ?>
<outer>
<inner><![CDATA[©]]></inner>
</outer>
上面的作者打算向XML解析器表明它应该通过上面的版权符号作为字符串“©” 而不是作为正确的 Unicode 字符。
在这方面我觉得这句话有点令人困惑:'XML 文档的新作者经常误解 CDATA 部分的目的,错误地认为它的目的是“保护”数据在处理过程中不被视为普通字符数据。[但是] 字符数据是字符数据,无论它是通过 CDATA 部分还是通过普通标记表示的。”(来自维基百科)
我正在单独查看第二位作者提出的 XML 格式,他将每个标签都包装在 CDATA 部分中,即使标签只能包含数字。
希望 XML 大师可以帮助消除对 CDATA 目的的困惑。
谢谢!