• 热门标签

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

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

语文本。
国际化字符集将在第7 章“外语和非罗马文本”中讨论。
一个XML 文档的文本可有两种用途,字符数据和置标。字符数据是文档的基本信息。另一方面,置标主要描述一个文档的逻
辑结构。例如,回想一下第三章清单3-2 中的greeting.xml:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
</GREETING>
其中<?xml version="1.0" standalone="yes"?>,<GREETING>和</GREETING>是置标。Hello XML!是字符数据。XML 比其他格
式优越的一点是它把实际数据与置标明显地分隔开。
更确切地说,置标包括所有的注释、字符引用、实体引用、CDATA 段定界符、标记、处理指令和DTD。其他的就是字符数据。
但是文档被处理后,一些置标会变成字符数据。例如,置标&gt;变成了大于号(>)。文档经处理后留下的字符数据和所有
的代表特定字符的数据称为可分析的字符数据。
6.2.1 注释
XML 的注释与HTML 的注释很相似,它们以<!--开始,以-->结束。介于<!--和-->之间的全部数据均被XML 处理器忽略,就
像它们根本不存在一样。注释用于提醒自己或临时标注出文档中不完善的部分。例如:
<?xml version="1.0" standalone="yes"?>
<!--This is Listing 3-2 from The XML Bible-—>
<GREETING>
Hello XML!
<!--Goodbye XML-->
</GREETING>
在使用注释时必须遵循以下几条规则,大致如下:
XML 实用大全
第 132 页
1. 注释不能出现在XML 声明之前,XML 声明必须是文档最前面的部分。例如,下面这种情况是不允许的:
<!--This is Listing 3-2 from The XML Bible-->
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
<!--Goodbye XML-->
</GREETING>
2. 注释不能放在标记中,例如:下面这种情况是非法的:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
</GREETING <!--Goodbye--> >
3. 注释可以包围和隐藏标记。在下面例子中,<antigreeting>标记及其内容被当作注释;而且文档在浏览器中显示时不会
出现,好像不存在一样:
<?xml version="1.0" standalone="yes"?>
<DOCUMENT>
<GREETING>
Hello XML!
</GREETING>
<!--
<ANTIGREETING>
Goodbye XML!
</ANTIGREETING>
-->
</DOCUMENT>
XML 实用大全
第 133 页
由于注释有效地删除了文本的一些部分,必须保证剩余的文本仍然是一个结构完整的XML 文档。例如,在没有注释掉相应的
结束标记前千万不要注释掉起始标记。例如,下面的语句是非法的:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
<!--
</GREETING>
-->
一旦删除注释文本,剩余的是:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
因为<GREETING>标记没有与之匹配的结束标记</GREETING>,这已经不再是一个结构完整的XML 文档。
4. 两个连字符号(--)除了作为注释起始和结束标记的一部分外,不能出现在该注释中。例如,下面的是非法注释:
<!--The red door--that is,the second one--was left open-->
这意味着不能像下面的语句这样嵌套注释:
<?xml version="1.0" standalone="yes"?>
<DOCUMENT>
<GREETING>
Hello XML!
</GREETING>
<!--
<ANTIGREETING>
<!--Goodbye XML!-->
</ANTIGREETING>
XML 实用大全
第 134 页
-->
</DOCUMENT>
这也意味着如果注释掉带有表达式如i--或numberLeft--的C、Java 或者JavaScript 源代码时就会出现问题。通常只要意
识到这个问题就不难解决。
6.2.2 实体引用
实体引用是指分析文档时会被字符数据取代的置标。XML 预先定义了5 个实体引用,列在表6-1 中。实体引用用于XML 文档
中的特殊字符,否则这些字符将被解释为置标的组成部分。例如,实体引用&lt;代表小于号(<),否则会被解释为一个标
记的起始部分。
表6-1 XML 预定义的实体引用
实体引用 字 符
&amp; &
&lt; <
&gt; >
&quot; "
&apos;
XML 中的实体引用与HTML 中不同,必须以一个分号结束。因此&gt;是正确的实体引用写法,&gt 是不正确的。
未经处理的小于号(<)同表示“和”的符号(&)在一般的XML 文本中往往被分别解释为起始标记和实体引用(特殊文本是
指CDATA 段,将在后面讨论)。因此,小于号同“和”号必须分别编码为&lt;和&amp;。例如,短语“Ben & Jerry s New York
Super Fudge Chunk Ice Cream”应当写成Ben &amp;Jerry s New York Super Fudge Chunk Ice Cream 。
大于号、双引号和撇号在它们可能会被解释成为置标的一部分时也必须编码。但是,养成全部编码的习惯要比努力推测一个
特定的应用是否会被解释为置标容易得多。
实体引用也能用于属性值中。例如:
<PARAM NAME="joke" VALUE="The diner said,
&quote;Waiter,There&apos;s a fly in my soup!&quote;">
</PARAM>
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(42)