国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

XML 和 Java:一個(gè)強(qiáng)大的組合

2019-11-18 14:06:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  xml當(dāng)它在1996年11月首次由WWW小組( W3C)提出時(shí)就是一個(gè)能夠被很好接受的規(guī)范。現(xiàn)在,它與java從本質(zhì)上的結(jié)合--即把Java程序中的與XML相關(guān)的代碼部分和對(duì)Java語(yǔ)義(動(dòng)作)編碼的部分轉(zhuǎn)換成XML的標(biāo)記,承諾能夠向企業(yè)或更高層提供更簡(jiǎn)單和更具創(chuàng)造力的應(yīng)用計(jì)算。Larry Cable 和 Mark Reinhold 是Sun公司的兩名老資格的工程師,他們?cè)谧罱匍_的JavaOne開發(fā)者大會(huì)的"Java平臺(tái)上的XML"技術(shù)會(huì)議部分發(fā)言,根據(jù)他們的發(fā)言,關(guān)注這種技術(shù)聯(lián)姻的主要原因是基于XML的語(yǔ)法提供了一種靈活的、標(biāo)準(zhǔn)的、健壯的Java編程方案,同時(shí),Java也將一種普遍的語(yǔ)義集合應(yīng)用于XML數(shù)據(jù)。  為什么用XML?    很多在電子世界里可用的信息都沒有被存儲(chǔ)成和表述成圖象、三維圖形、電影、聲音或其它易于接收的多媒體格式,相反,它以基于字符文本的形式存在于Web、數(shù)據(jù)庫(kù)和其它文本很可能存在的地方。XML答應(yīng)開發(fā)者在一個(gè)標(biāo)準(zhǔn)的結(jié)構(gòu)中以上下文來(lái)考慮并且解釋他們的數(shù)據(jù),以便于每一次添加和更新的時(shí)候,一個(gè)XML框架下的數(shù)據(jù)集可以與另一個(gè)XML框架下的數(shù)據(jù)集相結(jié)合而不用重建整個(gè)結(jié)構(gòu)。 Java是如何適用于這個(gè)藍(lán)圖的?    XML為Java的語(yǔ)義(行為)提供了一種普遍的語(yǔ)法,簡(jiǎn)單的說就是,這意味著一個(gè)開發(fā)者可以為不同的數(shù)據(jù)類型創(chuàng)建描述,使得這些數(shù)據(jù)在Java的程序代碼中表現(xiàn)出不同的行為,并且以后可以重復(fù)使用和修改這些描述。既然Java和XML都是可移植的標(biāo)準(zhǔn),這兩種技術(shù)結(jié)合的結(jié)果也是可移植的,可以重用數(shù)據(jù)和移植行為。單獨(dú)使用XML或Java所能獲得的所有的潛力還沒有被完全把握,將它們結(jié)合就走進(jìn)了一個(gè)巨大的新的國(guó)度。現(xiàn)在,將XML應(yīng)用于Java的兩個(gè)主要的應(yīng)用是面向表示的出版業(yè)和企業(yè)中面向消息的中間件技術(shù)。非凡是,XML可以和Java結(jié)合產(chǎn)生諸如復(fù)雜的Web文檔、動(dòng)態(tài)出版、電子商務(wù)、企業(yè)應(yīng)用集成和結(jié)構(gòu)信息治理與檢索等應(yīng)用。 XML標(biāo)準(zhǔn)擴(kuò)展   XML標(biāo)準(zhǔn)擴(kuò)展是一種基礎(chǔ)性的探索,用它來(lái)將XML語(yǔ)法翻譯成Java。這種探索的技術(shù)和結(jié)構(gòu)細(xì)節(jié)還在剖制之中,1999年底Java開發(fā)者就可以使用這個(gè)標(biāo)準(zhǔn)擴(kuò)展來(lái)建造基于XML的應(yīng)用了。這個(gè)標(biāo)準(zhǔn)擴(kuò)展包括一些組件:一個(gè)解析器,解析器中的名字空間支持,XML的簡(jiǎn)單API(SAX)和文檔對(duì)象模型(DOM)。   解析器就是一個(gè)軟件模塊用來(lái)解析或者是讀入一個(gè)XML文檔的數(shù)據(jù)并且檢查其合法性。名字空間,W3C的XML規(guī)范的一部分,指在一個(gè)文檔類型定義(DTD)中定義了一組與其它不同的XML標(biāo)記元素集。名字空間的主要益處是它答應(yīng)多個(gè)變量(在不同的標(biāo)記集合中并且行為也不一樣)能夠在一個(gè)單獨(dú)的文檔實(shí)例中混合。很顯然,為了獲得這種益處,解析器必須支持名字空間,Sun Microsystems還在為這種支持而作工作。   SAX,一個(gè)為基于事件XML解析器定義的可以免費(fèi)獲得的,平臺(tái)、語(yǔ)言無(wú)關(guān)的API,答應(yīng)程序和腳本動(dòng)態(tài)的訪問和更新內(nèi)容、結(jié)構(gòu)和文檔風(fēng)格。所以,它作為一個(gè)中間件層用來(lái)把XML文檔中的數(shù)據(jù)解釋成相應(yīng)的Java事件。   DOM為解析器提供一個(gè)基于樹型的數(shù)據(jù)結(jié)構(gòu)接口,將XML數(shù)據(jù)構(gòu)建成對(duì)象并且答應(yīng)對(duì)象間相互結(jié)合、訪問、操縱,例如通過Java程序。   XML標(biāo)準(zhǔn)擴(kuò)展規(guī)范的公共草稿和alpha發(fā)行版將在今年(1999)第三季度問世,Sun打算在第四季度發(fā)行最終版。 當(dāng)所有這些問題被消除之后,Sun計(jì)劃考慮支持轉(zhuǎn)變語(yǔ)言(transformation language)和樣式頁(yè)(XSL)以及XML查詢語(yǔ)言,這個(gè)語(yǔ)言答應(yīng)查詢XML文檔。 XML數(shù)據(jù)綁定標(biāo)準(zhǔn)擴(kuò)展   Sun和其它XML-Java倡導(dǎo)者都認(rèn)為XML標(biāo)準(zhǔn)擴(kuò)展對(duì)于高效地使用XML和Java是不夠的,為什么呢?盡管XML可以提供Java所使用的數(shù)據(jù)的語(yǔ)法并且按照這個(gè)語(yǔ)法行事,但是據(jù)說XML消息的語(yǔ)法在本質(zhì)上是沒有意義的,而且它缺乏對(duì)某一塊數(shù)據(jù)是什么和如何使得這塊知識(shí)適合整個(gè)信息系統(tǒng)這樣的特定的知識(shí)。數(shù)據(jù)綁定標(biāo)準(zhǔn)擴(kuò)展使用了模式(schemas),是XML的子規(guī)范,它描述了XML文檔所使用的特定的機(jī)構(gòu)和數(shù)據(jù)類型。Java程序員可以聯(lián)系這種相似之處:一個(gè)XML消息繼續(xù)于一個(gè)XML模式,跟Java對(duì)象是一個(gè)Java類的實(shí)例是同樣的。模式通過約束XML文檔和數(shù)據(jù)的結(jié)構(gòu)與內(nèi)容來(lái)給它們添加含義,并且通過描述概念上的意思使得一個(gè)人而不僅僅是機(jī)器只要簡(jiǎn)單的瀏覽一下其結(jié)構(gòu)就知道它是做什么的。理解模式只是數(shù)據(jù)綁定的一個(gè)開端,據(jù)Cable和Reinhold說,為了從XML-java結(jié)構(gòu)和編程混合體獲得更多,從對(duì)象映射到XML消息組件(unmarshaling)和映射回對(duì)象(marshaling)是一樣重要的。對(duì)于映射和反映射Java代碼的XML消息組件來(lái)說,對(duì)它們有用的是一些類,Cable和Reinhold感覺到SAX和DOM都不能解決這個(gè)問題。   但是綁定可以解決這個(gè)問題,至少在理論上是這樣的。使用綁定將XML模式編譯成Java的類,答應(yīng)對(duì)象能和XML消息任意地相互進(jìn)行映射。綁定產(chǎn)生了類,這些類包涵了映射和反映射的代碼(答應(yīng)完善的錯(cuò)誤和合法性檢查)和訪問組件的方法(get和set),使得數(shù)據(jù)元素自動(dòng)的和模式保持一致性。綁定XML到Java程序也消除了書寫反映射(unmarshal)的必要,減少了輸入錯(cuò)誤數(shù)據(jù)的可能性。Sun公司的工程師們打算在Java平臺(tái)上增加一個(gè)這樣的綁定工具,盡管他們還沒有公布具體日期。  現(xiàn)在就嘗試使用它    你現(xiàn)在就可以下載Java Oracle也在這個(gè)領(lǐng)域開發(fā)了一些產(chǎn)品,包括Java的XML解析器,XML類產(chǎn)生器,和Java的XSL處理器。   對(duì)于一個(gè)Java開發(fā)者學(xué)習(xí)XML或至少探索一下它的可能性還是很有益處的。Sun的工程師們已經(jīng)在Java2平臺(tái)中使用XML了。例如,XML已在JavaHelp API中使用,用來(lái)描述元信息;它也被用來(lái)描述EJB1.1中的部署描述符;它通過解釋EJB到jsp(或相反)提供J2EE編程模型的語(yǔ)法基礎(chǔ)。Sun也積極地參與W3C和其它開放XML組織,諸如XML.org 和OASIS(the Organization forthe Advancement of StrUCtured Information Standards)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安义县| 绥阳县| 新绛县| 鄂伦春自治旗| 上虞市| 宁都县| 兴山县| 象州县| 七台河市| 乐都县| 穆棱市| 台中县| 乐山市| 汝城县| 乌拉特后旗| 灵寿县| 湖北省| 罗山县| 二连浩特市| 营口市| 韶关市| 龙胜| 集贤县| 华容县| 民县| 新乡市| 宁海县| 瑞丽市| 临漳县| 荔波县| 东兴市| 乌拉特前旗| 琼结县| 沙湾县| 瑞安市| 平罗县| 成都市| 泗洪县| 汾阳市| 崇州市| 山丹县|