• 热门标签

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

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

</b>
</TD>
6.4.1.3 给所有属性加引号
HTML 属性只有在含有空格时才需要加引号,即使含有引号对它也并无妨碍。而且使用引号有助于以后将属性值修改为含有
空格的属性值。很容易忘记加引号,尤其对于<IMG>中ALT 这样的属性,在使用Web 浏览器查看文档时它们的错误不很明显。
XML 实用大全
第 152 页
例如下面的<IMG>标记:
<IMG SRC=cup.gif WIDTH=89 HEIGHT=67 ALT=Cup>
应将其改写为:
<IMG SRC="cup.gif" WIDTH="89" HEIGHT="67" ALT="Cup">
6.4.1.4 <、>和&必须转义
HTML 对小于号和与号的要求比XML 宽松得多。即使这样,在纯HTML 文本中它们确实也会引起麻烦,特别是在它们直接跟有
其他字符时。例如,考虑下面来自Eudora 软件中的From:标题中的email 地址在经过复制和粘贴后显示的样子:
Elliotte Rusty Harold <elharo@metalab.unc.edu>
如果用HTML 来显示的话,看到的可能是:
Elliotte Rusty Harold
elharo@metalab.unc.edu 无意间被尖括号隐藏了。如果想在HTML 中包含原始的小于号和与号,应当使用&lt;和&amp;代替。
其正确的HTML 形式是:
Elliotte Rusty Harold &lt;elharo@metalab.unc.edu&gt;
没有转义的大于号带来的问题不易察觉,如果在它之前有一个未结束的标记,它会被解释为一个置标。文档中会出现这种没
有完成的标记,而且附近的大于号会掩盖它们的存在。例如下面的一段Java 代码:
for (int i=0;i<10;i++){
for (int j=20;j>10;j--){
这很可能显示为:``
for (int i=0;i10;j--){
如果这只是一个100 行程序中的两行,在随便校正时极有可能错过这种疏忽。另一方面,如果转义了大于号,而未转义小于
号将会隐藏程序的其余部分,而且这种问题容易被发现。
6.4.1.5 使用一个根元素
用于HTML 文件的根元素被假定为html。大部分浏览器允许不包含它的这种疏忽。尽管如此,最好把<html>作为文档的第一
个标记,</html>作为文档的最后一个标记。如果其他文本或置标出现在<html>之前或</html>之后,应把它们移到<html>
和</html>之间。
这个问题常见的形式是忘记在文档的结尾包括</html>。我通常先键入<html>和</html>,然后在它们之间键入其他内容,而
不是在编写完整个文档再加</html>标记,指望着几天后还会记得应该加上</html>标记。
6.4.1.6 所有标记使用相同的大小写形式
XML 实用大全
第 153 页
HTML 对大小写不敏感,XML 则不然。应推荐给标记挑选一个唯一的大小写形式,要么都大写,要么都小写,并且贯穿全文。
这样做比记住每一个标记的细节要简单。我通常选小写,因为它比较容易输入。而且W3C 将HTML 再现为XML 应用程序的结
果也使用这个格式。
在第20 章中读取文档类型定义一节将详细描述HTML 再现为XML。但是必须停止更深的探讨,因为这项工作使
用在后面几章中学不到的技巧。
6.4.1.7 用"/>"结束空标记
把HTML 转换成结构完整的XML,其中最令人讨厌的就是空标记。HTML 在形式上不能识别XML 的<elementname/>空标记句法。
虽然很容易将<br>转换为<br/>,<hr>转换为<hr/>,<img>转换为<img/>,但是给定的浏览器是否会正确显示变换后的标记
是一个未知数。
不要把<br>,<hr>,<img>这样真正的空元素与标准的HTML 中只有一个起始标记但能够带有内容的标记混淆,如
<p>,<li>,<dt>,和<dd>。
一个被XML 规范认可的最简单的解决办法是用不含有内容的起始和结束标记对替换空标记。浏览器将忽略该不能识别的结束
标记,请看下面的实例:
<br></br>
<hr></hr>
<IMG SRC="cup.gif" WIDTH="89" HEIGHT="67" ALT="Cup"></IMG>
在实践中这样做确实没有什么问题,但有一个明显的例外。Netscape 4.5 以及更早的版本把</br>和<br>看成是一样的,当
作一个换行符号。因此<br>是单个换行符号,<br></br>则是一对换行符号,实际上更像一个段落标记。而且,Netscape 完
全忽略<br/>。必须支持传统浏览器的Web 站点(几乎是所有的Web 站点)不能使用<br></br>或者<br/>。在实践中对于XML
和传统浏览器都适用的解决办法如下:
<br />
请注意<br 和/>之间的空格,确实解释不了这样为什么管用,而其他更多的变化却
不行。如果你确实想使用结构完整的HTML,我所能做的只是提供可能奏效的解决办法。
6.4.1.8 只使用&amp;、&lt;、&gt;、&apos;和&quot;实体引用
许多Web 页面除了&amp;、&lt;、&gt;、&apos;、和&quot;之外确实不需要更多的实体引用。但是HTML 4.0 中规定了许多:
• &trade;为商标号(™)
• &copy;为版权号(©)
• &infin;为无穷大号∞
• &pi;为小写的希腊字母pi,π
XML 实用大全
第 154 页
还有几百个别的实体引用,但是使用任何一个将破坏文档的结构完整性。解决这个问题的方法是使用一个DTD。我们将在第
9 章中讨论DTD 对实体引用的影响。同时下面有几个暂时的解决办法。
最简单的办法是以某一字符集编码一个包含全部所需符号的文档,然后使用一个<META>指令指定正在使用的字符集。例如,
指定文档使用UTF-8 编码(一个字符集,包含了几乎全部可能用到的字符,将在第7 章讨论),而且应当把它放到文档的开
头。
<META http-equiv="Content-Type"
content="text/html;charset=UTF-8">
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(48)