BizTalk Utilities CV ,   Jobs ,   Code library  
 
 

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 This link goes offsite in a new window, the file might have been moved.
  • 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  This link goes offsite in a new window, the file might have been moved
     MSXML 4.0 SP2  This link goes offsite in a new window, the file might have been moved
     MSXML 4.0 SP2: Localized (Chinese, Japanese, Korean, German, French, Italian, Spanish)  This link goes offsite in a new window, the file might have been moved
     MSXML 4.0 SP2 SDK  This link goes offsite in a new window, the file might have been moved

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 This link goes offsite in a new window, the file might have been moved
     Product Information This link goes offsite in a new window, the file might have been moved
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:

  1. Use msxml4.msi to install MSXML on your computer. You can also save it on your local disk to install later.
  2. Use msxml4msms.exe to get the merge modules for both the component and SDK to include into you application setup.
  3. 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 This link goes offsite in a new window, the file might have been moved
     Product Information This link goes offsite in a new window, the file might have been moved
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 This link goes offsite in a new window, the file might have been moved (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 This link goes offsite in a new window, the file might have been moved
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 This link goes offsite in a new window, the file might have been moved
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 This link goes offsite in a new window, the file might have been moved
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 This link goes offsite in a new window, the file might have been moved

2000 - September Release

     Install the parser (permanently available on TopXML)
     Install the SDK (permanently available on TopXML)
     Product Information This link goes offsite in a new window, the file might have been moved

2000 - July Release

     Install the parser (permanently available on TopXML)
     Install the SDK (permanently available on TopXML)
     Product Information This link goes offsite in a new window, the file might have been moved

2000 - March Release

     Install the parser (permanently available on TopXML)
     Install the SDK (permanently available on TopXML)
     Product Information This link goes offsite in a new window, the file might have been moved
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 This link goes offsite in a new window, the file might have been moved

Xmlinst

     Install (permanently available on TopXML)
     Product Information This link goes offsite in a new window, the file might have been moved
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
 

Recent Jobs

Sr. Software Engineer - Analytics
Immediate Mainframe openings for Ch
Immediate TANDEM-TAL openings for C
Immediate ASP.NET/C# Openings for C
Sr. Software Engineer

View all Jobs (Add yours)
View all CV (Add yours)



spfxmasks
water softener
Teleconference
Host Department NOLIMIT Web Hosting
MSN
sunglasses
conference calling


    Email TopXML  

Front Page Daily Stuff TopXML Forum XML blogs XML Newsgroups BizTalk Biztalk Utilities Biztalk Utilities Tutorial B2B SAP XML Microsoft .NET Dotnet System XML Soapformatter SQLXML XMLserializer XQuery PHP PHP SimpleXML PHP XML Dom PHP XML RPC PHP XSLT Java Java Java XML Xalan Microsoft ASP ASP Schemas XML SQL Server XML XMLDom XSL XSL Tutorial XSLT Stylesheets General Javascript CSS XHTML WAP