zoukankan      html  css  js  c++  java
  • CDATA为何物?

    CDATA的解释


     

      1. 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data),XHTML也是如此。

    CDATA 部分中的所有内容都会被解析器忽略。

      2. CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束。

    CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。标记 CDATA 部分结尾的 "]]>" 不能包含空格或折行。

     

    为何要用CDATA


     

      1. 在XML或XHTML中特殊字符会被误解或不解,可是使用字符实体代码在开发者看来很难懂,所以根据CDATA的解释,可以在CDATA的部分中使用特殊字符,如小于(<)、大于(>)、和号(&)和双引号("),而不必使用它们的字符实体。

    在 XML 中有 5 个预定义的实体引用:

    实体引用(entity reference) 字符 解释
    &lt; < 小于
    &gt; > 大于
    &amp; & 和号
    &apos; ' 单引号
    &quot; " 双引号

    严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。 

       2.虽然这是正式方式,但另外一个问题是,大多数浏览器都不完全支持XHTML,所以浏览器无法识别CDATA段,即这在JavaScript中是个语法错误。以下方法便能够完美解决此问题。

    //<![CDATA[
    function compare(a,b){   if (a < b)
        alert(
    "a小于b");   else if (a>b)
        alert(
    "a大于b");   else   alert("a等于b"); } //]]>

    使用单行的JavaScript注释"//",可在不影响代码语法的情况下嵌入CDATA段,这种解决方案模仿了“对旧浏览器隐藏”代码的方法。但是,为避免CDATA的问题,最好还是用外部引入JS文件的方式。

  • 相关阅读:
    Hibernate框架简介
    [leecode]Evaluate Reverse Polish Notation
    linux 服务器之间配置免密登录
    大数据学习系列之一 ----- Hadoop环境搭建(单机)
    Hadoop hbase集群断电数据块被破坏无法启动
    CentOS 6 上安装 pip、setuptools
    CentOs6.7 python2.6升级到2.7.11
    安装phantomjs(Ubuntu版本 MacOS版本)
    Linux/Centos下安装部署phantomjs 及使用
    linux 查看系统磁盘、内存大小
  • 原文地址:https://www.cnblogs.com/lishaofei/p/4900174.html
Copyright © 2011-2022 走看看