MSXML4.0 版中的新增功能

MSXML4.0 版中的新增功能

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 和其后的版本维护应用程序时会产生许多问题。

MSXML 3.0 中推出的 ServerXMLHTTPRequest 对象,提供了可靠的服务器端 HTTP 访问(独立于 WinInet)。该服务器端 HTTP 堆栈功能现在已包含新的 WinHTTP 5.0 组件(随 MSXML 4.0 安装一并推出)。ServerXMLHTTPRequest 仅为该组件提供前端。

有关 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) 及文档类型定义验证。

性能改进

此外,MSXML 4.0 也提供新的、更快的 XML 分析程序以及经重大改进的 XSLT 引擎。通过将 NewParser 属性设置为 “真”,DOM 和新分析程序可以一起使用。

新分析程序不能支持异步 DOM 载入或 DTD 验证。除此之外,所有其他功能与旧分析程序相同,只是速度更快。在测试中,如果只进行分析,MSXML 的性能高出 2 倍;如果进行 XSLT 转换,性能则会高出 4 倍。

对连续 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。

删除版本独立的 ProgIDs

由于同样的原因,版本独立的 ProgIDs 已被删除。该删除是为了提供真正的并行安装,而以前的版本中,在安装 MSXML 新版本时仅某些 ProgIDs 随之升级。现在 CreateObject("MSXML2.DOMDocument") 实例化的不是 MSXML 4.0 DOM,而是前一版本。如果您要使用 MSXML 4.0,必须创建如下对象:CreateObject("MSXML2.DOMDocument.4.0")。因此,对于 C++ 和 Microsoft Visual Basic® 应创建 "MSXML2.DOMDocument40"。如果要使用 MSXML 4.0 版,所有其他的 MSXML 对象也要做类似的改变。

这是因为要改进代码的可维护性;而以前的设计,只要环境出现意外变化,很容易发生错误。简而言之,版本独立的 ProgIDs 对于测试性的 MSXML 非常方便,但是在生产环境中,风险极高。例如,用户使用版本独立的 ProgIDs 开发了代码,并假设 MSXML 3.0 确实存在。如果该用户稍后安装或重新安装 Microsoft SQL Server,可能会意外发现他们正在使用 MSXML 2.6 而非 MSXML 3.0。将版本独立的 ProgIDs 从 MSXML 4.0 中删除可消除这种不稳定性,并可改进 MSXML 使之成为服务器端的企业级组件。

删除旧代码

此版本丢弃了许多旧功能。由于使用了替代模式,大部分功能都不再需要了。已清除的功能包括:

旧式、非一致性的 XSL,目前已完全由 W3 标准的 XSLT 1.0 取代。自 MSXML 3.0 后,完整的 XSLT 1.0 即可使用。 

旧式、非一致性的 XSLPattern 语言,目前已完全由 W3 标准的 XPaht 1.0 取代。自 MSXML 3.0 后,完整的 XPath 1.0 即可使用。 

旧式、非一致性的 XDR 初级 uuid: namespaces。旧 XDR 支持的正确命名空间现在是基于 HTTP 的名称空间:urn:schemas-microsoft-com:xml-data 及 urn:schemas-microsoft-com:datatype。 

旧的、非标准的 NodeFactory 界面,在 MSXML 3.0 中被降级。此界面用于 XML 连续分析。它已完全由 SAX2 分析程序取代。自 MSXML 3.0 后,SAX2 分析程序即可使用。 

normalize-line-break 功能现在对 SAX 分析程序没有任何影响。按 XML 规范,断行已完全正常化。 

并行功能

MSXML 4.0 的最终版本在推出时,其 DLL 名称(msxml4.dll、msxml4r.dll 及 msxml4a.dll)与预览版完全相同。由于删除了版本独立的 ProgIDs,保证了 MSXML 4.0 不会干扰以前安装的 MSXML(2.0、2.6 或 3.0)。Windows XP 并行安装为 Windows XP 用户做得更彻底。也就是说,Windows XP 可以采用特殊的并行功能以管理您的应用程序使用 MSXML 的方式及所使用的版本(从 4.0 往后的版本)。要做到这一点,必须创建一个特殊的应用程序声明,以将应用程序链接到 MSXML 4.0 的特定版本。有关详细信息,请参阅 Microsoft XML Parser 4.0 B2 and Windows XP(英文)。如果要用过去使用过的相同方法使用 MSXML,您不必做任何事情;MSXML 会同时以全局(和以前一样)及并行(新)模式安装于 Windows XP 上。

独立的 WinHTTP 版本 5.0 组件

ServerHTTPRequest 组件的功能现在由独立的 WinHTTP 组件提供。这是一个新服务器端组件,提供可靠的 HTTP 堆栈功能。没有 WinHTTP 组件,使用服务器端模式的 ServerHTTPRequest 及 DOM/SAX 将无法访问基于 HTTP 的数据。如果在运行 Windows NT®/2000/XP OS 的计算机上安装 MSXML 4.0,系统会自动安装 WinHTTP 组件。然而,对于 Windows 98/Me 情况则不同,WinHTTP 无法在此类系统上运行。您仍可以在 Windows 98 或 Windows Me 上安装 MSXML,但必须使用默认的 DOM/SAX 模式,或使用 WinInet 组件的 XMLHTTPRequest 对象来提供 HTTP 功能。WinInet 组件已随 Internet Explorer 预安装在这些 Windows 版本上。

此版本提供更轻便、更迅速、更一致的 XML 处理组件,用户可安全地在企业级系统的服务器环境中加以使用。只要可确保客户端计算机上安装了所需的组件,MSXML 4.0 仍可成功地用于环境控制适宜的客户端(与非瘦客户机情况相同)。

重要说明

如果安装了 MSXML 4.0 Previews (四月或七月的 MSXML 4.0 技术预览版本)

仍可以支持从技术预览直接升级到 RTM。必须先卸载预览版,再安装 RTM。您可能需要手动撤消注册并从 system32 目录删除 msxml4*.dll 文件。要撤消注册 MSXML 4.0 预览版,请运行:

regsvr32 /u msxml4.dll

如果已安装了 MSXML 4.0 四月发行的 MSXML 4.0 技术预览版本

请注意版本独立的 ProgIDs 已从 MSXML 4.0 中删除(尽管在四月发行的版本中还存在),所以安装此版本会使它们无法运作。这也可能严重影响许多使用 MSXML 3.0 的应用程序(如 Microsoft Visual Studio® .NET 安装程序)。要避免此问题,请从命令行运行以下两个命令并从 system32 目录删除 msxml4*.dll 文件,然后再安装此版本。

regsvr32 /u msxml4.dll

regsvr32 msxml3.dll

这将确保版本独立的 ProgIDs 指向 MSXML 3.0。请务必在安装此版本前完成上述操作。如果在您的计算机上没有 regsvr32.exe,则可以从此处下载(英文)。如果已安装了四月以后发行的版本,请向新闻组寻求帮助。再次提醒您,可能需手动从 system32 目录删除 msxml4*.dll 文件。

时间: 2025-01-17 22:33:07

MSXML4.0 版中的新增功能的相关文章

MSXML4.0 版中的新增功能_小偷/采集

MSXML4.0 版中的新增功能 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 版中的新功能和重要变更.  目录 简介  新功能 

使用.net framework中常用类在2.0版中的新功能

在上一篇<浏览.NET Framework 2.0 类型库中新增的常用功能>一文中我主要列了几个新增的常用主件,本文作为小结主要针对一些常用类的扩展来讲最近在使用C# 2.0 的时候发现的几个新特征,讲得不当之处请网友指正. 1.Exception异常基类在2.0下,Exception基类增加了Data属性,原型如下,public virtual IDictionary Data {get;}可见其实现了IDictionary接口,用来存储异常的自定义信息,由此想到在ExceptionMana

陌陌今日透露将在即将发布的5.0版本中引入星级功能

摘要: 陌陌首推用户星级机制 净化会员体系 月10日下午消息,陌陌今日透露将在即将发布的5.0版本中引入星级功能,将用户划分为不可信用户.一星到五星6个等级,引入用户信用体系,过滤 陌陌首推用户星级机制 净化会员体系 月10日下午消息,陌陌今日透露将在即将发布的5.0版本中引入"星级功能",将用户划分为不可信用户.一星到五星6个等级,引入用户信用体系,过滤垃圾信息骚扰. "很多人在使用社交应用过程中都曾被目的不纯的人或垃圾信息骚扰."陌陌科技COO王力表示,陌陌将在

IIS6.0下ASP的新增功能

iis ASP 的新增功能除了内部性能增强和优化外,该版本的 Active Server Pages(ASP) 还具有如下新功能: 更好的国际化和 UTF-8 支持 改进的 POST 支持 ASP 挂起检测 常用文件的缓存 UNC 增强 ASP 中的 COM+ 服务 单元模型选择 并排集合 COM+ 分区 跟踪程序 事务 ASP 的新配置数据库属性 更好的国际化和 UTF-8 支持UTF-8 支持已经被扩展到所有 ASP 内置对象的属性和方法中.上一版本的 ASP 仅在响应和写入方面支持 UTF

WPS Office 移动版5.3新增功能全体验

平板电脑让商务办公"化繁为简",但实现真正的"移动办公",还需有高效易用的移动办公软件.颇受好评的WPS移动版就是一款强大的办公软件.近期更新的WPS移动版5.3不仅运行效率全面提升,还新增了多项实用功能,在实际体验中发现,WPS移动版5.3越来越接近完美.有了它,让平板也能媲美PC办公体验,可谓"小身材"也有"大用途"! 移动演示更轻松更自由 在当前社会,PPT演示频频出现在各种商业场合.在行销推广.招商引资.学术报告等活动

IIS6.0下ASP的新增功能(二)

iis 并排 (SxS) 集合允许 ASP 应用程序指定要使用哪个版本的系统 DLL 或传统 COM 组件,例如 MDAC.MFS.MSVCRT.MSXML 等.例如,如果您的 ASP 应用程序依赖 MSXML 2.0 版,则可以确保即使是在服务器上应用了 Service Pack 之后,您的应用程序仍使用 MSXML 2.0 版.任何新版本的 MSXML 仍安装在计算机上,但是保留 2.0 版且由应用程序使用.配置 SxS 程序集要求您知道 DLL 的路径,且 COM+ 清单文件存在于每个需要

盘点微信5.0版你不知道的七大隐藏功能

微信有哪些不易被发现的小功能?最常被用户津津乐道的,莫过于朋友圈那个长按拍照http://www.aliyun.com/zixun/aggregation/17167.html">按钮即可发纯文字的彩蛋. 随着微信5.0版的发布(Android版将于明日在应用宝首发),除了已经广为大家所知的微信游戏和扫一扫等功能,还有哪些可能被忽视,但却也挺有意思的小功能呢? 1.双击聊天信息,可将文字放大全屏阅读 这个在微信的官方介绍有提示,但却被一些用户忽视了.以后微信聊天时,看到别人发来一段比较长的

微信6.0版今日上线 新增小视频、卡包等功能

摘要: 9月30日,微信正式更新6.0版本,主打更新有三个,分别为: 一是,新增的小视频功能,该功能与短视频产品类似,但没有 滤镜 和配乐效果,从实际效果看,更像是为微信增加了有声音 9月30日,微信正式更新6.0版本,主打更新有三个,分别为: 一是,新增的"小视频"功能,该功能与短视频产品类似,但没有 滤镜 和配乐效果,从实际效果看,更像是为微信增加了有声音的动态图片功能: 二是,卡包功能,此前搜狐IT曾独家报道过微信将增加卡包功能,该功能需要用户获取卡券后才能使用: 三是,微信游戏

微软更新iOS版Skype:新增@功能,一键召唤好友

7月20日消息,iOS版本的即时通讯软件<Skype>今天获得了更新,本次更新增加了许多新功能,包括对Skype机器人的改进和艾特好友的功能,此外,还包括bug修复与软件性能的提升,本次更新后iPad和iPhone版本号均为v6.20. 更新日志 现在点击最近栏目下的机器人按钮就能在Skype上找到机器人 在与机器人聊天时可以直点击对话列表中的收藏按钮进行收藏 提升了通知的稳定性 被静音的对话不再出现在未阅读信息的列表里 通过@+朋友昵称来召唤他们 当用户网络出现问题时或Skype正在更新对话