出力に 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>