XML 2007年度回顧_Xml教程
推薦:快速從一個XML文件中查找信息在網絡時代,XML文件起到了一個保存和傳輸數據的作用。Soap協議通過Xml交流信息,數據庫通過Xml文件存取等等。那么怎樣快速的從一個XML文件中取得所需的信息呢? 我們知道,JAVA的JAXP中和Micr
對 XML 來說,2007 年又是發展較為平緩的一年。但是在這一年中,一些重要的規范都升級到了 1.0 版,XML 在信息發布(Web 和傳統形式)方面得到持續發展。更重要的是,REST 與 Web 服務的碰撞引起了軒然大波,整個 Web 服務領域產生了重大變化。引起這一巨變的最主要技術是 POX(plain old XML),POX 文檔可以通過標準 HTTP 傳送,而且不會被任何模式或規范羈絆(一些人在多年前就預感到這一結果,但是正如 Roy Fielding 所說,行業最終會親自檢驗)。
REST 并不是惟一隱含其強大功能的技術。XML 的全部潛力也即將充分發揮。在這一年里,Atom 發布協議(Atom Publishing Protocol,APP)和 XQuery 升級到了 1.0 版,而它們帶來的影響才剛剛開始。
在過去十年中,XML 經歷了無數次挑戰,不管是來自功能強勁的技術,還是來自名不符實的技術(YAML、SML、S-表達式,以及其他遭競爭淘汰的技術),但是 2007 年 JSON 的流行卻是對它最大的挑戰。盡管 JSON 的適用性有限、存在安全問題,而且應用程序編程接口(API)設計并不完善,但是這并沒能阻礙它的進一步推廣,明年其使用率似乎還會繼續增長。
1 月
在過去 5 年中,XQuery 總是被認為是 “下一年” 就會實現的技術,這個承諾終于在 1 月份得以兌現,XQuery 1.0 在 1 月正式發布。一些純 XML 數據庫已經實現了它,包括 Mark Logic、eXist、Sedna 和 Berkeley DB XML。一些混合數據庫也提供了對 XQuery 的支持,包括 IBM® DB2® 9 和 Oracle 10g。XQuery 還被一些獨立產品采用,包括 Michael Kay 的 Saxon 和 DataDirect XQuery。
但是故事并沒有就此完結。XQuery 只是整個解決方案的一小部分。用 CRUD 的話來說,XQuery 是不包含創建(Create)、更新(Update)或刪除(Delete)的讀(Read)操作。不得不通過專用的擴展來添加這些必需的功能。這意味著不能輕易地將一個應用程序或數據庫從一個實現移動到另一個實現。更嚴重的是,開發人員不能使用標準語法,很難雇傭到經驗豐富的 Mark Logic 程序員來處理 DB2 9 應用程序(程序很少在平臺之間轉換,但是開發人員經常這么做)。XQuery 需要一個更新(和創建、刪除)工具。World Wide Web Consortium (W3C) 在 8 月發布了 XQuery Update Facility 1.0 的 last-call 草案,而且供應商已經開始付諸實現。如果幸運的話,那么 XML 社區有望在 2008 年看到該草案通過 last call 階段并形成最終版本。
在這一年中,XQuery 工作組也發布了第一批 XQuery 1.1 需求。一些最重要的新功能可能包括異常處理、擴展函數、函數指針和/或 lambda 表達式。幸運的話,只需五六年時間就能實現這些功能。然而,最好在 XQuery 真正流行起來之前就開始實施,而且任何規范的的更改都需要幾十年的努力,就像 SQL、Fortran 和 C 的情形一樣。
盡管 XQuery 是一種完整的編程語言 — 它可以完全取代 PHP、靜態 HTML,以及任何其他 Web 框架 — 在不久的將來,您將需要將其與用傳統語言編寫的程序進行集成。因此在這一年提議將 XQuery API for Java (XQJ) 加入 Java Community Process 最終草案是一個很不錯的主意?蓪⑦@看作 JDBC for XQuery。Saxon 9 和 Data Direct XQuery 3.0 已經提供了對 XQJ 的支持,而且一旦明年完整的規范發布,更多的供應商將會參與到其中。
2 月
在最短也是最冷的 2 月,每個人都呆在家里,也沒發生太多事情。Saxon、TagSoup 和 WebCGM 都發行了新版本(您也許會問,什么是 WebCG?)
在這個月,發布了 XForms 1.1 的 last-call 工作草案,其中添加了一些重要功能,包括對 PUT 和 DELETE 提交的支持。但是要使 XForms 成為最后的推薦標準,這一年剩下的 10 個月也許還看不到這一結果。11 月最多實現 XForms 1.1 推薦標準。因此也許等到明年才能實現。
在這一年中,大多數主流 XForms 供應商都從不同角度發布了其產品的更新版本,包括 FormsPlayer、Chiba、Orbeon,以及 Mozilla XForms 擴展。不幸的是,何時將 XForms 支持內置到主流瀏覽器中仍然難下定論。
3 月
W3C 已經成立十余年了,它是 Internet Engineering Task Force (IETF) HTML 2.0 計劃失敗的直接產物。基于這樣的歷史,2006 年 W3C 果斷放棄 HTML 確實有些令人震驚。直到現在,W3C 仍然如此地專注于 XML 和 Semantic Web,以至于都忘記了自己曾經支持過的一項技術。因此,在 2004 年,一些 Web 設計人員和瀏覽器供應商聯合起來成立了 Web Hypertext Application Technology Working Group (WhatWG),專注于 W3C 已經放棄的領域,而且與 W3C 背道而馳。
這一過程花費了兩年時間,但是在 3 月份,W3C 終于意識到他們即將受到威脅。他們重新成立了自己的 HTML 工作組并玩起了追趕游戲。兩大組織都同意分享利益,但是 WhatWG 仍然處于主導地位,并控制著整個市場。
盡管競爭激烈,2007 年并沒有產生多少實用的 HTML 5 代碼。規范開發主要集中在 Web 視頻、SQL API,以及解析 arcana。將會在普通 Web 瀏覽器中實現哪種技術仍然是一個未知問題。對我個人而言,我懷疑在原生 XML 數據庫在場外做熱身時花費幾個月時間開發一個瀏覽器內置的 SQL API 是不是明智之舉(我答應這是本文中最后一次用足球做比喻,或者您可以拿走裁判員的口哨)。
4 月
盡管早就有傳聞 XML 將在 Web 中引入語義并使瀏覽器能夠理解其顯示的內容,但 XML 始終是關于語法,而不是語義。整個 XML 1.0 規范只包含兩個和語義沾邊的屬性:xml:space 和 xml:lang(而且我不能肯定 xml:space 是不是語義屬性)。在很大程度上,XML 規范的意義來自于處理 XML 文檔的應用程序,而不是文檔本身。XML 系列的后續規范也幾乎是這樣,包括名稱空間、XML Infoset、XSLT,以及 XPath。
但是在 4 月份,W3C 通過發布 Internationalization Tag Set (ITS) 1.0 進一步擴展了 xml:lang 屬性。這個推薦標準定義了標識方向性、可譯性、ruby 文本的標準屬性和可跨不同詞匯表共享的文檔本地化和國際化的其他常見內容。例如,在清單 1 顯示的 DocBook 文章中,its:translate 屬性指示 author 元素不應該被翻譯,而 its:dir 屬性表明整個文檔使用從左到右的文本。
清單 1. 帶有 ITS 標記的 DocBook 文章
以下為引用的內容: <xforms:model><dbk:article xmlns:its="http://www.w3.org/2005/11/its" xmlns:dbk="http://docbook.org/ns/docbook" its:version="1.0" version="5.0" xml:lang="en" its:dir="ltr"> 。糳bk:info> 。糳bk:title>Fun with XML</dbk:title> 。糳bk:author its:translate="no"> <dbk:personname> <dbk:firstname>Elliotte</dbk:firstname> <dbk:surname>Harold</dbk:surname> </dbk:personname> </dbk:author> </dbk:info> <dbk:para>XML rocks!</dbk:para> </dbk:article> |
在 4 月,W3C Internationalization Activity 還發布了國際化最佳實踐的完結版:指定 XHTML 和 HTML 內容中的語言。我將該建議總結為 16 條 “最佳實踐”:
分享:Web 2.0 編程思想:16條法則 1、在你開始之前,先定一個簡單的目標。
無論你是一個Web 2.0應用的創建者還是用戶,請清晰的構思你的目標。就像“我需要保存一個書簽”或者“我準備幫助人們創建可編輯的、共享的
- 相關鏈接:
- 教程說明:
Xml教程-XML 2007年度回顧。