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