XSL and XSLT terminology - Confusion introduced at W3C

Subject: XSL and XSLT terminology - Confusion introduced at W3C
From: AndrewWatt2000@xxxxxxx
Date: Wed, 20 Sep 2000 09:33:07 EDT
In a message dated 20/09/00 01:41:17 GMT Daylight Time, tatsu2000@xxxxxxxxxxx 

> I have recently become confused between the difference of XSLT and actual 
>  XSL.  I also have not been able to ratianalize the difference between a 
>  parser and a processor... does anyone know of a page or source of 
>  information to shed light on this?  I realize that it is rather elementary 
>  but I have been unable to identify any sources of information that are 
>  understandable.


There is genuine confusion about the distinction between the XSL/XSLT terms 
you ask about.

In part, the confusion of terminology has been introduced at the W3C.

Let me first, before going on to describe how the confusion arose, list the 
usages of the term "XSL" which I am aware of:

1. A proprietary now obsolete Microsoft technology which had functionality 
fairly similar to XSLT but which included a number of proprietary extensions.
2. A combination of XSLT and XSL-FO (XSL Formatting Objects)
4. Some loose, often undefined, combination of any of 1, 2 and 3

W3C has used "XSL" in more than one way.

For example, in the current draft of "Extensible Stylesheet Language" it is 
explicity stated that XSL includes both XSLT and XSL-FO, although those 
abbreviations are not used in that context. (See the abstract of the Working 
Draft of 27th March 2000).

However, that usage is a departure from the usage within the XSLT 
Recommendation of 16th November 1999. In the abstract of that recommendation 
it is stated that, "XSLT is also designed to be used independently of XSL.". 
Clearly "XSL" was used in that context to mean what I call XSL-FO.

If the usage in the March 2000 draft is correct then the November 1999 usage 
has to be a nonsense - implying that parts of XSL can be used independently 
of XSL.

The W3C Recommendations have been a substantive achievement. It is not 
surprising that terminology has some loose ends - what one might call a 
tangled semantic web. :)

There is a need  for W3C to introduced greater consistency in usage of 
terminology relating to XSL.

I would suggest that the most logical usage is as follows:
1. XSL - to refer to the combination of XSLT and XSL-FO
2. XSLT - to refer to the transformations described in the 16th November 1999 
Recommendation (and any future revisions)
3. XSL-FO - to refer to the so-called XSL Formatting Objects.

In my view the incorrect usage is that in the November 1999 XSLT 
Recommendation. XSLT, in my view, cannot be used independently of XSL since 
XSLT is an integral part of XSL. Of course, XSLT can be used independently of 
XSL-FO but that is a separate distinction.

W3C has, within the last few months, appointed a member of staff whose 
function is to, I gather, reduce the number of such editing / usage problems. 
I think it is too early to gauge what impact that appointment has had.

Clearly it is important that W3C increase effort in avoiding such problems. 
As the XML community grows the number of man hours wasted because of such 
inconsistencies is not a trivial issue.

To answer your first question. There is (or should be) no difference between 
an XML parser and an XML processor. The XML 1.0 Recommendation uses the term 
XML processor to refer to what is colloquially called an XML parser.They are 
one and the same. Of course, an XML processor and an XSLT processor are not 
the same.

Again, Microsoft muddies the waters. Microsoft's "XML parser" is in fact a 
combined XML processor and (very recently) an XSLT processor (as opposed to 
the proprietary so-called "XSL" which Microsoft released in 1998). The July 
2000 Preview Release of MSXML3 is the first that can, in my view, accurately 
be referred to as including an XSLT processor, although there is still a 
little way to go to achieve 100% compatibility with the XSLT Recommendation.

I hope that helps.

Andrew Watt

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

Current Thread