I thought you might find this of relevance to your work.
Andrew Watt
Forwarded message 1
In a message dated 20/09/00 01:41:17 GMT Daylight Time, tatsu2000@hotmail.com
writes:
> 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.
Ben,
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)
3. XSL-FO
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