Buzzword Buster – Stylesheets, XSL and XSLT

Stylesheet

A Stylesheet language or style language, is a computer language used to describe the presentation of structured documents. A structured document which doesn’t break the schema it is designed to conform to is “well-formed”.

One modern Stylesheet language with widespread use is Cascading Style Sheets (CSS), which is used to style documents written in HTML, XHTML, SVG, XUL, and other markup languages. One of the most attractive features of structured documents is that the content can be reused in many contexts and presented in various ways. Different Stylesheets can be attached to the logical structure to produce different presentations.

In order for content in structured documents to be presented, a set of stylistic rules – e.g. colours, fonts, layout – must be applied. A collection of stylistic rules is called a Stylesheet.

XSL

XSL stands for EXtensible Stylesheet Language.

CSS = Stylesheets for HTML – HTML uses predefined, well understood tags, you can use CSS to tell a browser to display an element in a special font or colour, etc.

XSL = Stylesheets for XML – XML does not use predefined tags and therefore the meaning of each tag is not well understood. XSL describes how the XML document should be displayed!

XSL consists of 3 parts:

  • XSLT – a language for transforming XML documents
  • XPath – a language for navigating in XML documents
  • XSL-FO – a language for formatting XML documents

XSLT

XSLT stands for XSL Transformations, it is a declarative, XML-based language used for the transformation of XML documents into other XML documents.

The original document is unchanged, after the transformation the new document maybe serialised by the processor in standard XML syntax or in another format such as HTML or plain text.

With XSLT you can add/remove elements and attributes to or from the output file. You can also rearrange and sort elements, perform tests and make decisions about which elements to hide and display, and a lot more.

A common way to describe the transformation process is to say that XSLT transforms an XML source-tree into an XML result-tree.

XSLT uses Xpath to find information in an XML document. Xpath is used to navigate through elements and attributes in XML documents.

In the transformation process, XSLT uses Xpath to define parts of the source document that should match one or more predefined templates. When a match is found, XSLT transform the matching part of the source document into the result document.

Further reading:

W3C schools XSLT Tutorial