1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

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

      更新時(shí)間: 2007-06-08 09:50:33來源: 粵嵌教育瀏覽量:715

        XML當(dāng)它在1996年11月由WWW小組( W3C)提出時(shí)就是一個(gè)能夠被很好接受的規(guī)范。現(xiàn)在,它與Java從本質(zhì)上的結(jié)合――即把Java程序中的與XML相關(guān)的代碼部分和對Java語義(動作)編碼的部分轉(zhuǎn)換成XML的標(biāo)記,承諾能夠向企業(yè)或更高層提供更簡單和更具創(chuàng)造力的應(yīng)用計(jì)算。Larry Cable 和 Mark Reinhold 是Sun公司的兩名老資格的工程師,他們在近召開的JavaOne開發(fā)者大會的"Java平臺上的XML"技術(shù)會議部分發(fā)言,根據(jù)他們的發(fā)言,關(guān)注這種技術(shù)聯(lián)姻的主要原因是基于XML的語法提供了一種靈活的、標(biāo)準(zhǔn)的、健壯的Java編程方案,同時(shí),Java也將一種普遍的語義集合應(yīng)用于XML數(shù)據(jù)。

        為什么用XML?

        很多在電子世界里可用的信息都沒有被存儲成和表述成圖象、三維圖形、電影、聲音或其它易于接收的多媒體格式,相反,它以基于字符文本的形式存在于Web、數(shù)據(jù)庫和其它文本很可能存在的地方。XML允許開發(fā)者在一個(gè)標(biāo)準(zhǔn)的結(jié)構(gòu)中以上下文來考慮并且解釋他們的數(shù)據(jù),以便于每一次添加和更新的時(shí)候,一個(gè)XML框架下的數(shù)據(jù)集可以與另一個(gè)XML框架下的數(shù)據(jù)集相結(jié)合而不用重建整個(gè)結(jié)構(gòu)。

        Java是如何適用于這個(gè)藍(lán)圖的?

        XML為Java的語義(行為)提供了一種普遍的語法,簡單的說就是,這意味著一個(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è)巨大的新的國度?,F(xiàn)在,將XML應(yīng)用于Java的兩個(gè)主要的應(yīng)用是面向表示的出版業(yè)和企業(yè)中面向消息的中間件技術(shù)。特別是,XML可以和Java結(jié)合產(chǎn)生諸如復(fù)雜的Web文檔、動態(tài)出版、電子商務(wù)、企業(yè)應(yīng)用集成和結(jié)構(gòu)信息管理與檢索等應(yīng)用。
        
        XML標(biāo)準(zhǔn)擴(kuò)展
        
        XML標(biāo)準(zhǔn)擴(kuò)展是一種基礎(chǔ)性的探索,用它來將XML語法翻譯成Java.這種探索的技術(shù)和結(jié)構(gòu)細(xì)節(jié)還在剖制之中,1999年底Java開發(fā)者就可以使用這個(gè)標(biāo)準(zhǔn)擴(kuò)展來建造基于XML的應(yīng)用了。這個(gè)標(biāo)準(zhǔn)擴(kuò)展包括一些組件:一個(gè)解析器,解析器中的名字空間支持,XML的簡單API(SAX)和文檔對象模型(DOM)。
        
        解析器就是一個(gè)軟件模塊用來解析或者是讀入一個(gè)XML文檔的數(shù)據(jù)并且檢查其合法性。名字空間,W3C的XML規(guī)范的一部分,指在一個(gè)文檔類型定義(DTD)中定義了一組與其它不同的XML標(biāo)記元素集。名字空間的主要益處是它允許多個(gè)變量(在不同的標(biāo)記集合中并且行為也不一樣)能夠在一個(gè)單獨(dú)的文檔實(shí)例中混合。很顯然,為了獲得這種益處,解析器必須支持名字空間,Sun Microsystems還在為這種支持而作工作。
        
        SAX,一個(gè)為基于事件XML解析器定義的可以免費(fèi)獲得的,平臺、語言無關(guān)的API,允許程序和腳本動態(tài)的訪問和更新內(nèi)容、結(jié)構(gòu)和文檔風(fēng)格。所以,它作為一個(gè)中間件層用來把XML文檔中的數(shù)據(jù)解釋成相應(yīng)的Java事件。
        
        DOM為解析器提供一個(gè)基于樹型的數(shù)據(jù)結(jié)構(gòu)接口,將XML數(shù)據(jù)構(gòu)建成對象并且允許對象間相互結(jié)合、訪問、操縱,例如通過Java程序。
        
        XML標(biāo)準(zhǔn)擴(kuò)展規(guī)范的公共草稿和alpha發(fā)行版將在今年(1999)第三季度問世,Sun打算在第四季度發(fā)行終版。 當(dāng)所有這些問題被消除之后,Sun計(jì)劃考慮支持轉(zhuǎn)變語言(transformation language)和樣式頁(XSL)以及XML查詢語言,這個(gè)語言允許查詢XML文檔。
        
        XML數(shù)據(jù)綁定標(biāo)準(zhǔn)擴(kuò)展
        
        Sun和其它XML-Java倡導(dǎo)者都認(rèn)為XML標(biāo)準(zhǔn)擴(kuò)展對于高效地使用XML和Java是不夠的,為什么呢?盡管XML可以提供Java所使用的數(shù)據(jù)的語法并且按照這個(gè)語法行事,但是據(jù)說XML消息的語法在本質(zhì)上是沒有意義的,而且它缺乏對某一塊數(shù)據(jù)是什么和如何使得這塊知識適合整個(gè)信息系統(tǒng)這樣的特定的知識。數(shù)據(jù)綁定標(biāo)準(zhǔn)擴(kuò)展使用了模式(schemas),是XML的子規(guī)范,它描述了XML文檔所使用的特定的機(jī)構(gòu)和數(shù)據(jù)類型。Java程序員可以聯(lián)系這種相似之處:一個(gè)XML消息繼承于一個(gè)XML模式,跟Java對象是一個(gè)Java類的實(shí)例是同樣的。模式通過約束XML文檔和數(shù)據(jù)的結(jié)構(gòu)與內(nèi)容來給它們添加含義,并且通過描述概念上的意思使得一個(gè)人而不僅僅是機(jī)器只要簡單的瀏覽一下其結(jié)構(gòu)就知道它是做什么的。理解模式只是數(shù)據(jù)綁定的一個(gè)開端,據(jù)Cable和Reinhold說,為了從XML-java結(jié)構(gòu)和編程混合體獲得更多,從對象映射到XML消息組件(unmarshaling)和映射回對象(marshaling)是一樣重要的。對于映射和反映射Java代碼的XML消息組件來說,對它們有用的是一些類,Cable和Reinhold感覺到SAX和DOM都不能解決這個(gè)問題。
        
        但是綁定可以解決這個(gè)問題,至少在理論上是這樣的。使用綁定將XML模式編譯成Java的類,允許對象能和XML消息任意地相互進(jìn)行映射。綁定產(chǎn)生了類,這些類包涵了映射和反映射的代碼(允許完善的錯誤和合法性檢查)和訪問組件的方法(get和set),使得數(shù)據(jù)元素自動的和模式保持一致性。綁定XML到Java程序也消除了書寫反映射(unmarshal)的必要,減少了輸入錯誤數(shù)據(jù)的可能性。Sun公司的工程師們打算在Java平臺上增加一個(gè)這樣的綁定工具,盡管他們還沒有公布具體日期。
        
        現(xiàn)在就嘗試使用它
        
        你現(xiàn)在就可以下載Java Project X Technology第二發(fā)行版的二進(jìn)制代碼或源代碼,Java Project X Technology是一個(gè)基于Java-XML技術(shù)服務(wù)包的名字。這個(gè)服務(wù)包包括一個(gè)快速的XML解析器,這個(gè)解析器帶有可選的認(rèn)證和一個(gè)支持W3C DOM Level 1 建議的內(nèi)存內(nèi)的對象模型樹。根據(jù)Sun的Java Project X FAQ,Project X 是一個(gè)"開發(fā)面向XML的應(yīng)用與服務(wù)的高性能、模塊化、可擴(kuò)展的Java API",試用一下證明這是真的。
        
        Sun和其它看好XML的行業(yè) 不僅僅是Sun公司,一些技術(shù)開發(fā)者也正在為他們的合作伙伴和顧客架起XML和Java的橋梁。例如,Bluestone軟件公司,他們專注于企業(yè)的交互管理,在他們的Bluestone XML工具集中就支持XML的Java標(biāo)準(zhǔn)擴(kuò)展。NetPost是一家使用Java組件模型來開發(fā)、提供跨媒體出版解決方案的公司,他們?yōu)樗性谒麄冃畔⑾到y(tǒng)中的數(shù)據(jù)使用XML,作為一個(gè)"綜合的標(biāo)準(zhǔn)數(shù)據(jù)表示".Oracle也在這個(gè)領(lǐng)域開發(fā)了一些產(chǎn)品,包括Java的XML解析器,XML類產(chǎn)生器,和Java的XSL處理器。
        
        對于一個(gè)Java開發(fā)者學(xué)習(xí)XML或至少探索一下它的可能性還是很有益處的。Sun的工程師們已經(jīng)在Java2平臺中使用XML了。例如,XML已在JavaHelp API中使用,用來描述元信息;它也被用來描述EJB1.1中的部署描述符;它通過解釋EJB到JSP(或相反)提供J2EE編程模型的語法基礎(chǔ)。Sun也積極地參與W3C和其它開放XML組織,諸如XML.org 和OASIS(the Organization forthe Advancement of Structured Information Standards)。

      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 久久国产精品久久久 | 三级网站视频在在线播放 | 日韩中文字幕在线视频 | 亚洲乱码中文字幕永久在线 | 最新免费Av网址在线播放 | 亚洲日韩精品女同在线播放 |