揭开MSXML4.0的面纱

揭开MSXML4.0的面纱

时间:2001/05/09 11:09作者:孙一中 中国XML联盟

 

2001年4月16日,微软发布了MSXML 解析器4.0的技术预览版本。比起3.0版本,有不少改进的地方,例如对W3C最新XML Schema推荐建议的支持。本文将为你总体介绍该版本的新特性,以及如何在新的并列(side-by-side)模式中使用MSXML 4.0。MSXML 4.0安装程序可以在 MSDN Online Downloads 中下载。

Microsoft? XML Parser (MSXML) 4.0 技术预览版(Technology Preview Release)是MSXML 4.0的先期版本。该技术预览版提供了MSXML 4.0中新的重要特性,同时修改原有的错误、提高了性能,并提供了更多的样例和文档。

该版本最显著的新特点是对2001年3月30日W3C XML Schema推荐建议的支持。其中包括:

  • 在DOM中对XML Schema 定义(XSD)语言的校验。原来的MSXML支持的是DTD和XDR(XML-Data Reduces Version)。而随着XML Schema的成熟,MSXML中也转向了对XSD的支持。目前可以采用XMLSchema对象来自动实现对XML Schema的校验功能。除了正则表达式之外你可以使用XML Schema中的所有特性。而正则表达式将在后续的版本中支持。

  • 在XPath和XSLT中对XSD的支持。通过XPath和XSLT中提供的扩展函数你可以检查XSD类型的结点,对字符串和时间日期数值的比较、排序,或者可以以XSD中支持的方式将字符串转换为数字类型。

目前XML Schema规范还差最后一步,从推荐建议(Proposed Recommendation)成为正式建议(Recommendation)。在2001年的年中,XML

Schema将成为W3C的最终建议(Recommendation)。MSXML 4.0也将更新对它的支持。

另外该版本中也基于SAX2通用标准对顺序化XML的处理架构进行了扩展。这些扩展包括:

  • 集成DOM和SAX处理模型,通过 SAXXMLReader和 MXXMLWriter对象实现SAX和DOM的互相转换。你可以使用MXXMLWriter在DOM树之外对象产生SAX事件,同样可以利用SAX事件建立DOM树。

  • 类似于XSLT中通过<xsl:output>元素从结果树中产生HTML,也可以从SAX事件流中生成HTML,它是通过MSXML4.0中新的对象MXHTMLWriter对象实现的。

  • 提供helper对象跟踪名域(namespace)声明。其中MXNamespaceManager对象完全支持2000年12月28日的SAX修正版本。

在MSXML 4.0技术预览版本还提供新的SaxApp Wizard机制简化在Microsoft Visual Studio?中开发SAX程序。通过该Wizard,你可以迅速地开发SAX应用框架,类似于新建项目的控制台或WFC应用。

和MSXML3.0不同之处还在于,MSXML4.0的应用模式称为并列模式(Side-by-Side Mode)。安装MSXML4.0时不必单独运行xminst.exe,而且安装后还可以提供对原来的低版本的支持,而不是替代原来的MSXML 2.0, MSXML 2.6或者MSXML 3.0版本。

我们用下面的表格来说明MSXML 4.0中新增的特点:

特性
XML Schema Definition (XSD) 的支持

支持W3C 2001年3月30日 XML Schema推荐建议,但还目前还不支持正则表达式和标识约束。

 

在XSD中支持XPath语言的扩展函数

MSXML4.0提供了一些XPath中提供的扩展函数,可以支持基于数据类型的节点计算。

 

IMXNamespaceManager和 IMXNamespacePrefixes接口

这两个新接口提供了便捷的方式来管理名域、名域前缀和名域URI。

SAX 到DOM的支持

通过SAX的 IMXWriter接口,你能够将IMXWriter的output属性设置为DOMDocument对象,从而从SAX事件可以生成DOMDocument对象。

DOM到SAX的支持

从DOMDocument触发SAX事件

MXHTMLWriter

MXHTMLWriter类是对IMXWriter接口的具体实现之一,可以从SAX应用中产生HTML输出。

创建C++ SAX应用的Wizard

SAX Win32 AppWizard可以从Microsoft产品支持服务中下载。它实现了在C++中进行SAX应用的编程。

增加了IServerXMLHTTPRequest样例

根据可户客户的要求,在IServerXMLHTTPRequest文档中添加了新的样李。

增强了XSLT开发指南

新增添了一些新的主题

新的GUIDs和PROGIDs

MSXML 4.0要安装三个DLL文件到你的系统目录:msxml4.dll, msxml4a.dll和msxml4r.dll。不过头文件(msxml2.h)、 .lib文件msxml2.lib)和.idl文件(msxml2.idl.)的名称都没有变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值