Microsoft有一个提供the CLSID and ProgIDs of various MSXML 4.0个对象的页面:
Symbolic Name: CLSID_DOMDocument40 GUID: {88d969c0-f192-11d4-a65f-0040963251e5} ProgID: Msxml2.DOMDocument.4.0 Symbolic Name: CLSID_XMLSchemaCache40 GUID: {88d969c2-f192-11d4-a65f-0040963251e5} ProgID: Msxml2.XMLSchemaCache.4.0
但是我的Vista机器或同事的XP机器上都没有注册ProgID或CLSID.
> MSXML 4.0是否仅随某些版本的Office(例如Office 2003)一起提供?
>它最初是否附带Windows XP,但后来的服务包将其删除了?
>是否存在安全漏洞,并且已被删除?
>它被简单地描述了吗?
我愿意转向MSXML 5.0,它可以在Windows XP和Windows Vista机器上使用 – 但我想确保我拥有最广泛的兼容性;我认为MSXML 4.0比MSXML 5.0更广泛.
微软做recommend that i use MSXML 6.0:
It is recommended that you upgrade
from earlier versions of MSXML to
MSXML 6.0. MSXML 6.0 provides security
and performance improvements over
earlier MSXML versions.
在该博客条目的“MSXML生命周期和历史”部分中,作者声明:
MSXML4 was a predecessor to MSXML6
but hasn’t ever shipped in the
operating system. MSXML6 is a
significant step forward in terms of
reliability,security,W3C and
System.Xml compatibility,and it also
has support for native 64-bit
environments. Right now we are
investing much more heavily in MSXML6
and MSXML3 and we’re encouraging our
customers to move to 6 when possible
and 3 when necessary.
OP编辑:重要的是要注意MSXML3是在W3C决定最终的XSD规范之前发布的.最终,W3C使用的XSD语法与Microsoft为MSXML3创建的语法不同. MSXML6与W3C选择的XSD方案完全兼容.
这意味着MSXML3和MSXML6彼此不兼容;和MSXML3不使用标准XSD.