這些日子,幾乎每個人都在談論XML (Extensible Markup Language),但是很少有人真正理解其含義。XML的推崇者認為它能夠解決所有Html不能解決的問題,讓數據在不同的操作系統或應用之間進行靈活交換。確實,所有的觀察家們都同意XML將引發一場內容發布和知識交換的革命。誰先進入這個領域,誰就能夠大獲其利。
這裡的20個有關XML的熱門問題能夠讓你成為一XML“專家”,或至少讓你能夠在今後看准XML的發展方向。
1.什麼是XML?
XML代表擴展標識語言(Extensible Markup Language). 由 World Wide Web Consortium (W3C)帶頭, XML在二月中期成為一個正式的規范.
XML開發者會告訴你XML不是一種語言,而是一個定義其他語言的系統. 你可能已經聽說過, 或使用過這些語言中的一種,--如Microsoft支持"推技術"的 Channel Definition Format (CDF).
正從事於XML相關建議工作的W3C, 稱XML為"表達數據中結構 的共同語法". 結構化的數據指的是其內容,意義或應用被標記的數據. 例如, Html中<H1>標記指定文本為某一字體和大小, XML的標記將明確確定信息的種類: <BYLINE>標記可以識別文檔的作者, <PRICE>標記可以在一個存貨清單中包含某一項目的成本 .
通過將結構,內容和表現分離, 同一個XML源文檔只寫一次, 可以用不同的方法表現出來: 在計算機屏幕上, 在手提電話顯示屏上, 在為盲人服務的設備上翻譯成語音, 等等. 它可以在可能開發的任何通訊產品上工作. 一個XML文檔因此可以比其書寫時的作者和顯示技術生存得更久.
所以, XML將不僅限於Internet, 例如, 可以服務於整個出版業, 特別是對於想制作可出現在多種媒體上的文檔的人. 一些使用Standard Generalized Markup Language (SGML)多年的大型文檔出版商將轉向XML. 還有, 獨立於平台的XML是為web開發的, 這是它將最具影響的地方.
DOM
XML在Web的真正實力在於它是如何與Document Object Model (DOM)交互的. DOM是定義訪問文檔中數據的機制的界面.
使用DOM, 程序員可以用一個標准的方法寫動態的內容. 換句話說, 他們可以使用它來使浏覽器文檔樹中的一部分特定內容按照一定的方式表現, 例如, 產生一個小效果, 當用戶將鼠標移至文字上時, 這些文字變成藍色. Netscape Navigator 和 Microsoft Internet Explorer 都有他們各自的DOM, 但是他們都稱將在其下一版本的浏覽器中支持W3C 的標准DOM.
2.XML何以重要?
Web領袖之間的說法是內容至上. 不幸地, 內容經常和其表現緊密結合. 請問你多少次在一個網站上遇到一個小小的提示, "最好在800x600像素的分辨率上顯示"?
XML將幫助解決以上問題, 因為網站建造者不用再指明在哪裡顯示什麼, 而是指明文檔 的結構. 例如, 你可以說明文檔的標題, 作者, 關聯文檔的清單, 等等. 然後, 任何一個有XML浏覽器的設備都可以給出最適合它的文檔版本, 這樣的設備可以是一個掌上型計算機, 置頂盒, 或高速的工作站.
但是, 也許XML的最佳特性是其內在的可擴展性. 公司和組織能夠擴展XML來滿足新的挑戰和應用. 一個基於XML的語言已經在使用--微軟的Channel Definition Format (CDF)-- 還有更多將出現, 包括 Resource Definition Format (RDF) 和 Open Software Description (OSD).
XML 也允諾成為交換數據 和文檔的標准機制. 例如, XML可能成為不同廠商的數據庫在Internet上交換信息的一種方法.現在准確地決定XML的方向還有一些早. 但是, 其各種可能性是令人敬畏的,這就是為什麼圍繞著XML有如此多的激動的一個重要原因.
3.SGML、Html和XML有什麼聯系?
Standard Generalized Markup Language (SGML) 是在文字處理應用中表達數據的一個方法. 它已經出現十多年了, XML 和 HTML 都是從SGML 發展而來的文檔形式. 因此, 它們都有一些共同點, 如相似的語法和帶括弧的標記符的使用. 但是 Html 是SGML的一個應用, 而 XML是SGML的一個子集.
區別是重要的. 基本上HTML不能用來定義新的應用, 而XML可以. 例如, Resource Description Format (RDF) 和 Channel Description Format (CDF)都是使用XML定義的應用. XML和Html更象表兄弟, 而不是親兄弟.
事實上, XML和SGML是兼容的 -- XML文檔可以通過任何SGML制作或浏覽工具閱讀. 但是, XML沒有SGML那麼復雜, 它是設計用於有限帶寬的網絡的, 如Internet. XML規范的合作者Tim Bray說, XML的設計出發點是取SGML的優點, 去除復雜的部分, 使其保持輕巧, 可以在Web上工作.
HTML,SGML和XML將繼續用於其合適的地方, 它們中的任何一個不會使其他一個廢棄. HTML仍是在Web上快速出版數據的最簡單的方法, 大部分短期的數據, 如會議議程或廣告宣傳冊. 如果數據會長期使用, 並且需要更多的一些結構, Web建造者將願意使用XML. 不同於Html和XML, SGML可能永遠不會在Internet上被廣泛接受, 因為它從來沒有為某個網絡協議的需求而設計或優化過. 對於高端的, 復雜結構的出版應用, SGML將繼續適用.
4.如何實現XML?
XML將以幾個不同的方式應用. 一個是在人機之間交換數據, 如從Web服務器至用戶的浏覽器. 另外一個是在不同的應用之間交換數據, 或者是機器之間交換數據.
在這些情況下, 你都可能需要三層架構: 後端數據庫, 針對數據的處理邏輯的中間層服務器, 以及數據進一步顯示和處理的客戶端. 數據庫可以從多個數據來源接收信息, 可能已經是XML格式的數據. 中間層然後聚攏數據並在最終的表現層上公布.
現在, 網頁有時候以這種方法傳送 --CNET的NEWS.COM 從一個數據庫中發表數據. 但是要獲得一頁的新的視圖, 如NEWS.COM的新的“打印機友好”選項, 服務器必須產生一個新的頁面. 一份適當格式化的XML文檔將允許客戶端的應用為不同的媒體修改文檔的表現形式, 比如為打印機.
5.什麼是DTD?
文檔類型定義 (DTD) 是一套關於標記符的語法規則. 它告訴你可以在文檔中使用哪些標記符, 它們應該按什麼次序出現, 哪些標記符可以出現於其它標記符中, 哪些標記符有屬性, 等等. DTD原來是為使用SGML開發的, 它可以是XML文檔的一部分, 但是它通常是一份單獨的文檔或者一系列文檔
因為XML本身 不是一種語言, 而是定義語言的一個系統, 它沒有象Html一樣擁有一個通用的DTD. 相反, 想使用XML進行數據交換的工業或組織可以定義它們自己的DTD.
如果一個組織想用XML來標識僅在內部使用的文檔, 它可以創造自己私有的DTD. 比如 Wall Street Journal Interactive Edition 擁有一個 DTD 來詳細說明每一版, 其中有關於頁, 文章, 概要, 標題下署名等等的信息. 刊物目前使用SGML DTD (稱作Dow Jones Markup Language), 但是它也正在開發一個XML版本.
關於DTD並不是沒有爭議的. 一些人感到它給商業業務增加了實實在在的價值, 而一些人感覺它限制了創造性. 還有一些人認為DTD有用, 但是還做得不夠. 微軟正嘗試用它的XML數據提議來解決上一個抱怨, 但是批評者說這些改進應該在DTD規范本身進行.
微軟的schema
一些供應商, 包括微軟, 已經提議了替代DTD的一個方法, 稱為schema. 他們已經將其以XML數據提交給了W3C. 就象DTD, schema提供了文檔的規則, 並指出用什麼標記符, 標記符的屬性, 之間的聯系, 等等.
但是, 不同於DTD, schema可以定義數據類型. 例如, DTD可能有一個標記符 <PRICE>, 而標記符之間的內容可以是數字或字符串. Schema 可以規定只輸入數字.
這個方法顯然有其優點, 特別是用於應用,對象,或數據庫之間的數據傳輸. 唯一的問題是它將成為DTD規范, 還是XML的一個擴展.
6.什麼是格式完整和有效的文件?
基本上有兩類相關的XML文檔: 構造良好的和有效的. 構造良好的 XML文檔遵守XML語法的一般規則, 這些規則比Html和SGML的更為嚴格. XML的字符數據決不會吊在那裡, 沒有某種結束標識符, 或者是象<MYTAG></MYTAG> 成對出現的 結束標識符, 或者是一個特別的在右尖括弧前帶有一個斜槓的 空元素 標記, 比如 <MYTAG/>; XML 標識總是以左尖括弧或 & 開始; 元素類型和屬性名稱是大小寫區分的; 屬性需要引號; 等等.
有效的 XML 文檔遵守某個特定的 文檔類型定義 (DTD). 確認XML文檔正確性的工作主要由制作出版工具承擔, 而XML浏覽器為讀取XML文檔, 只需要檢查其構造的良好性. 這樣, 制作工具中的解析器得要檢查構造良好性 和 有效性, 而浏覽器僅要考慮尋找已經構造良好的XML.
7 如何在浏覽器中閱讀XML?
閱讀XML文檔的工具一般稱為XML解析器, 雖然其更正式的名稱是XML處理器. XML處理器將數據傳送到應用軟件, 以做制作, 出版, 查詢, 或顯示. XML不給應用軟件提供 應用程序接口 (API), 它只是把數據傳給應用軟件. XML處理器不解析非構造良好的數據. Netscape 和 Microsoft 都已經將XML解析器包含在其浏覽器中, 或正計劃將其包含到浏覽器中.
XML開發者團體提供免費的XML閱讀器和解析器, 來應用到應用軟件或XML制作軟件:
Textuality的 Lark, 來自XML規范的作者之一.
Microstar Software的 Ælfred, 一個基於Java的解析器.
DataChannel的 DXP, 前身為著名的NXP, 或已經增加了API的Norbert的 (Mikula) XML 解析器.
8 RDF和XML有何聯系?
如果XML是說語言的能力, XML應用軟件則是特定的語言. 資源描述格式(Resource Description Format RDF) 是這樣的一個應用軟件: 使用XML語法的數據建模語言.
RDF是描述和訪問數據的一個方法. 這意味著RDF是關於數據的數據, 或者說元數據. 在Web中, 這些元數據將被用於建立標准的站點地圖, 更精確的搜索結果, 和分層次的主題索引.
RDF也允許智能書簽, 當被索引的網頁變化時, 書簽隨之發生變化. 如果你跟蹤內容定期更新的站點, 比如CNET的 NEWS.COM, 將很有用.
對於網站建造者, 建立可被搜索引擎引用的其網站內容的元數據並不困難. 我們很快就會有商業化的軟件, 來自動產生給定站點的RDF文件.
XML元數據也將活躍描述和評估數據的市場. 有許多評級機構 在網上出現, 他們評估一切數據, 從保護孩子安全的站點到最佳電影或葡萄酒站點. RDF描述評級機構可以使用的等級的語法. 人們將選擇有他們感覺最合適的詞匯表的評級機構, 詞匯表指的是評級機構給不同類型內容評級使用的特別的一套術語 -- 從性和暴力到葡萄酒酸度.
9 Netscape浏覽器中如何實現XML?
Netscape將在Communicator/Navigator 5.0中以一個代號為Aurora的交付部件來支持XML元數據. Aurora利用RDF 來獲得Netscape所說的"桌面信息全面集成."
Aurora在網絡, 桌面和數據庫之間查找和管理信息. 它將在桌面上以"窗口"菜單的界面出現, 會聚集指向當前項目, 研究主題, 或日常活動等資源的指針. RDF使Aurora的導航條指向不同數據類型(文字處理文檔, 表格數據, 電子郵件消息, 數據庫內容)的本地文件, 也指向Internet 或 intranet 服務器上的資源(搜索和查詢的結果, 書簽鏈接, 等等).
一個讀取RDF的XML解析器將是 Netscape 5.0 版浏覽器的一部分, 並且在最終產品交付之前會出現在某個beta版本中. 除了這個初始的RDF實現, Netscape正計劃將一個通用的XML解析器包含在浏覽器中, 而其浏覽器可以和其他的XML應用軟件一起工作, 比如 Shakespeare markup (一個早期的 XML 應用軟件), Chemical Markup Language (CML), 和 MathML, 一個正成為W3C推薦的數學標識語言.
"我們要使 Navigator 成為一個 XML 平台," Netscape 原理工程師R.V. Guha說. Guha 原來開發過 MCF (MetaContent Format), MCF 後來加入了RDF規范.
10 Microsoft浏覽器中如何實現XML?
微軟的 Internet Explorer 4.0 是第一個實現XML的 Web浏覽器. 微軟提供了一對XML處理器: 浏覽器所攜帶的用C++寫的解析器, 和一個Web建造者可以從中下載和加入他們自己的應用程序的Java解析器的源代碼.
Java解析器是一個有效的 解析器, 就是說它根據一個文檔類型定義 (DTD) 或 schema 來進行檢查. 為了提高性能, 浏覽器所帶的C++ 版的解析器是一個非有效的解析器.
據微軟的產品經理Steve Sklepowich稱, 這兩個解析器都是"通用的", 因為它們不依靠特定的XML應用, 如Channel Definition Format. 由於XML數據和其表現分離, 在一個Web浏覽器本身實際顯示XML的能力需要 style sheet, 例如 XSL (Extensible Style Language).
同時, 微軟使用了它所稱的XML Data Source Object, 或叫 XML DSO. 它應用了動態 HTML的數據捆綁能力, 將一端的XML數據和另一端的HTML數據相鏈接. (關於數據捆綁的例子, 可以查看 BUILDER.COM 的 Browser Playground.) IE 4.0 訪問XML文檔, 從中查詢數據, 然後作為Html顯示出來.
微軟也使用了 XML Object Model (XML OM)來讓開發者與浏覽器中的XML數據進行交互. 它的實現是通過將HTML作為基於Document Object Model (DOM)的對象顯現, 盡管Html 和 DOM 並非直接兼容. DOM 讓腳本和程序訪問結構化的XML數據.
Sklepowich說, 雖然目前在微軟, XML的重心在浏覽器, XML將最終出現在"任何Html已經出現了的地方". CEO Bill Gates 已經公開宣布微軟Office 未來的版本將支持 XML, 而且公司也計劃支持電子郵件包和制作XML工具的標准.
11 OSD和CDF與XML的關系如何?
Channel Definition Format (CDF) 和 Open Software Description (OSD) 是微軟支持的兩個XML應用. 通過其XML解析器, 微軟的 Internet Explorer 4.0 讀CDF文件來驅動和控制push 頻道所帶來的頁. 根據用 Resource Definition Format (RDF)所做的工作, CDF提議最近又上交給了 W3C, 以利用RDF的能力來顯示不同數據元素之間的聯系.
Open Software Description 是用於描述軟件部件的詞匯表, 帶有語法如從屬, 版本和平台. OSD 描述如何表現一個部件的特性, 以及如何將該部件安裝到計算機上. 它可以用於下載一個完整的軟件包, 但是它主要設計用於不斷增加的更新. OSD 單獨工作或和CDF一起工作, 來定義應用頻道.
OSD建議由微軟和Marimba領導的一組銷售商於1997年8月提供給W3C.
12 電子商務(e-commerce)和XML?
四年來, CommerceNet, 這個有500個成員的非盈利性的網上商務協會, 正努力幫助 e-commerce 產品和系統一起工作. 其概念是允許信息在不同目錄之間, 從目錄到付款系統, 在付款系統之間交換. 已經發現XML可以在兩個重要方面幫助實現以上概念: 內容定義和信息交換.
內容定義: CommerceNet 正在定義通用於多種商業事務的數據元素. 這個稱作 Commerce Core 的東西將定義如何給諸如公司名稱, 地址, 價格, 條款和數量等事物作標識.
信息交換: 開放, 基於文本的XML用於服務器之間交換事務信息很理想. CommerceNet 提議用基於XML的 Common Business Language (CBL) 來描述產品和服務目錄軟件, 關於商業規則和系統的元數據, 以及表格和消息的軟件. 許多CBL 取自已經存在的 Electronic Data Interchange (EDI) 辭典, EDI辭典識別公認的術語, 如發票和采購訂單. 但是CBL超越EDI的商業-到-商業的重點, 包含了零售事務和橫向的供應鏈 -- 從供應商到批發商到零售商.
一個這樣的CBL應用是為使目錄互用的 Product Information Exchange (PIX) 規范. CommerceNet設計PIX, 以幫助供應商和他們的分銷商更容易地交換產品數據.
長遠的目標是工業組織--而非 CommerceNet--來將CBL作為特定的DTD的一個共同基礎使用. 一些著重於工業的初步嘗試已經宣布了:
Open Buying on the Internet (OBI): 一個在Internet上進行國際性的商業間購物的標准. OBI 基於目前的Internet標准, 如Html, SSL (為安全性), SET (為信用卡交易), 和X.509 (為數字認證). OBI的支持者有 Commerce One, Connect, Intelisys, InterWorld, Microsoft, Netscape, Open Market, 和 Oracle.
Open Trading Protocol (OTP): 一個在Web上向消費者售物的一致的, 可共同操作的環境. 規則將包括從如何降價促銷, 付款選擇, 到產品運輸, 接收和問題解決. OTP由MasterCard International, DigiCash, CyberCash, Hewlett-Packard, IBM, AT&T Universal Card, Netscape, Royal Bank of Canada, 和一些 其他金融機構和技術公司支持.
Internet Content and Exchange (ICE): Vignette, Firefly Network, 和 一些其他公司--包括微軟--正在開發一個叫作ICE的規范, 使能夠在站點之間交換在線資產, 無論那是內容, 應用程序, 或是元數據. ICE將利用現有的標准, 包括 OPS/P3P (為使個人數據可靠交換), CDF, OSD, XML-Data , 和 RDF.
13 XML中的層疊樣式?
因為XML將內容和表現分離, Web建造者需要新的方法來控制設計, 顯示和輸出. Style sheet 是問題的答案. 目前, 有三種可用於XML的 style sheet:
Cascading Style Sheets (CSS)
Extensible Style Language (XSL)
Document Style Semantics and Specification Language (DSSSL).
如果5.0版的浏覽器支持XML, XML對現有的CSS標准的支持將會處理大部分基本的風格和頁面問題. 但是CSS對於專業出版商可能不夠強大. 所以, 另一端存在著DSSSL, 一個在使用SGML的高端出版商中流行的ISO (國際標准組織)標准. 然而, DSSSL是復雜的, 它處理的打印文檔管理在Web上很少有用.
現在剩下了 Extensible Style Language (XSL), 特別為XML而寫的style-sheet. XSL目前上交給了W3C作為一個提議, 它給了web開發者和用戶較HTML更多的表現靈活性. 例如, Html的 <H2> 標識符在所有浏覽器上的表現是基本一樣的, 但是XSL讓開發者指定他們的頁面元素如何表現 (盡管用戶可以在個人設置中覆蓋它).
XSL較CSS更強大, 因為它使Web建造者創建可以動態改變其表現的文檔. 例如, 你可以包含這樣的程序語句, "如果一個XML元素的屬性為數值10, 顯示為綠色, 否則為黑色." 或者你可以將"僅供內部使用"作為屬性給一個段落標上, 這樣它在某些情況下不會出現. XSL被設計用於腳本語言如JavaScript.
14 XML如何改進超鏈接?
XML超鏈接比基本的Html風格的超鏈接多了一些新的特性, 包括無需手寫許多JavaScript代碼就能創建"聰明的"鏈接. 而且在XML, 鏈接本身成為了對象, 可以象其他對象一樣被管理.原來的鏈接規范--XLL, 或XML鏈接語言--正被分為兩個不同的規范: XPointer 和 XLink.
XPointer: 在Html, 要鏈接到一個頁面的中間, 頁面作者必須在那兒加上定位標識符. 使用XPointer, 你可以"取址到" (不是"連接到")其他人的文本的任何部分. 顯而易見, 這樣將有助於工作於法律文件, 科學和學術論文, 甚至W3C規范!
XLink: 當用戶點擊一個Html超鏈接時, 當前的網頁被連接到的文件替代. XLink令Web建立者給鏈接增加行為. 例如, 現在, 你必須用一些JavaScript, 使在鏈接處彈出一個獨立的窗口, 但是XLink讓Web建立者對鏈接進行編碼來執行一系列動作, 包括彈出一個鏈接選擇的菜單.
另一個應用可以是彈出一個對話框, 可能是一個提醒用戶它們正要更新數據庫的警告. 鏈接彈出菜單可能需要用戶點擊一個框來表示在進一步處理前他們接受義務. 現在, 實現這樣的功能要寫許多的腳本代碼.
XML也讓Web建立者創建類似Web環工作的Extended Link, Web環是通過"下一個/前一個"行進來導航的自己選擇出來的關於相同主題的網站組. 對於彈出菜單太長的相關鏈接站點表, Web建立者可以創建一個鏈接表, 這個表在不同的站點, 頁面時會有變化. 用戶可以點擊一個圖標來自動轉移到環中的下一個成員. 現在這樣的功能需要 CGI scripts, 而Extended Links 提供了一個標准的, 非私有的建立資源間聯系的方法.
仍然有更多的問題需要解決, 特別是在行為政策方面. 必須由一種方法來協調以下三方面的關系: 文檔作者對鏈接所建議的行為, 用戶所喜好的顯示鏈接信息的方式, 以及是否和何時忽視用戶的意願的政策.
15 服務器上支持XML嗎?
XML被設計成供長久使用的, 高價值的文檔的儲存格式. XML不是只讓你定義標識符, 它也允許你定義文檔的儲存結構. 一篇Html文檔僅存在於一個文件中, 而一個XML文檔可以由存放在不同地點的多個文件(稱為實體)組成. 這提出了作為文檔存儲庫的XML服務器的概念.
服務器軟件供應商已正在支持XML:
Enigma, Insight 4.0
這是一個提供給出版商處理大型文檔的專業電子出版軟件解決方案. 目前和Insight捆綁在一起的Enigma SGML/XML Style Sheet Editor, 也可以作為一個獨立產品提供.
Hynet TechnologIEs, Digital Library System
Digital Library System (DLS) 將文檔和文檔部件作為標准軟件對象進行管理, 允許引入在Adobe FrameMaker和Microsoft Word中創建的文檔, 或者SGML/XML文件.
Inso, DynaText Professional Publishing System
這是一個進行索引, 搜索和制作腳本的軟件, 它可以工作於運行在Windows NT 3.51 或 4.0, 或 Sun Solaris 2.5上的Microsoft Internet Information Server 和 Netscape Enterprise and FastTrack servers.
Open Market, Folio
Open Market的 Folio 4 信息管理和發送產品將XML文檔引入帶索引的數據庫, 以在IP網絡上傳遞內容, 或將內容送至CD-ROM. 在一月份, Open Market宣布增強對XML的支持, 允許文檔以它們的本身格式進行索引和保證安全. 同時, Folio產品也將可以和其它基於標准的制作, 解析和生成XML文檔的解決方案相互操作. 它的產品包括 Folio siteDirector (分發信息), Folio SecurePublish (事務管理軟件), 和 Folio Publisher (電子出版).
WebMethods, Web Automation Server
Web Automation Server 幫助公司將基於浏覽器的應用軟件和其它應用軟件的數據相結合. 它是基於XML的服務器, 使用 WebMethods自己的在機器間進行Web數據交換的WIDL (Web Interface Definition Language). (該公司已經將WIDL作為標准提議上交給 World Wide Web Consortium.)
16 誰應該學習XML?
所有的Web建立者需要足夠了解XML, 以決定是否使用它. E-commerce 站點和管理數據庫中大量文檔的站點是顯然的首選對象. 經理可能不需要學習XML語法或如何建立DTD, 他們仍要理解XML的潛力並加以利用.
如果最終的目的只是讓人來讀信息, Html能足夠滿足標識信息的要求. 但是如果你想要為自動處理數據作准備, 你必須考慮將XML納入你的出版系統.
並非每一個工作在Web站點的Html制作者必須成為XML制作者, 但是某些員工應該精通於XML--特別當站點的工作對象是值得為將來使用而管理的數據和文檔時.
當然, XML的功能也意味著復雜性--一些Web建立者已經發現他們可以在幾天內掌握Html的基礎, 而他們可能需要花幾個星期來適應XML. 只有你自己才能決定是否值得花這些時間.
17 有哪些編寫XML的工具可供我使用?
幸運的是, Web建立者不用完全靠他們自己從頭開始創建XML了. 市場上已經有了創建, 管理和發送XML的工具, 並且一些公司也在進行開發.
Adobe: 在1998年中期, Adobe將介紹可以輸出到XML的 FrameMaker 和 FrameMaker+SGML 的過渡版本. 這些產品的完整版本將能夠輸入XML. Adobe有 一名代表在 W3C的XML工作組, Adobe也參與了XLink, Cascading Style Sheets和 RDF的工作, 所以我們可以期待這些技術將在Adobe未來的產品中出現.
Allaire: HomeSite 4.0 和 Cold Fusion 4.0 都預計在今年夏天出品, 它們將支持XML, 包括style sheets. HomeSite 3.0中已經提供了一個CDF附加軟件.
ArborText: 在SGML領域內長期工作的ArborText, 於一月份發布了XML Styler, 一個免費的基於Java的XSL編輯器. 它的圖形用戶界面可以讓我們勿需知道XML語法就能進行編輯. 將來, ArborText 會把XML Styler集成到Adept中, Adept是公司給打印出版提供的XML制作工具.
DataChannel: 一個免費的, 基於Java的有效的解析器, 稱為 DXP (DataChannel XML Parser; 基於 Norbert Mikula 著名的NXP). 可以從該公司的Web站點獲得. 它新發布的是免費的XML工具包, XML 開發環境, 它包括了一套部件, 幫助人們開始學習和應用XML.
Inso: 該公司提供它稱為的"首個集成的, 端對端的, 創建, 轉換, 存儲, 管理, 索引, 查詢XML內容, 將其發布到Web, CD-ROM和打印機上的出版解決方案." 其產品包括 DynaTag 4.0, DynaBase 3.0, DynaText 3.1, 和所附的工具 DynaWeb.
IntraNet Solutions: Intra.doc Management System的下一版本, IntraNet Solution的基於Web的文檔管理系統, 將會管理XML部件和文檔之間的關系, 提供和第三方XML制作工具的集成鏈接管理, 完善在浏覽器中XML對象的使用, 並在Intra.doc存儲庫和XML編輯器之間提供一個交互的元數據模型.
Microsoft: 微軟希望在年底交付Office 9.0, 據報道, 它將有對XML的支持.
Microstar: ActiveSG/XML 是一套在Internet上設計和配置基於事務的XML/SGML系統的工具和技術. Microstar也提供了免費的Ælfred XML 解析器.
SoftQuad: HTML 編輯器 HotMetal Pro 將很快提供 Live Data Base Pages, 一個讓開發者將Html數據拉入數據庫並以XML來返回的附加軟件.
Vignette: StoryServer 3.2 在Web上交付能使用XML的應用和內容. 它結合了關系型數據庫, 多媒體和XML內容創建的工具. StoryServer 是一個Web內容應用平台, 供建立, 管理, 和交付基於服務的Web應用之用, 比如在線出版, 知識管理, 和電子商務系統. (注: CNET對Vignette有財政上的興趣.)
XPublish: XPublish是一個XML出版系統, 供Web站點開發和管理, 允許開發者以XML進行制作, 或用XML構件延展目前的HTML文檔, 然後將站點以Html來發布, 以讓任何的標准Web浏覽器可以訪問. 它包含了一個Cascading Style Sheets編輯器.
WebMethods: 該公司制作基於XML的Web Automation 軟件, 提供商業應用軟件和Web數據的快速集成和直接訪問. 它的 Web Interface Definition Language (WIDL) 將和Html/XML和表格的所有交互自動化, 提供在標准Web協議上表現要求-回答交互方式的一個通用方法.
當然, 如果XML在Web上無處不在, 你可以看到幾乎每一種基於Web的應用, 特別是Html編輯器, 數據庫軟件, 和電子商務軟件, 會迅速加入對XML的各個級別的支持.
18 XML的國際化?
XML將使Web建立者創建真正的國際性站點變得比以前都容易. 因為, 比如 Java, 它由Unicode (ISO 10646)定義, Unicode是一個國際接受的標准, 用於描述世界上所有的字母, 字型, 字符和表意符, 它包括 ASCII ISO 拉丁字符, 日本, 韓國, 中國, 印度, 希臘, 阿拉伯和其它字符. 它甚至允許字符集的混合, 例如, 一篇以日文顯示的XML文檔可以通過一個元音變音參照到一個德文詞匯.
開發者不需要學習任何腳本語言, 以使Unicode在XML文檔中生效, 文檔在用戶的浏覽器中用合適的字符集顯示出來.
19 XML的未來在哪裡?
就圍繞著XML的所有活動, 很難預測六個月後它會是什麼樣. XML和XLL 規范的合作者Tim Bray說, "我們已經制作了一個設計用於通用目的的工具, 大范圍的人們對它的關注和應用證明我們是成功的."
在短期內, XML將可能出現在元數據應用上, 如RDF. 下一個大的影響將隨著Document Object Model 規范的批准而到來. Bray聲稱"XML和DOM的結合確實是給Web帶來活力的神奇子彈."
XML也應該會幫助電子商務. XML將使電子商務供應商以共同的方法給產品和其相關信息(價格,尺寸,顏色,特性)進行標識, 使用戶在Web上對不同的商店進行比較.
同時, Netscape和Microsoft會繼續擴大對XML浏覽器的支持, 包括有效的和構造良好的XML文檔, 更多的XML應用, 為XML設計的style-sheet支持, 和XML超連接協議. 請關注這兩個公司以及其它軟件供應商在XML制作和出版工具上的進展.
20 哪裡能學到更多的XML知識?
XML是一個復雜的事物, 對於所有Web建立者都具有深刻的含意. 如果你想學習更多的東西, 這裡是一些可以查看的好地址:
萬維網聯盟(W3C):
XML規范.
關於XML規范的討論.
Extensible Style Language (XSL) W3C注釋.
Extensible Linking Language (XLL) 規范.
Document Object Model 規范.
參與W3C規范開發的XML開發者的郵件地址清單.
XML常見問題解答:
ArborText的 XML鏈接和資源.
微軟的XML 站點提供了XML如何在一個天氣預報和拍賣中工作的演示.
Textuality收集了XML規范合作者Tim Bray的關於XML的FAQ和到其它資源的一些鏈接.
由愛爾蘭Cork University College的Peter Flynn代表W3C的XML特別興趣組維護的XML FAQ.
XML信息頁面, 達拉斯Summer Institute of Linguistics 的Robin Cover創建的SGML/XML Web頁面的一部分.
組織、持續教育:
中國XML聯盟
圖形通信協會的XML文件
SGML Open 是一個國際性的非盈利性協會, 它提倡基於SGML家族標准的結構化文檔和數據交換. 它的InterX.org旨在成為"XML開發者和用戶的論壇和資源中心".
SGML大學在美國各城市和主要會議上提供一到兩天的課程.