MSXML 4.0 SP2 Release Notes

The following release notes contain documentation updates to the Microsoft® XML Core Services (MSXML) 4.0 Service Pack 2 (SP2) Software Development Kit (SDK). Use the headings below to locate the updated topic in the MSXML 4.0 SP2 SDK table of contents.

Note   These release notes update but do not replace the documentation found in the SDK.

Upgrading to the MSXML 4.0 SP2 SDK

The following are important notes about proper installation of the SDK for MSXML 4.0 SP2:

Redistributing MSXML

The MSXML 4.0 merge module redistribution package allows you to distribute MSXML 4.0 with any Microsoft Windows® desktop application you build using Microsoft Visual Basic® 6.0 or Visual C++® 6.0.

The following updates the "To create a Windows Installer package that installs MSXML 4.0 with your application" procedure.

You are now required to include two merge modules, msxml4sys32.msm (installs DLL files in the \Windows\system32\ directory on all supported versions of Windows), and msxml4sxs32.msm (installs DLL files in the \Windows\WinSxS directory on Windows XP or later versions of Windows). When following this procedure, replace the msxml.msm merge module listed in the procedure with msxml4sys32.msm and msxml4sxs32.msm.

DOM Reference

The following are documentation updates for the Document Object Model (DOM).

XML DOM Properties

The following are documentation updates for the XML DOM properties.

dataType Property

The following statement in the remarks section for the dataType property is incorrect.

"This property applies to DTDs only, not to XML-Data Reduced (XDR) schemas or XML Schemas (XSD)."

The following updates the remarks section for the dataType property.

This property applies to Document Type Definition (DTD) and XDR schemas and it does not apply to XML Schemas (XSD).

When an XML document is defined by an XSD schema, the dataType property for all nodes will have the value of VT_NULL. The dataType property is for XDR or DTD schemas. If you have an XSD schema, you find the type of a node by calling getDeclaration and then getting the itemType. The dataType of elements defined in XSD schemas are not initialized and will return VT_NULL. In addition, the nodeTypedValue property depends on the dataType to return the value information. If the dataType property is missing, it will return the variant as a VT_BSTR type.

The reason for this behavior is that XSD schemas can define complicated custom types and there is no implementation in MSXML 4.0 to directly map between XSD types and COM variant types.

nodeTypedValue Property

The following updates the remarks section for the nodeTypedValue property.

This property applies to Document Type Definition (DTD) and XML-Data Reduced (XDR) schemas and it does not apply to XML Schemas (XSD).

When an XML document is defined by an XSD schema, the variant returned by calling the nodeTypedValue property is always of type VT_BSTR. The dataType property is for XDR or DTD schemas. If you have an XSD schema, you find the type of a node by calling getDeclaration and then getting the itemType. The dataType of elements defined in XSD schemas are not initialized and will return VT_NULL. In addition, the nodeTypedValue property depends on the dataType to return the value information. If the dataType property is missing, it will return the variant as a VT_BSTR type.

The reason for this behavior is that XSD schemas can define complicated custom types and there is no implementation in MSXML 4.0 to directly map between XSD types and COM variant types.

You can explicity set the nodeTypedValue property with a particular data type in the variant. The set operation does not change the data type. The value in the variant is converted to the data type specified in the dataType property, and the set operation returns an error if the type conversion is not possible.

When working with an XSD schema, you can get the corresponding variant type by setting the dataType property before calling the nodeTypedValue property. A data conversion will occur, but it may not always be possible. If the data conversion is not possible, a COM exception will be thrown.

XML DOM Methods

The following are documentation updates for the XML DOM methods.

This section contains updates for the following topic:

setOption Method

The following updates the remarks section for the SXH_OPTION_SELECT_CLIENT_SSL_CERT option.

With MSXML 4.0, the client certificate can be installed in the local machine certificate store, whereas in the previous release the certificate was installed in the user's personal store. After the certificate has been installed, you can use the Certificates MMC snap-in to view the certificate. If you have multiple certificates installed, you can use the setOption method to specify the name of the certificate with a full path to the certificate.

const SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3
http.setOption SXH_OPTION_SELECT_CLIENT_SSL_CERT, "LOCAL_MACHINE\My\my certificate"

The path specified referres to the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\My\Certificates.

SAX2 Reference

The following are documentation updates for the Simple API for XML (SAX) interfaces.

This section contains updates for the following topic:

ISAXXMLReader Interface

The following are documentation updates for the ISAXXMLReader interface.

This section contains updates for the following topics:

getFeature Method

Returns the Boolean value of a feature.

In addition to the features listed in the MSXML 4.0 SP2 SDK, the following feature is also supported:

"use-schema-location"

putFeature Method

Sets the value of a feature.

In addition to the features listed in the MSXML 4.0 SP2 SDK, the ISAXXMLReader interface recognizes the following feature:

"use-schema-location"

True — (default) Use xsi:schemaLocation to load external schemas.

False — External schemas will not be loaded.

Access — (parsing) read-only; (not parsing) read/write.

putProperty Method

The xml-string property in the putProperty method does not exist and should be disregarded.