曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
</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 中包含原始的小于號和與號,應當使用<和&代替。
其正確的HTML 形式是:
Elliotte Rusty Harold <elharo@metalab.unc.edu>
沒有轉義的大于號帶來的問題不易察覺,如果在它之前有一個未結束的標記,它會被解釋為一個置標。文檔中會出現這種沒
有完成的標記,而且附近的大于號會掩蓋它們的存在。例如下面的一段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 只使用&、<、>、'和"實體引用
許多Web 頁面除了&、<、>、'、和"之外確實不需要更多的實體引用。但是HTML 4.0 中規定了許多:
• ™為商標號(™)
• ©為版權號(©)
• ∞為無窮大號∞
• π為小寫的希臘字母pi,π
XML 實用大全
第 154 頁
還有幾百個別的實體引用,但是使用任何一個將破壞文檔的結構完整性。解決這個問題的方法是使用一個DTD。我們將在第
9 章中討論DTD 對實體引用的影響。同時下面有幾個暫時的解決辦法。
最簡單的辦法是以某一字符集編碼一個包含全部所需符號的文檔,然后使用一個<META>指令指定正在使用的字符集。例如,
指定文檔使用UTF-8 編碼(一個字符集,包含了幾乎全部可能用到的字符,將在第7 章討論),而且應當把它放到文檔的開
頭。
<META http-equiv="Content-Type"
content="text/html;charset=UTF-8">
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(48)