2001 年 9 月发行的 Microsoft XML Core Services (MSXML) 4.0 版中的新增功能
Microsoft Corporation
2001年10月
下载 MSXML 4.0,网址为 MSDN Downloads(英文)。
摘要: 本文重点介绍了与版本 3.0 相比,2001 年 9 月发行的 Microsoft XML Core Services (MSXML) 4.0 版中的新功能和重要变更。
目录
简介
新功能
并行功能和删除替代模式
重要说明
简介
大家将注意到的第一个变化是 MSXML 的正式新全名。一开始,MSXML 是提供 XML 分析的组件,因此其全名为 Microsoft® XML Parser。随着时间的迁移,XML 和 MSXML 在不断发展。现在 MSXML 提供的功能已远远超出了分析。自版本 3.0 发布以来,名称一直在变化,现在可以说是大功告成了。新名称,即 Microsoft® XML Core Services,充分说明了该组件所提供的新功能。请注意名称的缩写仍和以前相同:MSXML。
2001 年 9 月发行的 Microsoft XML Core Services (MSXML) 4.0 版是 MSXML 4.0 的正式发行。该版本提供许多重要的新功能,也有一些重要的变化,尤其是并行功能。MSXML 4.0 也提供了对已知问题的解决方案;在性能、一致性和文档方面都有所改进并提供附加示例。
与版本 3.0 相比,MSXML 4.0 提供的改进和附加功能主要包括以下三个方面:
对最终的 World Wide Web Consortium (W3C) XML Schema (XSD) Recommendation 的扩展支持。
性能上有极大改进。
基于实际标准 Simple API for XML (SAX2),对连续 XML 处理结构的扩展支持。
另一个重大变化是删除了替代模式。MSXML 版本 4.0 和其后的版本将严格地以并行模式进行安装。这意味着版本独立的 ProgIDs 将不再受支持,而且现有的 Microsoft® Internet Explorer 版本将不能自动使用 MSXML 4.0(如果没有脚本)。进行此变更的原因在于,根据客户的反馈,独立版本的 ProgIDs 在使用 MSXML 版本 2.6 和其后的版本维护应用程序时会产生许多问题。
有关 2001 年 7 月发行的 Microsoft XML Parser (MSXML) 4.0 技术预览中的新功能,请参阅 What's New in the July 2001 Microsoft XML Parser 4.0 B2 Technology Preview(英文)。有关 MSXML 4.0 所有功能的详细信息,请参阅该组件随附的文档。
新功能
XML 架构支持
此版本中的许多功能都提供 XML 架构支持。您可以使用外部架构缓存或 xsi:schemaLocation/xsi:noNamespaceSchemaLocation 属性,在 SAX 和 DOM 中针对 XML 架构验证 XML。尽管没有 XPath 2.0,但 MSXML 4.0 可以提供扩展功能(符合标准)以支持处理 XPath 和 XSLT 中的 XSD 类型。
MSXML 4.0 也使您可以使用 SAX 中的类型发现与 DOM 中的“架构对象模型”(SOM) 来获得已验证的文档中的架构信息。除了对最终 XML 架构推荐的支持外,MSXML 继续支持 XML-Data Reduced (XDR) 及文档类型定义验证。
对连续 XML 处理的扩展支持
MSXML 4.0 对基于 SAX2 API 的连续 XML 处理结构提供扩展支持。包括以下方面:
DOM 与 SAX 分析模型的集成
能够生成 HTML 输出
能够将 SAX 内容处理程序插入 XSLT 处理器的输出
跟踪名称空间声明
您现在可以使用 MXXMLWriter 对象从 DOM 树中生成 SAX 事件。同样,您也可以从 SAX 事件中建立 DOM 树。该功能使您可以将 DOM 和 SAX 紧密集成到应用程序中。
MXHTMLWriter,这个新对象使您可以用 SAX 事件输出 HTML,方式与 <xsl:output>XSLT 中的元素从结果树中生成 HTML 的方式一样。新 MXHTMLWriter 对象为性能卓越的 Active Server Pages (ASP) 提供必要的支持,ASP 可用 SAX 阅读器阅读 XML 文档,将这些文档放入自定义 SAX 筛选器并以 HTML 页的形式将数据输出给用户。MXHTMLWriter 对象也可用于许多其他应用程序,如手动生成 HTML 页。
XSLT 处理器现在接受作为输出的 SAX 内容处理程序。这意味着 SAX 筛选器链可直接处理已转换的 XML。例如,您可以使用此功能删除 XML 再生成和再分析,从而当传入的 XML 文档需要译入同一本词典时,XML 文档可立即由一个应用程序消耗掉。
新 MXNamespaceManager 对象使您可以手动跟踪名称空间声明并在当前的上下文或某一 DOM 节点的上下文中加以解析。虽然 MSXML 支持名称空间,并能自动解析元素和属性的名称,但许多情形下,属性值或元素内容都使用合格的名称。新 MXNamespaceManager 对象能够跟踪并解析这些合格的名称。
并行功能和删除替代模式
删除替代模式
直到 MSXML 3.0 版,您才可以使用替代模式使最新的 MSXML 组件模拟 MSXML 2.0(Internet Explorer 5.0 及 5.5 浏览时用它来演示 XML)。之所以可以这样做,是因为有一个特殊的实用程序,xmlinst.exe,操纵 Microsoft Windows® 注册。虽然替代模式不是推荐的方法,许多用户仍尝试使用它,结果根据 Microsoft 客户支持的调查,发现在维护应用程序方面有许多问题。此外,需要维护旧有的功能也使 MSXML 组件超出了原有的分量。
现在替代模式已从 MSXML 4.0 中完全删除,而且不能使用替代模式用 MSXML 2.0 代替 Internet Explorer。这意味着如果您用 Internet Explorer 作为默认程序打开 XML 文件,双击 XML 文档后,Internet Explorer 将不会使用 MSXML 4.0 来显示该文档。仍可以传统方式使用 MSXML 4.0,使用脚本在 HTML 页中操纵 XML。