2.2. Transforming Hello WorldContinuing 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 DocumentFirst, 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 StylesheetHere'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 DocumentTo 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 ResultsThe 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. HTML version of our Hello World fileCongratulations! You've now used XSLT to transform an XML document. Copyright © 2002 O'Reilly & Associates. All rights reserved. |
|