MS XML paser only works with IE...

Charles Kerr cskerr at geocities.com
Mon Nov 24 18:58:26 GMT 1997


(For those of you reading this on the xml-dev mailing
list, the article referred to in this letter is at
http://www.javalobby.org/jn001.htm#xml.  WORA == Write
Once, Run Anywhere)

> Stating that MSXML is "Arguably the best XML parser for Java
> today" I think is in error and inconsistent with the stated
> views of the Java Lobby and our commitment to WORA.
> MSXML is not 100% pure and the DSO (Data Source Object)
> applet only works with MS IE 4.0 browsers.
> 
> These imports are hidden in the source
> import com.ms.com.*;
> import com.ms.com.IUnknown;
> import com.ms.com.Variant;
> import com.ms.osp.*;
> import netscape.javascript.JSObject;
> 
> Not only that, but with this release of MSXML it appears
> that Microsoft is attempting to fragment the XML community
> by encouraging the use of non-standard </> end tags and other
> things like the inline '&' that break XML. I can only conclude
> that Microsoft is giving MSXML away for free --once again-- in
> order to fragment the emerging XML standard. This is not a Java
> application, and MSXML is something we should NOT endorse
> or support.

The MSXML dependencies on Windows are apparently trivial and
fixable.  Equally important, the MSXML EULA grants the right
to redistribute such modified code.  See the three letters
(from the xml-dev mailing list) that I include at the end of
this letter for more information.  What I'd like to see is
someone post these fixes so that each person wanting the
portable version doesn't have to make the changes by hand.
If anyone does this (clovett, you listening? :) and lets me
know, I'll write it up in the news.

Regarding MSXML's break with the XML spec, I was unaware of
the </> and & notation -- it was discussed in the xml-dev
mailing list right before I joined.  It looks like Microsoft
is, for once, interested in hearing constructive feedback.
In particular Chris Lovett (clovett at microsoft.com) has
encouraged such feedback.  Anyone interested in this topic
should send him polite mail requesting that MS stick to the spec.

I can understand why you would be upset about this.
The splintering by Microsoft of a great new technology is
something that Java programmers seem mysteriously sensitive
to. ;)  And once you've written a body of code to work with
the MSXML API it will be a nuisance to rewrite it if MS
diverges even further from the Java or XML specs in the
future.  Nevertheless, I'll stand by my statement that MSXML
is arguably the best XML parser for Java today.  I commend MS
for their great work and challenge others to add some
competition. Lark (http://www.textuality.com/Lark/) is
one promising alternative to MSXML but doesn't have as many
features.

I'm cc'ing this to the xml-dev mailing lists in the hopes
that it will rekindle the discussion of the importance of
sticking to the specs.

Charles
cskerr at geocities.org
--
Unite for Java!  http://www.javalobby.org/


------------------------------------------------------
Exerpts from three letters on the xml-dev mailing list
regarding XML's ties to Windows

[1]
> Windows dependency of MSXML is minimal.  All you have to do
> is following:
> 1. remove com.ms.xml.dso package.
> Delete the class files from the jar and/or comment it out of
> the makefile. DSO is accessed by some of the samples but none
> of the other MSXML packages.
> 2. remove dependency on com.ms.xml.xmlstream package.
> Latest version of MSXML includes an alternate XMLInputStream
> class located inside the 'make' directory.  Replace
> com.ms.xml.util.XMLInputStream with the alternate version to
> remove dependency on com.ms.xml.xmlstream package.
> WIth above two changes, you will end up with a pure-Java version
> of MSXML.  MSXML is the most complete XML parser available
> right now and you get the source code on top of it.  I would
> be smiling by now if I were you :-)

[2]
> The parser uses a newly-defined Interface to a stream library
> that is specific to XML.  The parser does not use the
> implementations of streams provided in the JDK 1.1 packages for
> the internet.  I believe that this has to do with byte-ordering
> problems in those implementations.  I have not checked this
> for myself.  The interface per se has no platform dependencies.
> It is shipped with two implementations.  One implementation
> is specific to Windows, the other is generic Java using JDK
> packages.  Neither has the byte-order flaw.  You may
> use whichever one you prefer.  Both work.  The generic one has
> lower performance.
> --Andrew Layman AndrewL at microsoft.com

[3]
> How 'bout that!  Microsoft's EULA even grants us the right
> to redistribute such modified code.  Quite generous of them,
> I must say.  Microsoft just went up a point in my rating system.
> I am indeed smiling now.  :-)
> My apologies to the MSXML team.
> --
> Joe Lapp (Java Apps Developer/Consultant)
> Unite for Java! - http://www.javalobby.org
> jlapp at acm.org

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list