• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:05来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

• 字符引用
• 实体引用
让我们先来了解一下字符引用。
2.6.1 字符引用
在X M L中,字符引用是一个字符文字形式的替代品,当对该字符的文字形式直接处理会导
致违反X M L对格式正规的要求时(参见本章后面的2 . 1 2节“格式正规的文档”),它会起到非常
重要的作用。
字符引用用来表示一个可显示的字符,它由十进制或十六进制的数字前面加上“ & #”或
“& # x”,后面紧跟分号(;)组成:
上面的字符串“ N N N N N”和“X X X X X”可能是一个或多个数字,它们对应着任何X M L允
许的统一代码字符值。虽然在H T M L中十进制数字更加通用,但X M L还是偏向于使用十六进制
的形式,因为统一代码就使用十六进制进行编码。
例如,& # 1 6 9或& # x A 9(在H T M L浏览器中)会被显示为( c ),而& # 1 7 4或& # x A D会显示为®。
下面,我们把它们同实体引用比较一下。
2.6.2 实体引用
实体引用允许在元素内容或属性值中插入任何字符串,这就为字符引用提供了一种助记的
34使用XML 高级编程
下载
替代方式。
实体引用是一种合法的X M L名字,前面带有一个符号“&”,后面跟着一个分号( ;):
& n a m e ;
有五个实体被定义为X M L的固有部分,它们通常用作X M L标记分隔符号的转义序列(参见
表2 - 3)。
表2 - 3
实体用途
& a m p ; 通常用来替换字符&(除了在C D ATA部分中—本章稍后将详细介绍)
& l t ; 通常用来替换字符小于号( <)(除了在C D ATA部分中)
& g t ; 可能用来替换字符大于号( >)—在C D ATA部分中,如果>紧跟着字符
串“] ]”就必须使用该实体
& a p o s ; 可用来替换字符串中的单引号( ')
& q u o t ; 可用来替换字符串中的字符双引号( ")
除了上述五个实体,所有实体都必须在文档使用前予以定义(就像传统编程中宏的定义和
使用一样)。实体在文档的D T D中定义,D T D可以是一个被称作“外部子集”的文档外的独立对
象(参见第3章);也可以是一个在文档本身中使用< ! D O C T Y P E . . . >声明的“内部子集”(参见
本章稍后的“文档类型声明”部分)。如果X M L解析器发现一个未定义的实体引用,就会按照
X M L规范定义的那样报告一个致命错误(在2 . 1 2节“格式正规的文档”部分你也会看到关于这
项内容的细节)。
例如:AT & a m p ; T在支持X M L的浏览器中会显示为AT & T,&quot;Jack&apos;s Tr a c k s & q u o t ;
则显示为“Jack's Tr a c k s。 ”
实体引用还可以用作普通的文本宏(样本文件)。例如下面的文本包含了一对实体引用:
当引用被替换成它们所代表的值时,它可能显示为:
当然,此时我们假设这些实体已经经过定义。
如果实体的替换文本在声明时包含另一个实体引用,该引用会顺序扩展开,直到所有嵌套
的引用全部解析完毕。但是,嵌套的“名称”不能够包含对自己的递归引用,不管是直接的还
是间接的。(在后面“文档类型声明”部分我们将知道对实体的声明是如何处理的。)
现在,我们来看一看处理指令。
2.7 处理指令
既然X M L像以前的S G M L一样是一种描述性的标记语言,它并不预先假设元素或者其内容
的处理办法。这是一种非常强大的优势,因为它提供了显示的灵活性,以及针对应用程序和操
作系统的独立性。但是,我们会发现经常需要把某些线索通过文档传递给应用程序。处理指令
(Processing Instruction,P I)正是X M L为此目的提供的一种机制。
第2章XML 语法使用35
下载
P I使用的是X M L元素语法的一种变形:
处理指令t a rg e t是必须的部分,而且必须是有效的X M L名称,它用来指明哪个应用程序(或
者其他对象)需要P I的帮助。P I的... instruction ...部分只不过是一个字符串表示,它可能包含任
何有效的字符,除了“ ? >”(因为这是P I的结束符)。此外在XML 1.0推荐标准中就没有更多关于
P I语法的定义了。
另一个几乎随处可见的P I的用途就是将一个样式单和X M L数据对象关联起来:
这个P I并没有出现在XML 1.0 推荐规范当中,但在W 3 C推荐标准中则不同,你可以在
h t t p : / / w w w. w 3 . o rg / T R / x m l - s t y l e s h e e t找到1 9 9 9年6月2 9提出的“Associating Style Sheets with
XML Documents, Version 1.0”。在第1 3章中你会了解到更多关于这个处理指令的使用的内容。
请注意样式单关联的处理指令的名字以字符串“ x m l”开头;这对于任何非W 3 C定义的P I都
属于非法,因为它们都在W 3 C规范中保留使用。
X M L开发者群体一直在争论P I是否真正有用,以及特殊语法是否会妨碍X M L的普遍性(因
为在现有的浏览器中缺少对P I的支持,而且非标准化的目标名称可能会造成标记的不兼容性)。
另一个针对P I的争论是许多通过P I传递的信息最好仅用在外部样式单中。
另一方面, P I也可能有几个好处:它可以作为脚本或服务端包含文件的挂钩(避免类似
H T M L语法中“<!-- -->”注释语法的泛滥成灾);可以作为扩展模式的机制(否则它们就不能
被修改);它也是一种无需改变D T D认证就可以扩展文档的方法;此外,它也可以作为一种传
递嵌入在文档当中的文档显示信息的途径,而且不会影响文档的结构。
既然我们已经谈到了H T M L当中的注释语法。下面让我们来看一看X M L的类似机制。
2.8 注释
这种机制对于在文档当中插入提示,或者叫注释( c o m m e n t)来说是相当有帮助的。这些注
释可能提供修订记录、历史信息或者其他类型的可能对创建者或者文档编辑者来说有着特殊意
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(15)