CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,"<" 和 "&" 是非法的。
"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。
"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:
<script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> </script>
在上面的例子中,解析器会忽略 CDATA 部分中的所有内容。
关于 CDATA 部分的注释:
CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。
标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行
PCDATA是将会被解析的文本,而CDATA是不会被解析的文本。
-
实体
-
XML 结构构造。
文件、数据库记录或包含数据的其他项。 实体的主要用途是存放内容 — 而不是存放结构、规则或语法。 每个实体通过唯一名称标识,包含其自己的内容,从文档中的单个字符到文档之外的大文件。 XML 实体的功能与宏定义类似。 实体可以通过实体引用进行引用,将实体的内容插入树中的相应位置。
实体声明出现在 DTD 中。
-
实体引用
-
XML 结构构造。
充当内容作者的占位符,XML 分析器将实际内容放在每个引用站点。 要加入实体引用,先插入“and”符 (&),然后输入实体名称,后接分号 (;),如下所示:&YourEntityName;。 然后,在处理该行时,实体将替换为实体的内容。 其用法与宏基本相同。
实体展开
实体展开是指由实体应用获得实体的过程,如展开后为一个空格。