Saturday, December 18, 2010

Transforming Documents with XSLT

Transforming Documents with XSLT

Extensible Stylesheet Language Transformations, or XSLT, is a straightforward language that allows you to transform existing XML documents into new XML, Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML), or plain text documents. XML Path Language, or XPath, is a companion technology to XSLT that helps identify and find nodes in XML documents—elements, attributes, and other structures. If you want to deep learning or develop applications with XSLT using
one of the programming languages then you have to download one of the free e-books from

Here are a few ways you can put XSLT to work:

  1. Transforming an XML document into an HTML or XHTML document for display in a web browser;
  2. Converting from one markup vocabulary to another;
  3. Extracting plain text out of an XML document for use in a non-XML application or environment;
  4. Building a new German language document by pulling and repurposing all the German text from a multilingual XML document;

This is barely a start. There are many other ways that you can use XSLT, and you'll get acquainted with a number of them in the chapters that follow.

This articles assumes that you don't know much about XSLT, but that you are ready to put it to work. Through a series of numerous hands-on examples, Learning XSLT guides you through many features of XSLT 1.0 and XPath 1.0, while at the same time introducing you to XSLT 2.0 and XPath 2.0.

If you don't know much about XML yet, it shouldn't be a problem because I'll try also cover many of the basics of XML in this articles. The XML specification is located at

Another specification closely related to XSLT is Extensible Stylesheet Language, or XSL, commonly referred to as XSL-FO (see XSL-FO is a language for applying styles and formatting to XML documents. It is similar to Cascading Style Sheets (CSS), but it is written in XML and is somewhat more extensive. (FO is short for formatting objects.) Initially, XSLT and XSL-FO were developed in a single specification, but they were later split into separate initiatives.