久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

HTML 的未來: XHTML 2.0

 Taylor 2006-04-05

      本文將介紹萬維網(wǎng)聯(lián)盟(W3C)建立下一代 XHTML 規(guī)范版本的工作,,以及他們對以 Ajax 應用程序為代表的“豐富客戶機”行為需求的反應,。作者Edd 將目光放在 W3C 正在進行的工作上,以指示 Web 標記的未來,。

       W3C 有四個工作組正在建立一些特別有趣的規(guī)范:

  • HTML(現(xiàn)在的 XHTML)
  • XForms
  • Web API
  • Web Application Format

      本文主要討論 HTML 工作組的研究,,但是也有必要作為背景知識討論一下其他規(guī)范,因為這些研究將造就 Web 的未來,。

      XForms

      XForms 是 W3C 提出的當前 HTML 表單的后繼者,。它們被設計成具有更豐富的功能,并將其結(jié)果作為 XML 文檔傳遞給處理應用程序。XForms 是模塊化的,,因此可在任何上下文中使用,,而不僅僅是捆綁到 XML 中使用。XForms 與 HTML 表單的主要區(qū)別有:

XForms 將用戶界面表示從數(shù)據(jù)模型定義中分離出來,。
XForms 可以創(chuàng)建和消費 XML 文檔,。
XForms 是設備中立的,。比如,,可以在語音瀏覽器和桌面瀏覽器中使用同一個表單。
XForms 允許在提交之前驗證和約束輸入,。
XForms 不使用腳本就能實現(xiàn)多階段表單,。
因為是一種模塊化語言,XHTML 2.0 引入 XForms 模塊來實現(xiàn)表單功能,。

       Web API

       W3C Web API 工作組負責為客戶端 Web 應用程序開發(fā)制定標準 API,。其中第一種也是最常用的一種 API 就是作為 Ajax(也是 WHATWG 描述的一種技術(shù)) 核心的 XMLHttpRequest 功能。程序員可以通過 ECMAScript 和其他瀏覽器環(huán)境支持的任何語言來使用這些 API,。

      可能制定的其他 API 包括:

處理瀏覽器 Window 對象的 API
DOM Level 3 Events and XPath 規(guī)范
時間事件 API
用于非 HTTP 聯(lián)網(wǎng)的 API,,如 XMPP 或 SIP
客戶端持久存儲 API
拖放 API
監(jiān)控下載的 API
更新文件的 API
雖然這些 API 不一定會隨著 XHTML 2.0 一起實現(xiàn),但在未來四年中,,瀏覽器很可能將兩方面結(jié)合起來為 Web 應用程序提供豐富的平臺,。

      Web Application Format

      XHTML 2.0 是 Web 應用程序用戶界面問題的一部分,但不是全部,。Mozilla XUL 和 Microsoft XAML 這些技術(shù)已經(jīng)為用戶界面提供了豐富的 XML 詞匯表,。

      Web Application Format 工作組負責按照 XUL 或 XAML 的方式開發(fā)指定用戶界面的聲明性格式,以及 XBL2 的開發(fā),,這是一種在自定義標記和已有技術(shù)之間提供綁定的聲明性語言,。實際上,XBL2 為程序員提供了編寫新的 Web 應用程序部件的一種方法,。

      為何要創(chuàng)建 XHTML 2.0,?

      XHTML 1.0 的目的是將 HTML 轉(zhuǎn)化成 XML 詞匯表。它為 HTML 引入了 XML 語法約束:區(qū)分大小寫,、必須用引號括起來的屬性值和成對的標簽,。這項任務完成了,XHTML 2.0 致力于解決 HTML 作為一種 Web 頁面標記語言的問題,。

      W3C 的 Steven Pemberton 在阿姆斯特丹 XTech 2005 大會上所作的演講中(請參閱參考資料)闡述了 XHTML 2.0 的設計目標:

盡可能的使用 XML:如果一種語言特性已經(jīng)在 XML 中存在,,就不要重復或者重新發(fā)明。
結(jié)構(gòu)高于表示:感謝 CSS 樣式表,,HTML 不再需要專門的表示性標簽,。
使 HTML 更容易編寫:刪除 HTML 中一些無用的特征。
更高的可訪問性、設備中立性:盡量避免假設讀取文檔的方式,。
改進的國際化,。
更好的表單:盼望已久的改進!
減少腳本的需要:HTML 本身包含典型的腳本用法,。
更好的語義:使 HTML 和語義 Web 應用程序更容易集成,。
對于任何曾經(jīng)用過 HTML 的人來說,這些目標顯然都是值得期待的?,F(xiàn)在我將稍微詳細地考察 XHTML 2.0 實現(xiàn)這些目標的一些方法,。

      章節(jié)和段落

      多年前我剛剛接觸 HTML 的時候,還記得多次對這種語言的文本結(jié)構(gòu)元素感到不知所措,。為何有六層標題,,什么時候使用合適?而且,,為什么標題不包含它們所代表的章節(jié),?XHTML 2.0 為此提供了新的答案,增加了 <section> 和 <h> (heading) 元素,。

<section>
  <h>Level 1 heading</h>
  ...
  <section>
    <h>Level 2 heading</h>
    ...
  </section>
</section>

      與 XHTML 1.0 相比,,這種安排更符合邏輯,其他很多標記詞匯表的用戶對此也很熟悉,。對程序員來說,,一個很大的好處是可以在文檔中包含內(nèi)容章節(jié),而不需要重新編碼標題層次,。

      對這些標題可以使用 CSS,。人們可能期望 XHTML 2.0 的瀏覽器默認實現(xiàn)能夠預先定義一部分,具體來說可能像下面這樣(摘自 XHTML 2.0 規(guī)范):

h {font-family: sans-serif; font-weight: bold; font-size: 200%}
section h {font-size: 150%} /* A second-level heading */
section section h {font-size: 120%} /* A third-level heading */
 


      XHTML 1.0 中另一個不合邏輯的地方是,,要使用列表,,則必須將列表放在段落中。事實上,,必須使用任何塊級元素(blockquote,、預格式化的章節(jié)、table 等),。如果這些內(nèi)容僅僅是同一段落流中的一部分,,這樣做常常不合邏輯。XHTML 2.0 去掉了這些限制,。惟一的限制是不能將一個段落放到另一個段落中,。

      圖像

      HTML 中的 <img> 標簽實際上非常不靈活。正如 Pemberton 所說,,除了 alt 文本(妨礙采用新的圖像格式)它不含任何應變機制,,alt 文本不能使用標記,,longdesc 屬性由于笨拙而從來沒有被使用過。(longdesc 用于提供一個 URI,,該 URI 指向關(guān)于圖片的,、與 alt 屬性中的說明相比更詳細的描述。)

       XHTML 2.0 為這個問題提供了一種很好的解決方案:允許任何 元素具有 src 屬性,。瀏覽器可以用這個 URI 中的內(nèi)容代替元素中的內(nèi)容,。最簡單的情況就是處理圖像。但沒有人說不能是 SVG,、XHTML 或瀏覽器能夠呈現(xiàn)的任何內(nèi)容類型,。

<img> 標簽本身仍將保留,但該標簽中現(xiàn)在包含一些內(nèi)容,。src 屬性的新操作意味著 alt 文本現(xiàn)在變成了元素內(nèi)容,,比如下面的例子:

<p><img src="http:///water.png">H<sub>2</sub>O</img></p>


       對于日語等語言來說,這是一個好消息,,因為 Ruby 注釋(請參閱參考資料)要求行內(nèi)標記,而以前這在屬性值中這是不可能的,。

      XHTML 2.0 在 <object> 元素中提供了更一般的圖像包含形式,,該元素可用于包含任何對象類型,從圖片,、電影到 Flash 或 Java 技術(shù)這樣的可執(zhí)行代碼,。這樣就可以通過巧妙的技術(shù),根據(jù)瀏覽器能力進行更好的委派,,<object> 元素可以多層嵌套,。比如,最外層是一段 Flash 電影,,其中包含一個 AVI 視頻文件,,再進一層是一個靜態(tài)圖片,最后在嵌套對象的核心是一段文本內(nèi)容,。更多信息請參閱 XHTML Object Module(參考資料中的鏈接),。

      可擴展的語義

      很長一段時間以來,一些 HTML 元素具有具有語義聯(lián)系,,比如 <address> 和 <title>,。問題是這類元素很少而且不能擴展。其間,,有人嘗試用 class 屬性為 HTML 元素提供語義,。與 class 的設計初衷相比,這樣就大大延伸了其功能,,而且由于應用 CSS 樣式的屬性的廣泛使用,,所以很難明確應用這種用法,。(有人懷疑關(guān)于 class 用途的斷言,但后者是很難駁倒的,。)

       XHTML 2.0 沒有采用這些特別的方法,,而是引入了一種方法在文檔中指定類似 RDF 的元數(shù)據(jù)。RDF 陳述是一個三元組(主題,、屬性,、對象)。比如,,在英語中可能有三元組:“my car”,、“is painted” 和 “red”。

      about 屬性類似于指定 RDF 三元組 subject 的 rdf:about——可以省略,,則文檔本身就是主題,。property 屬性是引用性質(zhì)的 URI(如果給定適當聲明的前綴可使用縮寫形式,更多細節(jié)請參閱 XHTML 2.0 Metainformation Attributes Module,,見參考資料),。

      最后,三元組的第三個值由 about 和 property 屬性作用的元素內(nèi)容給出,,如果 content 屬性值為空則沒有內(nèi)容,。這是一個例子,如果使用過 HTML <meta> 標簽就會非常熟悉,,它指定了頁面頭 (page header) 的創(chuàng)建者:

<html xmlns="http://www./2002/06/xhtml2/" xml:lang="en">
  <head>
    <title>Edd Dumbill‘s Home Page</title>
    <meta property="dc:creator">Edd Dumbill</meta>
  </head>
  ...
</html>

       現(xiàn)在來看看 Pemberton 給出的這個例子,,它說明了如何在真正的文檔體中使用元數(shù)據(jù):

<h property="title">Welcome to my home page</h>

      這表示該標題也是 XHTML 2.0 文檔的題目,并將其指定為行內(nèi)標題,。終于不用在每個文檔中將題目寫兩次了,!

      感謝一種簡單的稱為 GRDDL(從語言的方言中采擷資源描述,Gleaning Resource Descriptions from Dialects of Languages,,參見參考資料)的轉(zhuǎn)換技術(shù),,現(xiàn)在有了從 XHTML 2.0 文檔中提取 RDF 元數(shù)據(jù)的統(tǒng)一標準了。

      XHTML 2.0 在其他方面也有很多變化,,多數(shù)與平行開發(fā)的其他規(guī)范(如 XForms)有關(guān),。這里無法一一介紹 XHTML 2.0 的特性。但無論如何,,與 XHTML 1.0 相比,,XHTML 2.0 是一次很大的飛躍。

      XHTML 2.0 中的其他幾點變化

      受夠了編寫 <pre><code> ... </code></pre> 這類代碼,?現(xiàn)在可以使用新的 <blockcode> 元素了,。

      為了滿足可訪問性的要求,XHTML 2.0 提供了 role 屬性,,可以在任何 body 元素中指定,。比如,,頁面中單純的導航元素可使用 role="navigation" 屬性,這樣文本-語音引擎就可以智能地處理它,。

      瀏覽器目前支持通過 Tab 關(guān)鍵字進行焦點切換,,但是有很大的隨意性。新的 nextfocus 和 prevfocus 屬性允許控制焦點在屏幕元素間轉(zhuǎn)移的順序,,該屬性對于建立可導航的用戶界面至關(guān)重要,。

      準備迎接 XHTML 2.0

      無論高級特性中的變化多大,XHTML 2.0 無疑仍然是 HTML,。雖然增加了新元素,,XHTML 2.0 的大部分元素仍然和過去一樣工作。從兼容的角度出發(fā),,XHTML 2.0 仍然保留了 <h1> 到 <h6> 元素,,此外還有 <img>。

      不過,,XHTML 2.0 的戰(zhàn)略并不是堅持嚴格的語法向后兼容,,因此現(xiàn)有瀏覽器的 HTML 呈現(xiàn)引擎不可能完全應付 XHTML 2.0 文檔的表達能力。不管怎樣,,多數(shù) Web 瀏覽器都能很好地呈現(xiàn)任意的 XML + CSS,,大量 XHTML 2.0 也能以這種方式呈現(xiàn) —— 雖然無法獲得語義上的改進。

      XHTML 2.0 中的一些區(qū)別非常重要,,改用 XForms 是其中最值得注意的,還有徹底拋棄了 HTML 的非 XML 性質(zhì),。因此現(xiàn)在還不能一下子把網(wǎng)站改成 XHTML 2.0,,但是可以為未來做好準備:

      堅持使用 CSS,去掉所有表示性標記,。

考慮如何在頁面中部署微格式,。微格式可以在 HTML 中使用現(xiàn)有標準表示元數(shù)據(jù)。
如果還沒有這樣做,,用 XHTML 1.0 做一下實驗?,F(xiàn)在使用 XHTML 1.0 頁面作為常規(guī) HTML 是可能的,只要根據(jù) XHTML 1.0 HTML Compatibility Guidelines 編寫即可,,但這會帶來很大的復雜性,。不能將這種方式用于 XHTML 2.0。
使用 X-Smiles 瀏覽器做實驗,,它支持 XHTML 2.0,,并提供了 SVG、XForms 和 SMIL 2.0 Basic 能力,。
如果基于類 XHTML 的功能創(chuàng)建新的客戶機系統(tǒng),,一定要考慮使用 XHTML 2.0 作為起點,。
最后還要注意的是,XHTML 2.0 規(guī)范還沒有完成,。撰寫本文的時候,,該規(guī)范仍然處于 W3C 的工作草案階段,就是說在成為推薦標準之前,,還有一些路要走,。重要的是,它還必須經(jīng)過候選推薦標準階段,,這個階段用于收集實現(xiàn)的經(jīng)驗,。

      按照 W3C HTML 工作組計劃,2007 年以前 XHTML 2.0 不大可能成為 W3C 推薦標準,。也就是說 2006 年是獲得部署經(jīng)驗的關(guān)鍵一年,。

      W3C XHTML 2.0 與 WHATWG HTML 5 的比較

      這兩個計劃完全不同:草根組織 WHATWG 希望漸進式地改進 HTML 4 和 XHTML 1.0,而聯(lián)盟支持的 XHTML 2.0 對 HTML 語言進行了徹底重構(gòu),。

      雖然不同,,這兩種方法仍然有可比性。WHATWG 規(guī)范的一些初步成果已經(jīng)在瀏覽器中實現(xiàn),,WHATWG 的一些工作就是對 HTML 事實擴展的描述,。其中一些重要的部分,如 XMLHttpRequest 將進入 W3C 的 Rich Client Activity 規(guī)范,。WHATWG 在 Web 標準世界中還是有效的催化劑,。

      把目光放遠一些,XHTML 2.0 方法為 Web 提供了全新的詞匯表,,那時候 XML 的模塊化處理,、CSS 和 ECMAScript 將很快成為常見的事物。嵌入設備如電話和數(shù)字電視沒有必要支持雜亂無章的遺留 Web HTML,,可以毫無負擔地利用純 XML 詞匯表 XHTML 2.0 的優(yōu)勢,。此外,可訪問性和國際化的新特性使 XHTML 2.0 成為第一個被認為具有通用性的 XML 文檔詞匯表,,從而成為很多基于標記的工作的堅實而經(jīng)濟的基礎,。

      與過去一樣,HTML 的未來也是不確定的,,有人可能稱之為混亂,,但是我相信 XHTML 2.0 最終將得到廣泛的接受和采納。如果這是 Web 上惟一的 XML 詞匯表,,可能會有一些問題,,但是因為瀏覽器準備應付 SVG、XForms 和其他技術(shù),,所以 XHTML 2.0 看起來僅僅是另一個基于 XML 的詞匯表而已,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多