深入解析XML中的字符实体与字符数据

所属分类: 网页制作 / XML/XSLT 阅读数: 999
收藏 0 赞 0 分享

字符实体
在我们了解字符实体之前,先了解一下什么是 XML 实体。

W3 联盟 对实体的定义:文档实体作为实体树的根元素和 XML 处理程序的起点。


这意味着实体就是 XML 中的占位符。它们可以声明在文档序言或者DTD中。实体有不同的类型,本章后面会讨论字符实体。

HTML 和 XML 都有一些符号被保留使用,它们不能在 XML 代码中用作内容。例如,< 和 > 符号被用作 XML 标签的开头和结尾。要显示这些特殊字符,就要使用字符实体。

有些特殊的字符或符号还不能直接使用键盘输入。可以使用字符实体来显示这些符号或特殊字符。

字符实体类型
有三种类型的字符实体:

预定义的字符实体。
编码字符实体。
命名字符实体。
预定义的字符实体

引入它们是为了避免使用某些有歧义的符号。例如,当我们把小于(<)或大于(>)符号当尖括号(<>)使用时就会产生歧义。字符实体从根本上来说就是用来界定 XML 标签的。下面是一个来自 XML 规范的预定义字符实体列表。它们可以用来表示某些字符而不带歧义。

和号: &
单引号: '
大于: >
小于: <
双引号: "
数字字符实体

数字引用被用来表示字符实体。数字引用可以是十进制或十六进制格式。由于有数以千记的数字引用,导致很难记住它们。数字引用通过使用字符在 Unicode 字符集中的编码数值来表示。

十进制数字引用基本语法:

XML/HTML Code复制内容到剪贴板
  1. &# decimal number ;  

十六进制数字引用基本语法:

XML/HTML Code复制内容到剪贴板
  1. &#x Hexadecimal number ;  

下面的表格列出了一些预定义字符实体和它们对应的数值:

实体名称 字符 十进制引用 十六进制引用
quot " &#34; &#x22;
amp & &#38; &#x26;
apos ' &#39; &#x27;
lt &#60; &#x3C;
gt > &#62; &#x3E;

命名字符实体

正如上面所说的,数值字符很难记住,最受欢迎的字符实体类型是命名字符实体。因为每个实体都用一个名称标识。

例如:

'Aacute' 表示带重音符的大写 A 字符。
'ugrave' 表示带沉音符的小写 u。


CDATA 片段
术语 CDATA 就是字符数据。CDATA 被定义为不由解析器解析的文本块,但它被公认为标记。

标记中预定义的实体比如 &lt;,&gt; 和 &amp; 需要手动输入并且通常难以阅读。这种情况下就可以使用 CDATA 片段。通过使用 CDATA 片段,我们可以告诉解析器文档的特定部分不包含标记,应该被当做普通文本对待。

语法
下面是 CDATA 片段的语法:

XML/HTML Code复制内容到剪贴板
  1. <![CDATA[  
  2. characters with markup  
  3. ]]>  

上面的语法由三个部分组成:

CDATA 开始部分 - CDATA 以9个字符的分隔符<![CDATA[开头。
CDATA 结束部分 - CDATA 以 ]]> 分隔符结尾。
CData 部分 - 上面这两个标记之间的字符被解释为字符而不是标记。这个部分可以包含标记字符(<,> 和 &),但是它们会被 XML 处理程序忽略。
示例

下面的标记代码展示了 CDATA。其中写在 CDATA 片段中的字符都会被解析器忽略。

XML/HTML Code复制内容到剪贴板
  1. <script>  
  2. <![CDATA[   
  3. <message> Welcome to TutorialsPoint </message>  
  4. ]] >  
  5. </script>  

在上述的语法中,<message> 和 </message> 之间的所有内容都会被当做字符数据而不是标记。

CDATA 规则
XML CDATA 需要遵循以下规则:

XML 文档任何位置的 CDATA 都不能包含 "]]>" 字符。
CDATA 片段不可以嵌套。

更多精彩内容其他人还在看

XML模式相关常用的缩写词

常用的缩写词 Ajax:异步 Javascript XML(Asynchronous JavaScript XML) CPU:中央处理单元(Central Processing Unit) CSS:级联样式表(Cascadi
收藏 0 赞 0 分享

XML模式:SOAP

简单对象访问协议(Simple Object Access Protocol,SOAP)实际上是一种 Web 服务技术,但 Web 服务中客户机和服务器之间的数据交换格式是通过灵活的 XML 模式实现的。 Web 服务的主要优点是客户机和服务器通过网络进行信息和数据交换的互
收藏 0 赞 0 分享

XML 语法

相关文章:什么是XML? 看一个简单的XML文档: <?xml version="1.0" encoding="ISO-8859-1"?> <people> <name>yufuzi<
收藏 0 赞 0 分享

什么是XSL?

相关文章:什么是XML XSL(EXtensible Stylesheet Language)它是指可扩展样式表语言。 XSL之于 XML 就像 CSS 之于 HTML。说白了就是将XML中的数据用指定的显示格式输出.XML不像HTML,它不包含任何显示格式的信息.XSL
收藏 0 赞 0 分享

XML:OpenSearch 应用

很多现代的浏览器在地址栏的右边有个搜索框,默认的安装有 Google 搜索等。如下图所示: 其实这是 OpenSearch 的一个应用,只要编写相应的微格式的 xml 文件,就可以制定相应的搜索框。参考 OpenSearch 的定义文档,可以基本获得基本的 xml
收藏 0 赞 0 分享

网页制作关于代码的18个小技巧

  1、xml文件尽量以utf-8编码,gb2312有些字是存储不了的,如?,就算能存也需要转换,比较麻烦,utf-8也符合国际规范。   2、CSS中:hover这个伪类,如果放在:visited前面则会失效。   3、<a>标签如果没有href属性,所
收藏 0 赞 0 分享

什么是XML?

XML是 EXtensible Markup Language(可扩展标识语言)的简写。 和HTML(Hypertext Markup Language 超文本标记语言)一样,同样来源于SGML. XML 不是 HTML 的替代者,只是HTML的补充,它的用途完全不同
收藏 0 赞 0 分享

数据库生成xml的简单方法

第一个示例方法: 1 SqlConnection conn = new SqlConnection(); 2 conn.ConnectionString = "Server=127.0.0.1;User ID=sa;Password=fdahgdr
收藏 0 赞 0 分享

XML教程:通过一个例子来学习XML的语法

XML的语法规则既很简单,又很严格。这些规则很容易学习,也很容易使用。 正因为如此,创建可读取及操作XML的软件不是一件难事。 一个XML文档的例子 XML使用一种可自我描述的简单的语法。 <?xml version="1.0&q
收藏 0 赞 0 分享

百度新闻开放协议XML文档制作方法简述

开放协议概述 使用此开放协议,将会为您的网站带去更多流量! 《互联网新闻开放协议》是百度新闻搜索制定的搜索引擎新闻源收录标准,网站可将发布的新闻内容制作成遵循此开放协议的XML格式的网页(独立于原有的新闻发布形式)供搜索引擎索引,将网站发布的新闻信息主动、及
收藏 0 赞 0 分享
查看更多