Re: MSIE5b2 compliance with latest XSL-WD?

Subject: Re: MSIE5b2 compliance with latest XSL-WD?
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 21 Dec 1998 17:06:26 -0500
To: XSL List <xsl-list@xxxxxxxxxxxxxxxx>

At 98/12/21 11:27 -0500, Paul_Tihansky@xxxxxxxxxxxx wrote:
>     I realized that Microsoft had implemented a few features in MSIE5b2
>that supposedly jumped the gun on the 19981216 XSL Working Draft.  Now that
>the new Working Draft  is out, could someone summarize whether MSIE5b2 is
>in compliance.  

Not!  ... though, of course, compliance isn't defined yet ... I will say
with certainty they aren't in alignment with the new Working Draft.

Even though Microsoft states in their documentation ...

    "This release supports the transformation part of the W3C 
     XSL specification.  Microsoft is tracking the W3C working 
     draft and will be updating this implementation to match 
     the final W3C recommendation."

.... their IE5b2 appears to have incorporated a number of their proposals
to the W3C that are not available to us peons, or if so, aren't documented
well.

>And if not, where does it differ?  

Elements defined by W3C WD 1998-12-16:

xsl:apply-imports
xsl:apply-templates
xsl:arg
xsl:attribute
xsl:attribute-set
xsl:choose
xsl:comment
xsl:constant
xsl:contents
xsl:copy
xsl:counter
xsl:counter-increment
xsl:counter-reset
xsl:counter-scope
xsl:counters
xsl:element
xsl:for-each
xsl:id
xsl:if
xsl:import
xsl:include
xsl:invoke
xsl:macro
xsl:macro-arg
xsl:number
xsl:otherwise
xsl:pi
xsl:preserve-space
xsl:sort
xsl:strip-space
xsl:stylesheet
xsl:template
xsl:text
xsl:use
xsl:value-of
xsl:when

Elements documented as supported by Microsoft (but unfortunately not
documented well, so I can't tell how the behaviours differ from
W3C-specified behaviours; also, some are documented to not be supported "at
this time"):

xsl:apply-templates
xsl:attribute
xsl:cdata
xsl:choose
xsl:comment
xsl:copy
xsl:define-template-set
xsl:element
xsl:entity-ref
xsl:eval
xsl:for-each
xsl:if
xsl:node-name
xsl:otherwise
xsl:pi
xsl:script
xsl:stylesheet
xsl:template
xsl:value-of
xsl:when

Additional elements used in Microsoft-supplied examples (not document at all):

xsl:templates (I can assume this is xsl:define-template-set, but haven't
tested it)
xsl:nodeName (I can assume this is xsl:node-name, but haven't tested it)

Microsoft also states "The Microsoft XSL processor extends the basic syntax
in the XSL working draft to support more powerful pattern-matching
operations. These extensions have been proposed to the XSL Working Group at
http://www.w3.org/Style/XSL/Group/1998/09/XQL-proposal.html  (W3C members
only) and to the W3C at
http://www.w3.org/TandS/QL/QL98/pp/query-transform.html.";

Template Selection:

The W3C explicitly states "The order in which the children of the
xsl:stylesheet element occur is not significant except for xsl:import
elements and for error recovery. Users are free to order the elements as
they prefer, and stylesheet creation tools need not provide control over
the order in which the elements occur."

The Microsoft document doesn't talk about order, but I've witnessed that
behaviours are very different based on the order of template rules.  These
differing behaviours are not discussed anywhere that I can find.

Partial Conclusion:


I'm certain I haven't found near the number of incompatibilities there
are, but the above has been enough to greatly impact my productivity and I
haven't been able to get further than what I've summarized.  As a result of
the incompatibilities, I'm writing *all* of my stylesheets for a particular
client twice (very painfully), once for the W3C interpretation and once for
IE5b2 interpretation, with IE5b2 version being very "by guess and by
golly!" because their samples aren't documented and their documentation
isn't very explanatory, seeming to assume the user already knows a lot
about the Microsoft environment.  Most of my IE5b2 "learning" has been
wrestling with trial and error.

I've used the Microsoft public newsgroups without success, and I've tried
to contact Microsoft directly for more information than what is posted at
http://www.microsoft.com/workshop/xml/xsl/reference/start.asp and have
received only a terse response.  While at first one might think they have
numerous examples, the examples all exercise a very small subset of XSL
element types and almost exclusively follow the method of using actions
with SELECT rather than using templates with MATCH.  It appears none of
them correctly use <xsl:stylesheet> as a root element, though this is not a
biggie.

>If Microsoft is
>listening, please add this to your web site.

Yes ... PLEASE!!! ... and since the behaviours are not in alignment with
the WD, more explicit documentation would be *greatly* appreciated.
Certainly your engineers must have had more to work with than what is
available currently through SBN.  If more public information is available,
then I haven't been able to find it (which, of course, doesn't mean it
doesn't exist).

I am *very* interested in knowing how to make IE5b2 really show off XSL,
because as you (Microsoft) reach your documented "update to match the final
recommendation", these interim versions will be very visible to a lot of
people.  The more you can give us to work successfully with your tool, the
more we can do with your tool, and the more that people will get excited
about using XSL.  Unfortunately, while your proposals are still under
consideration by the W3C, the lack of complete documentation and
comprehensive examples doesn't help much at all when working with IE5b2 as
an outsider.

I honestly feel I have been spending an awful lot of unnecessary time
trying to grok the XSL in IE5b2, and I'm curious if others have experienced
the same problem, or is it just me?  If it is just me, then I "have some
'splainin to do" to my customer (as Ricky would say), but from some private
comments I've received, I've been pacified it is through no fault of my
own. :{)}

>Thanks to James Clark for being so responsive to developers' needs by
>providing a tool for testing the new Working Draft.

Amen!

......... Ken

(BCC a few people who may not be on the list; apologies to them if they get
duplicates)


--
G. Ken Holman         mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.  http://www.CraneSoftwrights.com/s/
Box 266,                                V: +1(613)489-0999
Kars, Ontario CANADA K0A-2E0            F: +1(613)489-0995
Training:   http://www.CraneSoftwrights.com/s/schedule.htm
Resources: http://www.CraneSoftwrights.com/s/resources.htm
Shareware: http://www.CraneSoftwrights.com/s/shareware.htm
Next XSL Training (see training link):   WWW8 - 1999-05-11


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread