CDATA 与 PCDATA区别

CDATA是xml里的东西,用在这里的目的是为了让xhtml校验通过,因为在xml中,CDATA里的内容是“文本”,不需要转义,可以存在<>&等在xml中不允许出现的符号。

该文章转载自脚本之家:http://www.jb51.net/html/200705/23/9888.htm

(译者注:这是Mike Brown在[xml-dev]邮件讨论区中针对Michael Fitzgerald关于CDATA和PCDATA的关系的一种不确切的说法给与的回应。Michael Fitzgerald的说法是一种具有普遍性的误解,而Mike Brown予以了澄清,之后Michael Fitzgerald表示Mike Borwn的解释更好。)

>Michael Fitzgerald写道:
>#PCDATA指明元素可容纳被解析(parsed)字符数据。解析(parsing)将测试字符串是否遵循>XML1.0所规定的词法约束。
>
>CDATA出现在属性声明中,它指明属性可容纳不被解析(unparsed)字符数据。

这样的说法不确切。按照你对于“解析”一词的解释,XML文档中所有的字符都是要被解析的。

CDATA标志在属性声明中用于指明属性为CDATA字符类型,这种类型中&,<,和引号具有特殊意义。

PCDATA标志在元素声明中用于指明元素有混合内容(字符数据或者字符数据与子元素的混合)。元素内容将被解析。这种类型中&和<具有特殊意义,如果不是作为标记开始,则使用时要转义。

一个被"<![CDATA[" and "]]>"括起来的CDATA节,是不将被解析的字符数据节,这与CDATA和PCDATA这两种被解析的字符数据形成对照。CDATA节只能出现在元素内容中,它与属性声明中的CDATA标志并无任何关系。 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1802239

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值