XSL Basics (part 1) - A Quick History Lesson (
Page 2 of 6 )
Before we begin, I'll spend a few minutes discussing the
need and rationale for XSLT.
XSL, the Extensible Stylesheet Language, is a general-purpose language to define
the presentation and formatting of XML data. While XSL originally started out
as a single language, development quickly split it into two independent components:
a language for "transforming" XML documents by reorganizing and restructuring
XML data trees (known as XSLT), and an XML vocabulary to handle the formatting
and layout of the result (now known as XSL or, sometimes, XSL-FO).
XSLT originated as a subset of the Document Style Semantics and Specification
Language, or DSSSL, which was developed to control the presentation of SGML documents.
The very first XSL proposal was submitted to the W3C in August 1997, and was followed
by the formation of a W3C Working Group in January 1998. The first Working Draft
for XSL 1.0 made its appearance in July 1998, with the W3C Recommendation appearing
a little over a year later, in November 1999. Work is now on to bring the second
version of the language, XSLT 1.1, to Recommendation status, with new Working
Drafts appearing at irregular intervals on the W3C's Web site.
Quick aside: if you think about it, it's kind of fitting that the transformation
language for XML (which is itself a subset of SGML) should also originate from
the same family.
The need for XSL and its related technologies arises on account of the fact that
XML merely describes data; it includes no formatting instructions or display specifications.
Consequently, a stylesheet (or set of stylesheets) is necessary in order to make
practical use of the information encoded within an XML document. By separating
presentation semantics from data, it becomes possible to display multiple views
of the same data, export the same information to a variety of different formats,
and make a clear distinction between the twin activities of data compilation and
data presentation.
This tutorial will focus exclusively on XSLT, which offers some high-level tools
to reorganize data from am XML document into a completely new form; these tools
allow document authors to select individual nodes, group them into different combinations,
and perform arithmetic and string operations on them to generate new views of
the same data.