O'Reilly logo

Amazon Hacks by Paul Bausch

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Transform AWS Results to HTML with XSLT

Amazon’s XSLT service performs transformations on their servers, which can save you coding time.

If the goal of your Web Services requests is to display the information as HTML on a web site, it might be worth investigating the AWS XSLT capabilities. The extensible stylesheets language (XSL) is a way to transform XML into web-friendly HTML. The stylesheet defines how data should be placed within a design. Instead of parsing the XML document with code on your end, Amazon allows you to specify an XSL file that they then transform on their server and send back the formatted HTML. As with any method, there are advantages and drawbacks. First, the positives:

  • Saves time coding.

  • Easily included with existing code.

  • Shifts some processing to Amazon’s server.

  • No need to install additional software on your server.

Alas, the drawbacks:

  • You need to know XSL.

  • Harder to debug.

  • Can’t cache the results locally.

  • You can only work with the results of one request (no multi-query looping [Hack #81]).

The Code

XSL stylesheets look similar to HTML. Don’t be fooled by the similarities, though—XSL must be valid XML, which means it’s not forgiving about unclosed or mismatched tags. It’s a bit more strict, but as you’ll find out, it can be much more powerful.

XSL stylesheets are organized into templates within the document that correspond to parts of the XML document. To try out a simple XSLT example, copy the following code into a file called list.xsl :

<?xml version="1.0" encoding="UTF-8" ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required