PCDATA是DTD中声明元素为被解析字符数据的关键字,表示该元素仅允许含合法XML文本,支持实体引用但禁止嵌套子元素,且在混合内容中须置于首位。
#PCDATA 是 DTD 中用于声明元素内容类型的关键词,全称是 Parsed Character Data,即“被解析的字符数据”。
它表示该元素允许包含纯文本内容,而且这些文本会被 XML 解析器逐个检查,识别其中的标记符号(
如 、>、&)和实体引用(如 zuojiankuohaophpcn、&),并按规则处理。
这样的未转义标签 - 支持实体引用,比如
© 会被解析为 ©
-
不能嵌套子元素 —— 一旦声明为
#PCDATA,该元素体内就不能再出现其他 XML 元素
- 在混合内容模型中,
#PCDATA 必须放在最前面,且用 | 和子元素名并列,例如:
常见误用提醒
-
#PCDATA 不等于“任意字符串”,它受 XML 解析规则约束
- 属性值不能用
#PCDATA 声明,属性类型应使用 CDATA 或其他限定类型
- 如果需要放大段不解析的代码或 HTML 片段,应该用
区块,而不是依赖 #PCDATA
基本上就这些。