出力に XML タグを直接生成することに加え、XML コンポーネントセットは XSLT のような複雑な仕事を簡単にするコンポーネントを幾つか提供します。
XML ドキュメントを他の形式に変換するには、次のように変換 コンポーネントを使用できます。
<?page contentType="text/html;charset=UTF-8"?> <x:transformer xsl="book.xsl" xmlns:x="http://www.zkoss.org/2007/xml"> <book> <title>ZK - Ajax without the JavaScript Framework</title> <for-who>Web application designers and programmers who wish to implement rich Ajax web applications in the simplest way.</for-who> <author>Henri Chen and Robbie Cheng</author> </book> </x:transformer>
ここで変換器は XML コンポーネントセットのコンポーネントです。それで、ネームスペースを指定します。でなければ、ネィティブネームスペースとみなされます。
そこで、book.xsl のコンテンツを次のように想定します。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <title>Book Info</title> </head> <body> <h1>Book Info</h1> <xsl:apply-templates select="book"/> </body> </html> </xsl:template> <xsl:template match="book"> <dl> <dt>Title:</dt> <dd><xsl:value-of select="title"/></dd> <dt>Who is this book for:</dt> <dd><xsl:value-of select="for-who"/></dd> <dt>Authors</dt> <dd><xsl:value-of select="author"/></dd> </dl> </xsl:template> </xsl:stylesheet>
すると、生成された XML 出力は次のような XHTML になるでしょう。
<html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Book Info</title> </head> <body> <h1>Book Info</h1> <dl> <dt>Title:</dt> <dd> ZK - Ajax without the JavaScript Framework</dd> <dt>Who is this book for:</dt> <dd> Web application designers and programmers who wish to implement rich Ajax web applications in the simplest way.</dd> <dt>Authors</dt> <dd> Henri Chen and Robbie Cheng</dd> </dl> </body> </html>