2001 年 9 月發(fā)行的 Microsoft XML Core Services (MSXML) 4.0 版中的新增功能 Microsoft Corporation 2001年10月
下載 MSXML 4.0,網(wǎng)址為 MSDN Downloads(英文)。
摘要: 本文重點介紹了與版本 3.0 相比,2001 年 9 月發(fā)行的 Microsoft XML Core Services (MSXML) 4.0 版中的新功能和重要變更。
目錄
簡介 新功能 并行功能和刪除替代模式 重要說明
簡介 大家將注意到的第一個變化是 MSXML 的正式新全名。一開始,MSXML 是提供 XML 分析的組件,因此其全名為 Microsoft® XML Parser。隨著時間的遷移,XML 和 MSXML 在不斷發(fā)展。現(xiàn)在 MSXML 提供的功能已遠遠超出了分析。自版本 3.0 發(fā)布以來,名稱一直在變化,現(xiàn)在可以說是大功告成了。新名稱,即 Microsoft® XML Core Services,充分說明了該組件所提供的新功能。請注意名稱的縮寫仍和以前相同:MSXML。
2001 年 9 月發(fā)行的 Microsoft XML Core Services (MSXML) 4.0 版是 MSXML 4.0 的正式發(fā)行。該版本提供許多重要的新功能,也有一些重要的變化,尤其是并行功能。MSXML 4.0 也提供了對已知問題的解決方案;在性能、一致性和文檔方面都有所改進并提供附加示例。
與版本 3.0 相比,MSXML 4.0 提供的改進和附加功能主要包括以下三個方面:
對最終的 World Wide Web Consortium (W3C) XML Schema (XSD) Recommendation 的擴展支持。 性能上有極大改進。 基于實際標準 Simple API for XML (SAX2),對連續(xù) XML 處理結(jié)構(gòu)的擴展支持。 另一個重大變化是刪除了替代模式。MSXML 版本 4.0 和其后的版本將嚴格地以并行模式進行安裝。這意味著版本獨立的 ProgIDs 將不再受支持,而且現(xiàn)有的 Microsoft® Internet Explorer 版本將不能自動使用 MSXML 4.0(如果沒有腳本)。進行此變更的原因在于,根據(jù)客戶的反饋,獨立版本的 ProgIDs 在使用 MSXML 版本 2.6 和其后的版本維護應用程序時會產(chǎn)生許多問題。
有關(guān) 2001 年 7 月發(fā)行的 Microsoft XML Parser (MSXML) 4.0 技術(shù)預覽中的新功能,請參閱 What's New in the July 2001 Microsoft XML Parser 4.0 B2 Technology Preview(英文)。有關(guān) MSXML 4.0 所有功能的詳細信息,請參閱該組件隨附的文檔。
新功能 XML 架構(gòu)支持 此版本中的許多功能都提供 XML 架構(gòu)支持。您可以使用外部架構(gòu)緩存或 xsi:schemaLocation/xsi:noNamespaceSchemaLocation 屬性,在 SAX 和 DOM 中針對 XML 架構(gòu)驗證 XML。盡管沒有 XPath 2.0,但 MSXML 4.0 可以提供擴展功能(符合標準)以支持處理 XPath 和 XSLT 中的 XSD 類型。
MSXML 4.0 也使您可以使用 SAX 中的類型發(fā)現(xiàn)與 DOM 中的“架構(gòu)對象模型”(SOM) 來獲得已驗證的文檔中的架構(gòu)信息。除了對最終 XML 架構(gòu)推薦的支持外,MSXML 繼續(xù)支持 XML-Data Reduced (XDR) 及文檔類型定義驗證。
對連續(xù) XML 處理的擴展支持 MSXML 4.0 對基于 SAX2 API 的連續(xù) XML 處理結(jié)構(gòu)提供擴展支持。包括以下方面:
DOM 與 SAX 分析模型的集成 能夠生成 HTML 輸出 能夠?qū)?nbsp;SAX 內(nèi)容處理程序插入 XSLT 處理器的輸出 跟蹤名稱空間聲明 您現(xiàn)在可以使用 MXXMLWriter 對象從 DOM 樹中生成 SAX 事件。同樣,您也可以從 SAX 事件中建立 DOM 樹。該功能使您可以將 DOM 和 SAX 緊密集成到應用程序中。
MXHTMLWriter,這個新對象使您可以用 SAX 事件輸出 HTML,方式與 xsl:output>XSLT 中的元素從結(jié)果樹中生成 HTML 的方式一樣。新 MXHTMLWriter 對象為性能卓越的 Active Server Pages (ASP) 提供必要的支持,ASP 可用 SAX 閱讀器閱讀 XML 文檔,將這些文檔放入自定義 SAX 篩選器并以 HTML 頁的形式將數(shù)據(jù)輸出給用戶。MXHTMLWriter 對象也可用于許多其他應用程序,如手動生成 HTML 頁。
XSLT 處理器現(xiàn)在接受作為輸出的 SAX 內(nèi)容處理程序。這意味著 SAX 篩選器鏈可直接處理已轉(zhuǎn)換的 XML。例如,您可以使用此功能刪除 XML 再生成和再分析,從而當傳入的 XML 文檔需要譯入同一本詞典時,XML 文檔可立即由一個應用程序消耗掉。
新 MXNamespaceManager 對象使您可以手動跟蹤名稱空間聲明并在當前的上下文或某一 DOM 節(jié)點的上下文中加以解析。雖然 MSXML 支持名稱空間,并能自動解析元素和屬性的名稱,但許多情形下,屬性值或元素內(nèi)容都使用合格的名稱。新 MXNamespaceManager 對象能夠跟蹤并解析這些合格的名稱。
并行功能和刪除替代模式 刪除替代模式 直到 MSXML 3.0 版,您才可以使用替代模式使最新的 MSXML 組件模擬 MSXML 2.0(Internet Explorer 5.0 及 5.5 瀏覽時用它來演示 XML)。之所以可以這樣做,是因為有一個特殊的實用程序,xmlinst.exe,操縱 Microsoft Windows® 注冊。雖然替代模式不是推薦的方法,許多用戶仍嘗試使用它,結(jié)果根據(jù) Microsoft 客戶支持的調(diào)查,發(fā)現(xiàn)在維護應用程序方面有許多問題。此外,需要維護舊有的功能也使 MSXML 組件超出了原有的分量。
現(xiàn)在替代模式已從 MSXML 4.0 中完全刪除,而且不能使用替代模式用 MSXML 2.0 代替 Internet Explorer。這意味著如果您用 Internet Explorer 作為默認程序打開 XML 文件,雙擊 XML 文檔后,Internet Explorer 將不會使用 MSXML 4.0 來顯示該文檔。仍可以傳統(tǒng)方式使用 MSXML 4.0,使用腳本在 HTML 頁中操縱 XML。