+<?xml version="1.0"?>
+<!-- Copyright (C) 2000 Daiki Ueno. -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:output method="xml" encoding="UTF-8"/>
+ <xsl:output doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"/>
+
+ <xsl:template match="products">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>SEMI family products</title>
+ <meta content="text/html" http-equiv="Content-Type"/>
+ <link href="default.css" type="text/css" rel="stylesheet" />
+ <meta content="text/css" http-equiv="Content-Style-Type" />
+ </head>
+ <body>
+ <xsl:apply-templates select="product"/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="product">
+ <h2><xsl:value-of select="@name"/>/<xsl:value-of select="@version"/></h2>
+ <xsl:apply-templates select="variant"/>
+ </xsl:template>
+
+ <xsl:template match="variant">
+ <table border="1" width="99%">
+ <tbody>
+ <tr>
+ <th width="17%">name</th>
+ <td><xsl:value-of select="@name"/></td>
+ </tr>
+ <tr>
+ <th>version</th>
+ <td><xsl:value-of select="@version"/></td>
+ </tr>
+ <tr>
+ <th>maintainer</th>
+ <td>
+ <xsl:choose>
+ <xsl:when test="maintainer/@href">
+ <a href="{maintainer/@href}"><xsl:value-of select="maintainer"/></a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="maintainer"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+ <tr><th>description</th><td><xsl:value-of select="description"/></td></tr>
+ <xsl:apply-templates select="implementation"/>
+ </tbody>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="implementation">
+ <xsl:apply-templates select="codebase"/>
+ <xsl:apply-templates select="dependency"/>
+ </xsl:template>
+
+ <xsl:template match="codebase">
+ <tr>
+ <th>code</th>
+ <td>
+ <xsl:choose>
+ <xsl:when test="@cvsroot">
+ <table>
+ <tbody>
+ <tr><th>CVSROOT</th><td><xsl:value-of select="@cvsroot"/></td></tr>
+ <tr><th>module</th><td><xsl:value-of select="@module"/></td></tr>
+ <tr><th>tag</th><td><xsl:value-of select="@tag"/></td></tr>
+ </tbody>
+ </table>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="@href"><xsl:value-of select="@href"/></a>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="separate">
+ <xsl:if test="position() < last()">
+ <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="variant|product" mode="dependency.mode">
+ <xsl:value-of select="@name"/> (<xsl:value-of select="@version"/>)
+ <xsl:call-template name="separate"/>
+ </xsl:template>
+
+ <xsl:template match="dependency">
+ <tr>
+ <th>dependency</th>
+ <td>
+ <xsl:apply-templates select="./*" mode="dependency.mode"/>
+ </td>
+ </tr>
+ </xsl:template>
+</xsl:stylesheet>