Book HomeXSLSearch this book

2.2. 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.

2.2.1. 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.

2.2.2. 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.

2.2.3. 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. The results of the transformation are written to the file greeting.html. Check the output file in your favorite browser to make sure the transform worked correctly.

2.2.4. Stylesheet Results

The XSLT processor generates these results:

<html>
<body>
<h1>
  Hello, World!
</h1>
</body>
</html>

When rendered in a browser, our output document looks like Figure 2-1.

Figure 2-1

Figure 2-1. HTML version of our Hello World file

Congratulations! You've now used XSLT to transform an XML document.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.