line public class HelloWorld { /line line public static void main (String[] args){ /line line System.out.println("Hello world!"); /line line } /line line } /line /p 這樣,文檔就有了一個(gè)表示行的實(shí)際對(duì)象,同樣,段(p)標(biāo)記表示一段內(nèi)容。 為什么所有這些都很重要呢?因?yàn)?Web 不僅正日益成為人與人之間通信的場(chǎng)所,而且還日益成為軟件應(yīng)用程序(如服務(wù)器和搜索引擎索引器)之間進(jìn)行通信的場(chǎng)所。而且,每個(gè)人(或者說(shuō)幾乎每個(gè)人)都使用相同瀏覽器的時(shí)代已經(jīng)一去不復(fù)返了。開發(fā)人員正不斷為不同設(shè)備(如 PDA 和移動(dòng)電話)重新設(shè)計(jì)內(nèi)容。語(yǔ)音觸發(fā)的(voice-activated)系統(tǒng)已經(jīng)離我們不遠(yuǎn)了。內(nèi)容的結(jié)構(gòu)意義正變得幾乎與內(nèi)容本身一樣重要。 XHTML 2.0 添加了節(jié)(section)和標(biāo)題(heading)。HTML 一直都包含編號(hào)的標(biāo)題 — h1 到 h6,直到 2002 年 8 月 5 日的工作草案,還未將其撤消,但這只是一個(gè)時(shí)間問(wèn)題。而 XHTML 2.0 使用通用標(biāo)題和節(jié)。例如,可以嵌套節(jié),從而賦予標(biāo)題含義。以前用編號(hào)標(biāo)題呈現(xiàn)的文檔(清單 2):
清單 2. 文檔中的編號(hào)標(biāo)題
h2 Good-bye backward compatibility, hello structure /h2 p Why backward compatibility is over. /p h3 Presentation versus Structure /h3 p Using style sheets rather than presentational elements. /p h3 Lines /h3 p Line breaks are deprecated. /p h2 Sections /h2 p Creating more reasonable sections. /p h2 Navigation lists and menus /h2 p Hierarchical menus. /p h2 Links, links, everywhere /h2 p Adding links. /p /body /html
可以用通用標(biāo)題和節(jié)替換(清單 3):
清單 3. 通用標(biāo)題和節(jié)
h Good-bye backward compatibility, hello structure /h p Why backward compatibility is over. /p section h Presentation vs. Structure /h p Using style sheets rather than presentational elements. /p /section section h Lines /h p Line breaks are deprecated. /p /section /section section h Sections /h p Creating more reasonable sections. /p /section section h Navigation lists and menus /h p Hierarchical menus. /p /section section h Links, links, everywhere /h p Adding links. /p /section /section /body /html
這種結(jié)構(gòu)有兩個(gè)優(yōu)點(diǎn)。首先,應(yīng)用程序(如搜索引擎 crawler)能夠更容易地了解內(nèi)容的相對(duì)重要性,其次,節(jié)是自包含的。在 HTML 中,節(jié)以其標(biāo)題開始,所以在標(biāo)題的前面不會(huì)出現(xiàn)內(nèi)容(如介紹性內(nèi)容)。section 元素取消了這種約束,因?yàn)槠鋬?nèi)部的任何內(nèi)容都是節(jié)的一部分。
object data="rides.mpeg" type="application/mpeg" object data="rollercoaster.jpg" type="image/jpg" Jack tries to expand his horizons on the racing coasters. /object /object 2002年8月5日的XHTML 2.0工作草案中唯一可以確定的事就是不能確定任何事情。在現(xiàn)在的草案和被作為建議書采納的過(guò)程中,幾乎可以肯定它將在某些方面發(fā)生變化,但強(qiáng)調(diào)結(jié)構(gòu)和語(yǔ)義的目標(biāo)不可能變化。出于這個(gè)原因,最好研究您現(xiàn)在構(gòu)建的頁(yè)面,并開始養(yǎng)成適當(dāng)使用結(jié)構(gòu)和樣式的習(xí)慣。使用標(biāo)記來(lái)指定某些事物是什么,而不是如何顯示它們,并使用 CSS 來(lái)完成其余工作。總的來(lái)說(shuō),更多地考慮文檔的結(jié)構(gòu)以及您想要它們干什么,而不必太多地考慮它們將如何顯示。
參考資料
請(qǐng)參閱 XHTML 2.0 的最新版本,以了解它目前包含哪些內(nèi)容。
請(qǐng)查找有關(guān)如何用 XML Events 控制頁(yè)面和任何 XML 文檔中事件的信息。
請(qǐng)閱讀使用 XForms 的下一代 Web 表單。
請(qǐng)閱讀文章“Get ready for XForms”(developerWorks,2002 年 9 月),學(xué)習(xí)有關(guān) XForms 的更多知識(shí)。
請(qǐng)快速閱讀 XFrames。
請(qǐng)閱讀 Modularization of XHTML 或閱讀 developerWorks Web 體系結(jié)構(gòu)專區(qū)上的 XHTML的模塊化 教程(2001 年 10 月),了解 XHTML 2.0 是如何構(gòu)造的。
請(qǐng)?jiān)?XHTML 2.0 The Latest Trick 中參考 Kendall Grant Clark 有關(guān) XHTML 2.0 以及 Semantic Web 的注釋。
請(qǐng)?jiān)?XLink: Who Cares? 中閱讀 Bob DuCharme 有關(guān) XLink 及其前景的想法。
下載 X-Smiles,它是一種 XForms 瀏覽器。
關(guān)于作者
Nicholas Chase 曾參與過(guò)很多公司(如 Lucent Technologies、Sun Microsystems、Oracle 和 Tampa Bay Buccaneers 等)的網(wǎng)站開發(fā)。Nick 曾是一名高中物理教師、低輻射廢物設(shè)備管理人員、在線科幻雜志編輯、多媒體工程師和 Oracle 講師。最近,他成為 Site Dynamics Interactive Communications(位于佛羅里達(dá)州的 Clearwater)的 CTO,而且還是三本有關(guān) Web 開發(fā)書籍的作者,包括 Java and XML from Scratch (Que) 和即將出版的 Primer Plus XML Programming (Sams)。他樂(lè)意聽取讀者意見,可以通過(guò) nicholas@nicholaschase.com 與他聯(lián)系。 本文作者:html教程