曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
或者可以簡單地告訴Web 服務器,讓它提供必要的內容類型標題。通常使用<META>標記要簡單一些:
Content-Type:text/html;charset=UTF-8
采用這種方法的問題是許多瀏覽器不一定能顯示UTF-8 字符集。對于其他提供所用的特殊字符的字符集也一樣。
HTML 4.0 支持XML 中的字符實體引用。這就是說可以使用&#后跟Unicode 中字符的十進制或者十六進制代碼來代替一個字
符。例如:
• ™ 為商標號(™)
• © 為版權號(©)
• ∞ 為無窮大號∞
• π 為小寫的希臘字母pi,π
HTML 3.2 只正式支持界于0 和255(ISO Latin-1)之間的數字字符引用,而Navigator 4.0 和以后的版本以及Internet
Explorer 能識別更多的Unicode 字符。
如果確實需要一個結構完整的向后與HTML 兼容的XML,可以把這些字符作為內聯圖片。例如:
• <img src="tm.gif" width="12" height="12" alt="TM"></img>, </img>商標號(tm);
• <img src="copyright.gif" width="12" height="12" lt="Copyright"> a,為版權號(c);
• <img src="infinity.gif" width="12" height="12" alt="infinity"></img>,無窮大號∞;
• <img src="pi.gif" width="12" height="12" alt="pi"></img>,小寫的希臘字母pi,π。
事實上,我不贊成使用這種方法。結構完整性在HTML 中并不太重要,它只是強制讀者增加了下載和顯示出來的時間。
6.4.1.9 XML 聲明
HTML 文檔不需要XML 聲明,但有也無妨。Web 瀏覽器只忽略它們不承認的標記。從這一點看,下面這一行就是另外一個標記:
<?xml version="1.0" standalone="yes"?>
因為不懂XML 的瀏覽器解釋不了<?xml?>標記,它們會簡單地忽略它。懂得XML 的瀏覽器會把它當作一個提示,表明該文檔
是結構完整的XML 文檔,并按此處理它。
XML 實用大全
第 155 頁
遺憾的是,不完全懂得XML 的瀏覽器分析這些句法非常困難。特別是Internet Explorer 4.0 for the Mac(不是指Netscape
Navigator 或者其他版本的IE)把它當作下載一個文件的信號,而不作顯示。因此,不得不從Web 頁面中將XML 聲名刪除。
6.4.1.10 遵循規則
按照本章描述的規則編寫結構完整的XML 文檔不是特別困難,但是XML 瀏覽器對于不標準的句法不像HTML 瀏覽器那樣寬容,
因此要細心編寫。
如果違反了任何結構完整性約束,XML 分析器和瀏覽器將報告一個句法錯誤。因此編寫XML 的過程與用某種編程語言編寫代
碼的過程有些相似,首先編寫,然后編譯,如果編譯失敗再根據報告的錯誤修改。
通常在能夠看到完成的文檔之前要經過幾次從編輯到編譯的過程。而且編寫XML 文檔比編寫C 和Java 源代碼要容易得多,
只要很少的練習就會達到只出現相當少的錯誤,編寫XML 的速度幾乎與你輸入的速度一樣快。
6.4.2 HTML 整理工具
有幾種工具能夠幫助我們整理頁面。最引人注目的是來自XML.COM 的RUWF(Are You Well Formed?)和由W3C 的Dave Raggett
編寫的HTML Tidy。
6.4.2.1 RUWF
任何能夠檢驗XML 文檔結構完整性的工具同樣能夠檢驗結構完整的HTML 文檔。其中最容易使用的工具是來自XML.COM 的RUWF
結構完整性檢驗程序。圖6-2 顯示了該檢驗程序。只要鍵入想檢驗的頁面的URL,RUWF 就會返回在頁面上發現的幾十個錯誤。
圖6-2 RUWF 結構完整性檢驗器
XML 實用大全
第 156 頁
下面是RUWF 在白宮主頁上找到的第一批錯誤。這些錯誤大部分是不標準的XML,但是它們是合法的HTML。但至少有一處錯
誤(“第55 行,30 列:</FONT>周圍沒有相應的起始標記”)對HTML 和XML 都是一個錯誤。
Line 28,column 7:Encountered </HEAD>expected </META>
...assumed </META>...assumed </META>...assumed </META>
...assumed </META>
Line 36,column 12,character ‘0 ’:after AttrName=in start-tag
Line 37,column 12,character ‘0 ’:after AttrName=in start-tag
Line 38,column 12,character ‘0 ’:after AttrName=in start-tag
Line 40,column 12,character ‘0 ’:after AttrName=in start-tag
Line 41,column 10,character ‘A ’:after AttrName=in start-tag
Line 42,column 12,character ‘0 ’:after AttrName=in start-tag
Line 43,column 14:Encountered </CENTER>expected </br>
...assumed </br>...assumed </br>
Line 51,column 11,character ‘+’:after AttrName=in start-tag
Line 52,column 51,character ‘0 ’:after AttrName=in start-tag
Line 54,column 57:after &
Line 55,column 30:Encountered </FONT>with no start-tag.
Line 57,column 10,character ‘A ’:after AttrName=in start-tag
Line 59,column 15,character ‘+’:after AttrName=in start-tag
6.4.2.2 HTML Tidy
一旦確定了問題就會想到要修改它們,許多常見的問題��例如,給屬性值加引號��是能夠自動被修改的。做這
種修改最便利的工具是Dave Raggett 的命令行程序HTML Tidy。Tidy 是用ANSI C 寫成的一個字符-模式程序,能夠在許多
操作平臺如Windows、Unix、BeOS 和Mac 系統上執行。
Tidy 在本書所附的CD-ROM 的utilities/tidy 目錄中,包含用于Windows NT 和BeOS 的二進制代碼和用于所有操
作平臺的可移植代碼。可以從站點http://www.w3.org/People/Raggett/tidy/中下載最新版本的Tidy。
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(49)