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. 20130620—ant和java杂学随笔

    ant知识点: 1.使用属性定义相对路径的时候,一定要使用location,而不要去使用value  对于<property></property>中location和valu ...

  2. WebApi接口传参不再困惑:传参详解

    原文出处: 懒得安分 前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望 ...

  3. js中窗口大小和单个元素大小的计算

    1. 窗口的大小即浏览器的大小: window.innerWidth, window.innerHeight, window.outerHeight, window.outerWidth 在IE9+, ...

  4. python 写的几道题

    ''' #乘法口诀''' for i in range(1,10): for j in range(1,i+1): print("%d*%d=%2d" % (i,j,i*j),en ...

  5. Kafka Eagle 源码解读

    1.概述 在<Kafka 消息监控 - Kafka Eagle>一文中,简单的介绍了 Kafka Eagle这款监控工具的作用,截图预览,以及使用详情.今天笔者通过其源码来解读实现细节.目 ...

  6. 类比Spring框架来实现OC中的依赖注入

    如果你之前使用过JavaEE开发中的Spring框架的话,那么你一定对依赖注入并不陌生.依赖注入(DI: Dependency Injection)是控制反转(IoC: Inversion of Co ...

  7. Digital Tutors - Introduction to Scripting Shaders in Unity 学习笔记

    1. Overview 2. Understanding Shader definition:code that define what the material can do in the envi ...

  8. 设置查询对话框的F7

    1.定义自己的处理类public class MyQueryProcessor extends FMDefaultQueryProcessor { @Override public void proc ...

  9. 使用D3 Geo模块画澳大利亚地图

    数据 数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.因此做数据可视化前需要想明白2件事: 你有什么数据? 你要传达什么信息? 本文中的示例中,将以不同的颜色显示澳大利亚不同地区的客户数 ...

  10. CoreAnimation 图层几何学

    CoreAnimation 图层几何学 博客园MakeDown支持不佳,如有需要请进GitHub 图层几何所讲主要是有关图层的位置,尺寸等几何类属性. 布局 在UIView中与位置,尺寸有关的属性有 ...