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文件的方式。

  • 相关阅读:
    如何在Android Studio中添加注释模板信息?
    Android Activity标签属性
    Android Activity全面解析
    Mac office ppt无法正常输入文字的问题解决方案
    将Android Studio默认布局ConstraintLayout切换成LinearLayout
    Java中Double保留后小数位的几种方法
    java文件传输接口
    纯JS编写打地鼠游戏
    JavaScript监听手机物理返回键的两种解决方法
    spring注解方式实现定时器
  • 原文地址:https://www.cnblogs.com/lishaofei/p/4900174.html
Copyright © 2011-2022 走看看