XML命名空间提供了避免元素命名冲突的方法。而XML CDATA允许我们在XML中添加不被XML解析器解析的数据。

2.1 XML命名空间

一般情况下,我们编写的XML文档都是:

XML文档1:

<table>
    <name>African Coffee Table</name>
    <width>80</width>
    <length>120</length>
</table>

XML文档2:

<table>
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>

这样看好像不会有什么错误,但是如果在同一页面中同时引用这两个XML文档时,那么XML就无法分辨出两个XML文档中的<table>元素了,这样在用JS读取XML⽂档的时候就会出现错误。而XML命名控件(xmlns属性)可以作为元素的前缀避免元素冲突。当加上了命名空间后,XM文档就是这样的:

XML文档1:

<table xmlns="http://www.w3.org/TR/html4/">
   <tr>
   <td>Apples</td>
   <td>Bananas</td>
   </tr>
</table>

XML文档2:

<table xmlns="http://www.w3school.com.cn/furniture">
    <name>African Coffee Table</name>
    <width>80</width>
    <length>120</length>
</table>

xmlns属性仅仅作为一个表示,而没有什么实际的意义。不过,很多公司常常将xmlns作为指针来使用,将其指向实际存在的网页,这个网页包含关于命名空间的信息。

2.2 XML CDATA

当浏览器加载XML的时候,XML解析器对XML文档中的所有内容进行解析。但有时候我们有有些内容不希望被XML解析器解析,此时我们可以将这部分内容包含在由"<![CDATA[" 开始,由"]]>" 结束的文本内。

<script>
<![CDATA[ ....... function matchwo(a,b)
    {
        if (a < b && a < 0) then
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
    ]]>.......
</script>                

我们将上面这部分不应由XML 解析器进行解析的文本数据(Unparsed Character Data)叫做:CDATA。相反,没有被包含在这里面的内容就叫做:PCDATA, 指的是被解析的字符数据(Parsed Character Data)。

总结:

· XML命名空间提供了避免元素命名冲突的方法,如:<table xmlns="http://www.w3.org/TR/html4/">。

· 而XML CDATA允许我们在XML中添加不被XML解析器解析的数据,使用"<![CDATA[" 开始,由"]]>" 包围起来即可。

2.XML高级用法的更多相关文章

  1. SQL[连载3]sql的一些高级用法

    SQL[连载3]sql的一些高级用法 SQL 高级教程 SQL SELECT TOP SQL SELECT TOP 子句 SELECT TOP 子句用于规定要返回的记录的数目. SELECT TOP ...

  2. 细说 ASP.NET Cache 及其高级用法

    许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术. 而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用HttpRuntime.Cache访问到的那个Ca ...

  3. 细说 ASP.NET Cache 及其高级用法【转】

    阅读目录 开始 Cache的基本用途 Cache的定义 Cache常见用法 Cache类的特点 缓存项的过期时间 缓存项的依赖关系 - 依赖其它缓存项 缓存项的依赖关系 - 文件依赖 缓存项的移除优先 ...

  4. LinqToXml高级用法介绍

    LinqToXml高级用法介绍 一.函数构造 什么是函数构造?其是指通过单个语句构建XML树的能力. 那么它有什么作用呢? 作用1.用单个表达式快速创建复杂的XML树 见实例代码CreateXml( ...

  5. Android Data Binding高级用法-Observable、动态生成Binding Class(三)

    设置View的id 虽然说Data Binding这种分层模式使得我们对数据的传递简单明了,一般情况下我们可以不设置View的id,不使用findViewById即可对View进行数据上一系列的操作, ...

  6. Python爬虫入门之Urllib库的高级用法

    1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...

  7. Python爬虫Urllib库的高级用法

    Python爬虫Urllib库的高级用法 设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Head ...

  8. [转]细说 ASP.NET Cache 及其高级用法

    本文转自:http://www.cnblogs.com/fish-li/archive/2011/12/27/2304063.html 阅读目录 开始 Cache的基本用途 Cache的定义 Cach ...

  9. jquery ajax实例教程和一些高级用法

    jquery ajax的调用方式:jquery.ajax(url,[settings]),jquery ajax常用参数:红色标记参数几乎每个ajax请求都会用到这几个参数,本文将介绍更多jquery ...

随机推荐

  1. CentOS 7 yum搭建 LAMP

    CentOS 7 搭建LAMP环境 1. Apache 安装 Apache 的软件包名称叫做httpd,因此安装Apache,使用以下命令 [root@localhost ~]# yum -y ins ...

  2. c++STL排序算法注意事项

    关于算法中的比较函数 #include<iostream> #include<algorithm> using namespace std; int compare(doubl ...

  3. Nginx rewrite(重读)

    Nginx Rewrite规则相关指令  Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的Nginx Re ...

  4. 快速排序算法javascript实现

    function quicksort(arr){ function q(start,end){ if(start>=end){return;} var pivot = start, temp = ...

  5. js实现浏览器添加收藏功能

    今天搞项目的时候为了实现浏览者实现添加收藏的功能,特地了解了一下相关的API. 也看到了网上各种版本的代码.整理了一下,代码如下.简单易懂. <script> function _addF ...

  6. 从覆盖bootstrap样式谈css选择器优先级

    样式优先级 首先简单说几个定义样式的方式: 元素内嵌: <li><a href="" style="color:#ffffff;">SH ...

  7. 彻底理解Promise对象——用es5语法实现一个自己的Promise(上篇)

    本文同步自我的个人博客: http://mly-zju.github.io/ 众所周知javascript语言的一大特色就是异步,这既是它的优点,同时在某些情况下也带来了一些的问题.最大的问题之一,就 ...

  8. ajax详细讲解和封装包括HTTP状态码

    AJAX(异步的JavaScript和XML,用异步的形式去操作xml) 主要的作用:数据交互   好处:               1.节省用户的操作时间               2.提高用户 ...

  9. 1712: [Usaco2007 China]Summing Sums 加密

    1712: [Usaco2007 China]Summing Sums 加密 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 338  Solved: 12 ...

  10. mybatis 使用场景

    1.Database design is often a separate function (with separate management) from OO domain design 数据库设 ...