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

首頁 > 學院 > 開發(fā)設計 > 正文

XML和Java:一個強大的組合

2019-11-18 12:47:53
字體:
來源:轉載
供稿:網友

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 双柏县| 彭泽县| 武川县| 康平县| 湖州市| 岳阳市| 平定县| 金昌市| 乳源| 清河县| 册亨县| 中宁县| 托克托县| 无为县| 沅江市| 松桃| 宁海县| 咸丰县| 额敏县| 鄯善县| 泸水县| 固阳县| 山东省| 长沙县| 三门县| 佛坪县| 库伦旗| 康马县| 白山市| 泾源县| 新兴县| 山东省| 灵璧县| 内江市| 建平县| 康乐县| 淳安县| 洛扎县| 叙永县| 同德县| 瑞安市|