<?XSL?> - Oh what a tangled web w3 weave :)

This post is a plea for a beginning in consistent use of the term "XSL" in 
W3C documents. The current CR stage of XSL-FO and the first WD of XSLT 1.1 
give an opportunity to W3C to remove longstanding inconsistent usage and to 
introduce coherence and consistency.

For those who have not yet considered the problem let me summarise the 
difficulty and inconsistency by the use of two "equations" which summarise 
two mutually contradictory positions about what "XSL" is which are taken 
(implicitly or explicitly) in the current versions of W3C documents.

To avoid ambiguity I use the term "XSLT" to indicate XSL Transformations and 
the term "XSL-FO" to indicate XSL Formatting Objects.

The two equations are:
    XSL = XSLT + XSL-FO (see e.g. Abstract of XSL-FO CR)
    XSL = XSL-FO

Stated as baldly as this I expect to elicit howls of protest along the lines 
of "Of course XSL is the summation of XSLT and XSL-FO". But the statements 
currently present in various W3C documents contradict this assumed clarity 
and consistency.

Let me illustrate. .... In the XSLT 1.0 Recommendation of November 1999 it is 
stated in the Abstract, "XSLT is also designed to be used independently of 
XSL.", a statement which cannot be true if XSL = XSL-FO + XSLT (XSLT cannot 
be used independently of "XSL" since XSLT is _part of_ "XSL") and 
contradicts, for example, the Abstract of the XSL-FO CR. However it also 
contradicts the position taken earlier in the Abstract of XSLT 1.0: "In 
addition to XSLT, XSL includes ....". So, seems to be "included in" XSL but 
is also can be used independent of it. Something doesn't add up. Thus, in the 
XSLT 1.0 Recommendation (and repeated verbatim in the XSLT 1.1 WD) we have 
the use of both "equations". Which equation is true? Does XSL = XSL-FO + XSLT 
or is XSL = XSL-FO? XSLT 1.0 effectively uses these two mutually 
contradictory positions within a few lines of each other.

The same inconsistency also appears in the current XSL-FO CR. As mentioned 
above the Abstract indicates unequivocally that XSL includes both XSLT and 
XSL-FO. But in Section 2, confusingly labelled "Introduction to XSL 
Transformations" it is stated, "The XSL namespace has the URI 
http://www.w3.org/1999/XSL/Format.". The placement of a statement about the 
XSL-FO namespace in a section on XSLT is confusing enough. But if, as the 
Abstract of the CR states, XSL = XSL-FO + XSLT then there are two "XSL" 
namespaces viz. http:www.w3.org/1999/XSL/Format AND 
http://www.w3.org/XSL/Transform, not one as the XSL-FO CR states.

There are many ways of slicing up these inconsistencies but, in my view, they 
are founded in the use of "XSL" in the same documents to have two distinct 
meanings. Is "XSL" the same as "XSL-FO + XSLT"? Or is "XSL" the same as 
"XSL-FO"?

I hope these two examples serve to illustrate the ambiguity or inconsistency 
of the use of the term "XSL" in current W3C documents. I could, quite 
possibly, go on at length about how the inconsistency plays out in various 
W3C documents. Rather, I think it is more important to find a solution that 
is logical, clear and consistent.

My suggestion for how to move toward coherence would be:

1. Confine the generic term "XSL" to situations which refer to XSLFO _and_ 
XSLT collectively.
2. When referring to XSL Formatting Objects the abbreviation to be used 
should be either "XSL-FO" or "XSLFO".
3. When referring to XSL Transformations the abbreviation used should be 
"XSL-T" or "XSLT".
4. It should be recognised that there are two "XSL Namespaces". The XSLT 
Namespace is http://www.w3.org/1999/XSL/Transform. The XSL-FO Namespace is 
http://www.w3.org/1999/XSL/Format.
5. The confusing "indicative prefix" (my term) for those two namespaces 
should be corrected/made consistent. I would suggest that the XSLT namespace 
use the "indicative prefix" of "xslt" rather than "xsl" i.e. the present 
<xsl:stylesheet> element would become <xslt:stylesheet>. Similarly the "fo" 
indicative prefix would become "xslfo" i.e. <fo:root> would become 
<xslfo:root>.

I would propose that the W3C Core XML Group (do I have the terminology 
correct?) review the current inconsistency in terminology and give clear, 
unambiguous guidance on which meaning "XSL" has in W3C documents.

<side_issue>
[ With regard to the more specific problem relating to the naming of the 
current XSL-FO CR could that not be called the "Extensible Stylesheet 
Language Formatting Objects, XSL-FO" Recommendation in due time? And could 
another very short "XSL" REC indicate that XSL version 1.0 subsumes the XSLT 
REC of November 1999 and the XSL-FO REC, currently at CR stage? Then when 
XSLT 1.1 is finalised "XSL 1.1" could be defined as "XSL-FO 1.0" plus "XSLT 
1.1"? Just a thought. :) ]
</side_issue>

Consistent usage of the term "XSL" is desirable. With the current fluidity of 
a XSL-FO CR and an XSLT 1.1 WD there is an early opportunity for W3C to 
introduce consistency where hitherto inconsistent and confusing usage of the 
term "XSL" has been rather too visible.

Andrew Watt

Received on Friday, 5 January 2001 06:16:13 UTC