The crux of client-side XML Processing in IE5 (1/2) - exploring XML
The crux of client-side XML Processing in IE5
Had you tried to use the RSS2HTML stylesheet of column16 in Internet Explorer, you would have quickly noticed that it does not work in most versions of this browser. Digging into the Microsoft Developer Network (MSDN) documentation for a cause I came across the following paragraph in one article:
"If you've been watching the Microsoft® XML Web site (https://msdn.microsoft.com/xml), you've probably noticed the increased pace of MSXML releases. MSXML 2.0 shipped with Microsoft Internet Explorer 5.0 while MSXML 2.5 shipped with Windows® 2000. There was also an interim MSXML 2.6 release which included most of the features in the current 3.0 release with a few exceptions. There have also been several additional MSXML 3.0 releases this year."
For those of us who are less familiar with (and possibly less interested in ;-) Microsoft Windows internals: MSXML is a package that offers XML processing capabilities for the operating system in the form of:
- An XML parser
- An XSL processor
- Support for XSL patterns, XPath
For Windows, MSXML is packaged as a Dynamic Link Library (DLL) that contains several Component Object Model (COM) components, including the XML parser and XSL processor. These can be used by any other program, for instance a Web browser, to offer XML-related services, such as parsing and rendering XML data with XSL style sheets. If you found any XML-related services in Internet Explorer for the Macintosh let me know, because I didn't.
So not only are you limited in the platforms supported, you also have to develop different solutions for the various versions of the installed MSXML versions. Of course Microsoft strives to maintain backwards compatibility, but unfortunately this implies it is only safe to assume that the functionality of MSXML version 2.0 is available. (Version 1, which shipped with IE4, is fairly limited for real world usage.)
MSXML 2.0 was released before the W3C made XSL-T a recommendation, so before it was finalized. While most W3C developments went rather smoothly from first inception to finalization, this was not the case for XSL. Different requirements for browser display and print finally resulted in the split between XSL-T and XSL-FO. The syntax for navigating an XML tree changed from XSL patterns to XPath, which looks only slightly different but is incompatible. While this was not foreseeable, Microsoft (and all its customers) is now stuck with non-standard XML implementations as their least common denominator across all current Windows machines.
The following table illustrates the supported APIs in different versions of MSXML:
MSXML version | 1.0 | 2.0 | 2.5 | 2.6 | 3.0 |
---|---|---|---|---|---|
Installed with | IE4 | IE5 | Win 2000 | MSDN | MSDN |
DLL | msxml.dll | msxml.dll | msxml.dll | msxml3.dll | msxml3.dll |
MS-DOM | X | - | - | - | - |
W3C DOM | - | X | X | X | X |
XSL Patterns | - | X | X | X | X |
XPath | - | - | X | X | X |
SAX | - | - | - | - | - |
SAX2 | - | - | X | X | X |
Let's try to adapt the RSS2HTML Stylesheet to use the deprecated XSL Patterns.
Produced by Michael Claßen
All Rights Reserved. Legal Notices.
URL: https://www.webreference.com/xml/column20/index.html
Created: Sep 26, 2000
Revised: Sep 26, 2000