MORE INFORMATION
MSXML 3.0 provides several features that are not available in previous production releases of MSXML.
- Complete implementation of the World Wide Web Consortium (W3C) standards for Extensible Stylesheet Language Transformations (XSLT) and XML Path Language (XPath).
- Complete Component Object Model/Microsoft ActiveX Simple API for XML (SAX2) implementation with a number of helper objects. You can access these helper objects from Microsoft Visual C++, Microsoft Visual Basic, and scripting environments.
- Server-safe HTTP access for use in server-side applications.
- Substantial improvements to the Document Object Model (DOM) and namespace support.
- High conformance with the W3C XML 1.0 and Namespaces 1.0 standards, as well as the Organization for the Advancement of Structural Information Standards (OASIS) XML 1.0 test suite.
- A number of bug fixes and general performance improvements.
Side-by-Side Functionality
The MSXML 3.0 release installs the parser (Msxml3.dll) in side-by-side mode. Therefore, if you install this version of the parser, no MSXML version that was previously installed is replaced. Both the new parser and the old parser reside "side-by-side" on your computer. If you do not want to run the parser in side-by-side mode, you can use the Xmlinst.exe utility to run MSXML 3.0 in replace mode. This utility remaps application references from previous MSXML versions to point to MSXML 3.0.
For additional information and to download the Xmlinst.exe utility and Readme.txt file, click the article number below
to view the article in the Microsoft Knowledge Base:
289481 HOWTO: Proxy Configuration Must Be Run for ServerXMLHTTP to Work
Server-Safe HTTP
With this feature, MSXML waives the need for additional components to access XML through a network in a server-side environment.
Server-safe HTTP provides functionality similar to the
XMLHTTP object, except in a server-safe way. To utilize server-safe HTTP, use the
setProperty method of the
XMLDOMDocument2 object or the
setFeature method of the
SAXXMLReader object. Alternately, you can use this new object on its own as a generic server-side HTTP access component.
For servers that are running on an intranet, you must run the Proxycfg.exe utility to configure WinHTTP to access HTTP and HTTPS servers through a proxy server. For example, you must use the Proxycfg.exe utility as part of the deployment and installation process of an application that uses the
ServerXMLHTTP component to access WinHTTP.
For additional information and to download the Proxycfg.exe utility and Readme.txt file, click the article number below
to view the article in the Microsoft Knowledge Base:
290761 Frequently Asked Questions about ServerXMLHTTP
MSXML SAX2
The MSXML 3.0 release provides event-based parsing with MSXML SAX2. Simple API for XML (SAX) is an interface that allows you to write applications to read data in an XML document. SAX2 is the latest version of this application programming interface (API). The MSXML SAX2 implementation, which provides both Visual Basic and Visual C++ interfaces, offers a simple, fast, low-overhead alternative to the Document Object Model (DOM) processing method.
The MSXML 3.0 release no longer includes two separate SAX readers for Visual C++ and Visual Basic (as was the case with previous technology preview releases). The same coclass,
SAXXMLReader, now implements both sets of interfaces.
MSXML 3.0 includes the following API change for the error handler interfaces:
- An error message string exists (instead of the IErrorInfo object) for all three methods of the ISAXErrorHandler interface in Visual C++.
- To prevent collisions in automation environments, the warning method for both the Visual C++ and Visual Basic interfaces (ISAXErrorHandler and IVBSAXErrorHandler) is now the ignorableWarning method.
Namespace Support when Querying the DOM using XPath
MSXML 3.0 now supports an internal property (flag) named
SelectionNamespaces so that the
IXMLDOMNode functions (
selectNodes and
selectSingleNode) can use qualified names. For more information, see the
setProperty method of the
IXMLDOMDocument2 object.