• 热门标签

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

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

当前的Web 浏览器处理这种标记的方法不一致。但是如果想保持向后的兼容性,可以使用结束标记来代替,而且不能在其间
包含任何文本。例如:
<BR></BR>
<HR></HR>
<IMG></IMG>
即使这样,Netscape 处理<BR></BR>也有困难(它把这两个标记解释为行间距,而不是前面所讲的)。因此,在HTML 中包
含结构完整的空标记也并非总是可行的。
#4:让一个元素完全包含其他所有元素
一个XML 文档包含一个根元素,它完全包含了文档中其他所有元素。有时候这种元素被称作文档元素。假设根元素是非空的
(通常都是如此),它肯定有起始标记和结束标记。这些标记可能使用但不是必须使用root 或DOCUMENT 命名。例如,在下
面的文档中根元素是GREETING:
<?xml version="1.0" standalone="yes"?>
<GREETING>
Hello XML!
XML 实用大全
第 142 页
</GREETING>
XML 声明不是一个元素,它更像是一个处理指令,因此不必包含在根元素中。类似地,在一个XML 文档中的其他非元素数据,
诸如其他处理指令、DTD 和注释也不必包含在根元素中。但是所有实际的元素(除根元素本身)必须包含在根元素中。
#5:不能重叠元素
元素可以包含别的元素(大多数情况下),但是元素不能重叠。事实上是指,如果一个元素含有一个起始标记,则必须同时
含有相应的结束标记。同样,一个元素不能只含有一个结束标记而没有相应的起始标记。例如,下面的XML 是允许的:
<PRE><CODE>n =n +1;</CODE></PRE>
下面所示的XML 是非法的,因为结束标记</PRE>放在了结束标记</CODE>之前:
<PRE><CODE>n =n +1;</PRE></CODE>
大部分HTML 浏览器容易处理这种情况,但是XML 浏览器会因为这种结构而报告出错。
空标记可随处出现。例如:
<PLAYWRIGHTS>Oscar Wilde<HR/>Joe Orton</PLAYWRIGHTS>
本规则与规则4 联系在一起有如下含义:对于所有非根元素,只能有一个元素包含某一非根元素,但是元素不能包含其中含
有非根元素的元素。这个直接含有者称为非根元素的父元素,非根元素被认为是父元素的子元素。因此,每个非根元素只有
一个父元素。但是一个单独的元素可以有任意数目的子元素或不含有子元素。
请分析如下所示的清单6-1。根元素是DOCUMENT 元素,它含有两个元素。第一个STATE 元素含有4 个子元素:NAME、TREE、
FLOWER 和CAPITOL。第二个STATE 元素含有3 个子元素:NAME、TREE 和CAPITOL。这些里层的子元素只包含字符数据,没有
子元素。
清单6-1:父元素和子元素
<?xml version="1.0" standalone="yes"?>
<DOCUMENT>
<STATE>
<NAME>Louisiana</NAME>
<TREE>Bald Cypress</TREE>
<FLOWER>Magnolia</FLOWER>
<CAPITOL>Baton Rouge</CAPITOL>
</STATE>
XML 实用大全
第 143 页
<STATE>
<NAME>Mississippi</NAME>
<TREE>Magnolia</TREE>
<CAPITOL>Jackson</CAPITOL>
</STATE>
</DOCUMENT>
在编程人员的术语中,这意味着XML 文档形成了一个树。图6-1 显示了清单6-1 表示的树形结构以及将该结构称为树的原因。
图6-1 从根开始,逐级地分支延伸到树末端的叶。
树有一些好的特性使计算机程序易于读取,尽管对于文档的作者而言是无关紧要的。
图6-1 清单6-1 表示的树形结构
树通常由上向下画,这就是说树的根应该在图片的顶部而不是底部。但这样看起来不像真正的树,不过并不影响
数据结构的拓扑形式。
#6:属性值必须加引号
XML 要求所有的属性值必须加引号,不管属性值是否包括空白。例如:
<A HREF="http://metalab.unc.edu/xml/">
HTML 的要求则不是这样。比如,HTML 允许标记含有不带引号的属性。例如,下面是一个合法的HTML<A>标记:
<A HREF=http://metalab.unc.edu/xml/>
唯一的要求是属性值不能嵌有空格。
如果一个属性值本身含有双引号,可以使用属性值加单引号来代替。例如:
XML 实用大全
第 144 页
<IMG SRC="sistinechapel.jpg"ALT= And God said,"Let there be light," and there was light />
如果一个属性值包含有单引号和双引号,可以使用实体引用&apos;代替单引号,&quot;代替双引号。例如:
<PARAM name="joke" value="The diner said,
&quot;Waiter,There&apos;s a fly in my soup!&quot;">
#7:只在开始标记和实体引用中使用<和&
XML 假定最先的<是一个标记的开始,&是一个实体引用的开始(HTML 也是如此,如果省略它们,大部分浏览器会假定有一个
分号)。例如:
<H1>A Homage to Ben &Jerry s
New York Super Fudge Chunk Ice Cream</H1>
Web 浏览器会正确地显示该标记,但是为了最大限度的安全,应当避免使用&,用&amp;来代替,像下面这样:
<H1>A Homage to Ben &amp;Jerry s New York Super Fudge Chunk
Ice Cream</H1>
开尖括号(<)的情况也类似。请看下面很普通的一行Java 代码:
<CODE> for (int i =0;i <=args.length;i++){</CODE>
XML 与HTML 都会把<=中的小于号当作一个标记的开始。该标记会延续到下一个>。因此该行会现示成:
for (int i =0;i
而不是:
for (int i =0;i <=args.length;i++){
“=args.length;i++){”被解释成一个不能识别的标记的一部分。
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(45)