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