| |
Learn XML Parsers Tutorial
Introduction
In the XML Parsers Zone you will learn about the Microsoft MSXML XML Parser
(now renamed Microsoft®
XML Core Services) and how to
make use of it in your applications.
Get the leading XSLT Integrated Developer Environment
Ideal for your XSLT code when developing. We also encourage
you to try the 30 days free download for MarrowSoft
Xselerator. Xselerator is an excellent XSLT Editor which makes
using XSLT far simpler for developers.
- Xselerator uses MSXML3 and MSXML 4 transformations so that debugging
session behavior matches a real, production environment transformation
engine
- Configurable to use all the common transformation engines - including MSXML 3.0 & 4.0, Xalan-C, Xalan-J, Saxon, Instant-Saxon, XT and Sablotron
Table of Contents
Base64 Encoder Sometimes, it's a bit "heavy" to add a dependency on the MSXML component in your project, just to get the Base64 functionality. For example, I have a component which generates XML documents as strings, with no dependency on MSXML.
Obtain the MS Soap Toolkit - there's a Base64 Encoder/Decoder COM object in
there. Note: There "may" be a couple of minor bugs in the implementation in the current
Technology Preview. The source code (C++) is included. Write your own VB class to do the job. I have a working VB Base64 class (not rigorously tested, though), if anyone is
interested. Note also that the Base64 encoded string produced by MSXML contains newline characters (Unicode 10, decimal) every 73 (encoded) characters. My VB example handles these (and other) invalid Base64 characters. Whitespace preserving and stripping Whitespace stripping in MSXML2 was very unpredictable and hard to influence. Teun explains how to deal with whitespace issues. Introduction to MSXML and SAX2 Traditional XML parsers parse an entire XML file before you can do anything with the contents. If you're working with large files, this can be costly both in resources and time, particularly when all you want is a single piece of data buried deep within the file. Often, you just need to parse a portion of a file or process a file from start to end, extracting information from specific nodes. The Simple API for XML, SAX, currently in version 2, takes a whole different approach. Those who like open source software will love SAX. It was developed by participants on the XML-DEV mailing list and placed in the public domain by its primary author. Programming the SAX2 interfaces from Visual Basic This is a wrapper for the SAX2 implementation of the May 2000 MSXML release How is XML Used in ASP (a comparison of approaches) SAX takes a different approach to working with an XML document. It stays true to the parser concept by not building a data structure to represent the document. Instead, an application using the SAX API responds to events, such as the start and finish of an element, generated as the parser processes the incoming stream. SAX was developed when a group of interested programmers decided not to wait for the standards bodies to develop an event-driven XML API. Although it does not have the backing of a formal body, SAX is implemented in several parsers, including those from IBM. Since SAX-implementing parsers don't attempt to build a structure to represent the complete document, they can be highly efficient in their use of system resources. This makes them useful for working with very large documents or when the consumer is interested in only a small subset of the larger document. The burden of maintaining the larger picture, however, rests with the application. A list of parsers This is a collection of XML toolsets, parsers and XSLT processors. Most of the are free and come with the source code under public license. Some of them work under Windows and many of them are Java based. MSXML 3.0 and the Next Generation One thing the world doesn't seem to need another of is Yet Another XML Parser. But Microsoft is working hard to incorporate XML into virtually every product it ships, and key to the success of the effort is a robust XML parser. An XML parser lets you merge data, objects, and programs together by applying context to content. XML is a series of hierarchically arranged labels that, viewed through a parser, contain data and provides context to that data, functioning as both code and data. What's really happening is that by letting you write XML files that act as programs, XML parsers are changing XML from a simple hierarchical text file to a stand-alone programming environment. Using the Microsoft XML Engine with Visual Studio This session shows you how to use the Microsoft XML Parser with Visual Studio. Explore the object model. Learn how easy it is to use the parser in various applications, including using the parser to retrieve and generate XML data, storing the XML data on disk and as streams. This is recommended as a prerequisite to "Using XML in Business Applications." MSXML In-depth Features - Current and Future This session covers an in-depth overview of MSXML feature support, including the current and future functionality to be released via our Web Release program. Topics covered include standards support, extended parser features and performance enhancements, as well as new additions to the Microsoft XML Development Center.
Parser details
This is a page to assist you to get a grasp on the many
options you have when choosing a parser.
Notes on reading this page
- Please note that most of the links on this page open in a new window - this
is the symbol
.
- The downloadable
installation from Microsoft installs this new version in a "side by side" mode
with the older version by default. A separate installation program from Microsoft
(Xmlinst) must also be run to install the new MSXML 3.0 in "replace mode".
- To find out what each version of the Microsoft MSXML parser has implemented
according to the W3C XSLT recommendation, please see Teun Duynstee's excellent
XSLT Reference and XPath Reference.
Do you need the Windows Installer?
Windows Installer 2.0
Microsoft®
XML Core Services (MSXML) 4.0 uses Windows® Installer 2.0 If you do
not have this version,
MSXML XML Parser versions
MSXML 4.0 Service Pack 2
|
Go to the Microsoft website to
get the MSXML
SP2 downloads
|
MSXML
4.0 SP2
|
MSXML
4.0 SP2: Localized (Chinese,
Japanese, Korean, German, French, Italian, Spanish)
|
MSXML
4.0 SP2 SDK
|
MSXML 4
|
MSXML
4.0
(permanently available on TopXML) |
Merge
Modules and SDK (permanently available on TopXML) |
CAB
file for Redistribution (permanently available on TopXML) |
Documentation
|
Product
Information |
Important notice
Microsoft®
XML Core Services (MSXML) 4.0 uses Windows® Installer 2.0
You must read this if you previously installed any earlier
Technical Preview of MSXML 4.0 !!
Upgrade from preview releases to RTM is not supported. You should uninstall the preview before installing RTM. You might have to remove msxml4*.dll files manually.
VERSION NOTES
This is the RTM (supported, production quality) release of Microsoft®
XML Core Services (MSXML) 4.0, formerly called the Microsoft XML Parser.
This version has a number of improvements compared to MSXML 3.0:
- Support of the World Wide Web (W3) Consortium final recommendation
for XML Schema, with both DOM and SAX.
- Substantially faster XSLT engine. Our tests show about x4, and for
some scenarios x8, acceleration.
- New and substantially faster SAX parser, which is also available
in DOM with the NewParser property [use dom.setProperty("NewParser,"
true)].
- Better support for sequential architectures and streamed XML
processing based on SAX 2, including DOM-SAX integration and HTML
generation.
- Improved standards conformance and scalability. Specifically, the
following old, non-conformant technologies have been removed: old
XSL with XSLPattern; uuid namespaces for XDR; the proprietary XmlParser
object; and the normalize-line-breaks property in
SAX. Corresponding standard technologies (XSLT 1.0, XPath 1.0, and
http-based namespaces for XDR and SAX2) have been available since
MSXML 3.0
- True side-by-side functionality, which ensures that MSXML 4.0 can
work without any collision with previous or future versions of
MSXML. As a result, replace mode is removed completely. XmlInst.exe
will not work with this release. Version-independent ProgIDs, such
as DOMDocument, are also removed. You should use DOMDocument.4.0 to
get MSXML 4.0 functionality.
- A number of bug-fixes
IMPORTANT DOWNLOAD INSTRUCTIONS
There are three options to download MSXML 4.0 RTM:
- Use msxml4.msi to install MSXML on your computer. You can also save it on your local disk to install later.
- Use msxml4msms.exe to get the merge modules for both the component and SDK to include into you application setup.
- Use msxml4cab.exe to get the cab file, to redistribute MSXML over Internet (no SDK for this option).
Notices
Important notice: You must read this if you previously installed the April 2001 Technical Preview of MSXML 4.0. Because version-independent ProgIDs existed in the April release, but have been removed from MSXML 4.0, installing this release will make them non-functional. To avoid this, run the following two commands from the command line before installing this release.
regsvr32 /u msxml4.dll
regsvr32 msxml3.dll
This will restore version-independent ProgIDs to point to MSXML 3.0. It is important that you do this before installing this release. If you do not have regsvr32.exe on your computer, you can download it here.
|
July Version 4 Technology Preview (Version 4.0 preview)
|
Install
the parser |
Read
Introduction |
Product
Information |
VERSION NOTES
The July 2001
release of the Microsoft® XML Parser (MSXML) 4.0 Technology Preview is
a preliminary release of MSXML 4.0. This technology preview has a number
of improvements compared to the April release:
- XSD validation with SAX.
- XSD validation with DOM, using the schemaLocation attribute.
- Schema Object Model (SOM) to access schema information in DOM and
SAX.
- Substantially faster XSLT engine. Our tests show about x4, and for
some scenarios x8, acceleration (except the known serious
performance bug for xsl:keys).
- New and substantially faster SAX parser, which is also available
in DOM with the NewParser property [use dom.setProperty(“NewParser”,
true)].
- Old, non-conformant technologies are removed: Old XSL with
XSLPattern; uuid namespaces for XDR; proprietary XmlParser object;
normalize-line-breaks property in SAX. Corresponding standard
technologies (XSLT 1.0, XPath 1.0, http-based namespaces for XDR,
SAX2) have been available since MSXML 3.0.
- True side-by-side functionality, which ensures that MSXML 4.0 can
work without any collision with previous or future versions of
MSXML. As a result, replace mode is removed completely. XmlInst.exe
will not work with this release. Version-independent ProgIDs, such
as DOMDOcument, are also removed. You should use DOMDOcument.4.0 to
get 4.0 functionality.
This release uses Windows® Installer 2.0. If you do not have this
version, setup will automatically download and install it for you. Note
that you may ignore the request to close Internet Explorer, if you
encounter it.
IMPORTANT NOTICES
A must-read for people who previously installed the
April 2001 Technical Preview of MSXML 4.0! Because
version-independent ProgIDs have been removed from MSXML 4.0, but
existed in the April release, installing this latest release will make
them non-functional. To avoid this, run the following two commands from
the command line before installing this release:
regsvr32 /u msxml4.dll
regsvr32 msxml3.dll
This will restore version-independent ProgIDs to point to MSXML 3.0.
It is important that you do this before installing this release. If you
do not have regsvr32.exe on your computer, you can download
it here
(note, this is on Microsoft.com and may be removed
someday).
Attention Microsoft® Windows®
XP users
Windows XP side-by-side installation requires each
application to use an application manifest to request the particular
version of a component it wants to use. Otherwise, new components are
virtually invisible to the application. See the SDK documentation about
how to create and use application manifests. This only affects the
Windows XP platform.
|
Microsoft XML Parser 4.0 B2 and Windows XP (April information)
|
Read
the entire article |
VERSION NOTES
Microsoft® Windows® XP enables applications to safely share
assemblies. When MSXML 4.0 is installed on Microsoft Windows XP, it is
installed as a shared side-by-side assembly. A shared side-by-side
assembly is installed by Windows Installer into the managed assembly
store of the system. Side-by-side assemblies are authored so that
multiple versions can run at the same time without affecting each other.
These assemblies are not registered globally on the system, but they are
globally available to applications that specify a dependence on the
assembly in application manifests.
Windows XP Side-by-Side installation should not be confused with the
side-by-side installation provided in previous versions of MSXML. The
previous side-by-side installation was based on changing GUIDs and
ProgIDs. Windows XP, however, supports the side-by-side use of objects
from different versions identified with the same ProgIDs and GUIDs.
This release uses Windows Installer 1.0 which is already installed in
Windows 2000 and Windows XP. Or you can get it here.
|
April Version 4 Technology Preview (Version 4.0 preview)
|
Install
the parser (permanently available on TopXML) |
Product
Information |
VERSION NOTES
From Version 4.0 Technology Preview
onwards, you need the Windows Installer. If you are running Windows
2000 (or above), then you already have this installer and there is no need to reinstall this tool! If not then download the Windows Installer Redistributable for Windows 95 and Windows 98
or download the Windows Installer Redistributable v1.1 for Windows NT 4.0 (x86)
- both of these links
are on Microsoft.com and may be removed someday.
|
April 16 Service Pack 1 (Version 3.0)
|
Install
the parser (permanently available on TopXML) |
Product
Information |
January 11 Redistribution Package (Version 3.0)
|
Get
the redistributable (permanently available on TopXML) |
Product
Information |
VERSION NOTES
From Version 3.0 Redistribution onwards
you don't need IE5+ to install MSXML.
|
2000 - November Release (Version 3.0)
|
Install the parser
(permanently available on TopXML) |
Install the SDK
(permanently available on TopXML) |
Product
Information |
2000 - September Release
|
Install the parser (permanently available on TopXML) |
Install the SDK
(permanently available on TopXML) |
Product
Information |
2000 - July Release
|
Install the parser (permanently available on TopXML) |
Install the SDK
(permanently available on TopXML) |
Product
Information |
2000 - March Release
|
Install the parser (permanently available on TopXML) |
Install the SDK
(permanently available on TopXML) |
Product
Information |
VERSION NOTES
IE4 had the first version of the MSXML
Parser (1.0). Then IE5 had the next version (2.0) which had
significant differences. From then until Version 3.0
Redistribution came out you always had to have IE5 to install those
MSXML versions. From MSXML 3.0 onwards the license doesn't require
you don't need to install IE5+.
|
MSXML
Version 3 in localized versions
|
Product
Information |
Xmlinst
|
Install
(permanently available on TopXML) |
Product
Information |
VERSION NOTES
Change the parsers from side-by-side to replace
mode
|
In case anyone is wondering, Microsoft keep moving stuff and it creates a
LOT of broken links and maintenance on our side, so we store the versions on our servers
is so that a year from now you will still be able to find it and install it.
Minimum Requirements
We would recommend that the minimum requirement for installing any
of these releases is Internet Explorer 5. You cannot install them without
the Microsoft Internet Explorer. NOTE: This does NOT apply to the
MSXML 3.0 MergeModule Redistribution Package - which can be redistributed
without Internet Explorer
|
Operating
System or Program
|
Internet
Explorer
|
MSXML
Version
|
|
Not applicable
|
Internet Explorer 4.0
|
1.0 File version: 4.71.1712.5
|
|
Windows 95, OEM Service Release 2.5
|
Internet Explorer 4.0a
|
1.0a File version: 4.72.2106.4
|
|
Not applicable
|
Internet Explorer 4.01, Service Pack 1 (SP1), 2.0
or Internet Explorer 5.0
|
2.0 File version: 5.0.2014.0206
|
|
Office 2000
|
Internet Explorer 5.0a
|
2.0a File version: 5.0.2314.1000
|
|
Windows 98, Second Edition
|
Internet Explorer 5.0b
|
2.0b File version: 5.0.2614.3500
|
|
Windows 95, Windows 98, or Windows NT 4.0
|
Internet Explorer 5.01
|
2.5a File version: 5.0.2919.6303
|
|
Windows 2000
|
Internet Explorer 5.01
|
2.5 File version: 5.0.2920.0
|
|
Windows 2000
|
Internet Explorer 5.01, Service Pack 1 (SP1)
|
2.5 Service Pack 1 (SP1) File version: 8 .0.5226
|
|
Windows 95, Windows 98, Windows NT 4.0, Windows
2000, or Windows 2000 Service Pack 1 (SP1)
|
Internet Explorer 5.5
|
2.5 Service Pack 1 (SP1) File version: 8.0.5226
|
MSXML DLL (v1-3) Version information
| Versions |
File name |
File version |
| 1.0 |
msxml.dll |
4.71.1712.5 |
| 1.0a |
msxml.dll |
4.72.2106.4 |
| 1.0 Service Pack 1 (SP1) |
msxml.dll |
4.72.3110.0 |
| 2.0 |
msxml.dll |
5.0.2014.0206 |
| 2.0a |
msxml.dll |
5.0.2314.1000 |
| 2.0b |
msxml.dll |
5.0.2614.3500 |
| 2.5 Beta 2 |
msxml.dll |
5.0.2919.38 |
| 2.5a |
msxml.dll |
5.0.2919.6303 |
| 2.5 |
msxml.dll |
5.0.2920.0 |
| 2.5 Service Pack 1 (SP1) |
msxml.dll |
8.0.5226 |
| 2.6 January 2000 Web Release |
msxml2.dll (January Web Release) |
7.50.4920.0 |
| 2.6 Beta 2 |
msxml2.dll |
8.0.5207.3 |
| 2.6 |
msxml2.dll |
8.0.6518.1 |
| 3.0 March 2000 Web Release |
msxml3.dll (March Web Release) |
7.50.5108.0 |
| 3.0 May 2000 Web Release |
msxml3.dll (May Web Release) |
8.0.7309.3 |
| 3.0 July 2000 Web Release |
msxml3.dll (July Web Release) |
8.0.7520.1 |
| 3.0 September 2000 Web Release |
msxml3.dll (September Web Release) |
8.0.7722.0 |
| 3.0 Release |
msxml3.dll |
8.0.7820.0 |
|
|