Transforming Hello World

Continuing the tradition of Hello World examples begun by Brian Kernighan and Dennis Ritchie in The C Programming Language (Prentice Hall, 1988), we’ll transform a Hello World XML document.

Our Sample Document

First, we’ll look at our sample document. This simple XML document, courtesy of the XML 1.0 specification, contains the famous friendly greeting to the world:

<?xml version="1.0"?>
<greeting>
  Hello, World!
</greeting>

What we’d like to do is transform this fascinating document into something we can view in an ordinary household browser.

A Sample Stylesheet

Here’s an XSLT stylesheet that defines how to transform the XML document:

<xsl:stylesheet 
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     version="1.0">
  <xsl:output method="html"/>
        
  <xsl:template match="/">
    <xsl:apply-templates select="greeting"/>
  </xsl:template>
 
  <xsl:template match="greeting">
    <html>
      <body>
        <h1>
          <xsl:value-of select="."/>
        </h1>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

We’ll talk about these elements and what they do in just a minute. Keep in mind that the stylesheet is itself an XML document, so we have to follow all of the document rules we discussed in the previous chapter.

Transforming the XML Document

To transform the XML document using the XSLT stylesheet, run this command:

java org.apache.xalan.xslt.Process -in greeting.xml -xsl greeting.xsl 
  -out greeting.html

This command transforms the document greeting.xml, using the templates found in the stylesheet greeting.xsl

Get XSLT now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.