| <?xml version="1.0"?> |
| <!-- |
| Copyright 2004 The Apache Software Foundation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- $Id$ --> |
| <xsl:stylesheet |
| xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| version="1.0"> |
| |
| <xsl:import href="copyover.xsl"/> |
| |
| |
| <!-- FIXME (JJP): bugzilla is hardwired --> |
| <xsl:variable name="bugzilla" select="'http://nagoya.apache.org/bugzilla/buglist.cgi?bug_id='"/> |
| |
| <xsl:param name="bugtracking-url" select="$bugzilla"/> |
| |
| <xsl:template match="/"> |
| <document> |
| <header> |
| <title>History of Changes</title> |
| </header> |
| <body> |
| |
| <p><link href="changes.rss"><img border="0" src="images/rss.png" alt="RSS"/></link></p> |
| |
| <xsl:apply-templates select="status/changes"/> |
| <xsl:apply-templates select="status/votes"/> |
| |
| </body> |
| </document> |
| </xsl:template> |
| |
| |
| <xsl:template match="changes"> |
| |
| <section> |
| <title>Recent Changes</title> |
| |
| <xsl:apply-templates/> |
| </section> |
| |
| </xsl:template> |
| |
| |
| |
| <xsl:template match="release"> |
| <section id="{@version}"> |
| <title>Version <xsl:value-of select="@version"/> (<xsl:value-of select="@date"/>)</title> |
| <table> |
| <xsl:apply-templates/> |
| </table> |
| </section> |
| </xsl:template> |
| |
| <xsl:template match="action"> |
| <tr> |
| <td> <icon src="images/{@type}.jpg" alt="{@type}"/> </td> |
| <td> <xsl:apply-templates/> </td> |
| |
| <td><xsl:value-of select="@dev"/> |
| |
| <xsl:if test="not(@dev)"> |
| <!-- This is a lot of work; perhaps we should change the document2html.xslt to |
| output the space inside otherwise empty TD table cells. In addition, this approach |
| doesn't gel well with the PDF output (" " appears inside the table cell. --> |
| <xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text> |
| </xsl:if> |
| |
| </td> |
| |
| <td> |
| |
| <xsl:if test="not((@due-to and @due-to!='') or @fixes-bug)"> |
| <xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text> |
| </xsl:if> |
| |
| <xsl:if test="@due-to and @due-to!=''"> |
| <xsl:text> Thanks to </xsl:text> |
| <xsl:choose> |
| <xsl:when test="@due-to-email and @due-to-email!=''"> |
| <link href="mailto:{@due-to-email}"> |
| <xsl:value-of select="@due-to"/> |
| </link> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="@due-to"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:text>.</xsl:text> |
| </xsl:if> |
| |
| <xsl:if test="@fixes-bug"> |
| <xsl:text> Fixes </xsl:text> |
| <xsl:call-template name="print-bugs"> |
| <xsl:with-param name="buglist" select="translate(normalize-space(@fixes-bug),' ','')"/> |
| </xsl:call-template> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="contains(@fixes-bug, ',')"> |
| <!-<link href="{$bugtracking-url}{translate(normalize-space(@fixes-bug),' ','')}">-> |
| <link href="{$bugtracking-url}"> |
| <xsl:text>bugs </xsl:text><xsl:value-of select="normalize-space(@fixes-bug)"/> |
| </link> |
| </xsl:when> |
| <xsl:otherwise> |
| <link href="{$bugtracking-url}{@fixes-bug}"> |
| <xsl:text>bug </xsl:text><xsl:value-of select="@fixes-bug"/> |
| </link> |
| </xsl:otherwise> |
| </xsl:choose> |
| --> |
| <xsl:text>.</xsl:text> |
| </xsl:if> |
| </td> |
| </tr> |
| </xsl:template> |
| |
| <!-- Print each bug id in a comma-separated list --> |
| <xsl:template name="print-bugs"> |
| <xsl:param name="buglist"/> |
| <xsl:choose> |
| <xsl:when test="contains($buglist, ',')"> |
| <xsl:variable name="current" select="substring-before($buglist, ',')"/> |
| <link href="{concat($bugtracking-url, $current)}"> |
| <xsl:value-of select="$current"/> |
| </link> |
| <xsl:text>, </xsl:text> |
| <xsl:call-template name="print-bugs"> |
| <xsl:with-param name="buglist" select="substring-after($buglist, ',')"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <link href="{concat($bugtracking-url, $buglist)}"><xsl:value-of select="$buglist"/></link> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| |
| |
| <xsl:template match="votes"> |
| |
| <section> |
| <title>Votes</title> |
| |
| <table> |
| |
| <xsl:apply-templates/> |
| |
| </table> |
| |
| </section> |
| </xsl:template> |
| |
| <xsl:template match="vote"> |
| |
| <tr> |
| |
| <td><xsl:value-of select="@date"/></td> |
| |
| <td> |
| <b><xsl:value-of select="@title"/>:</b> |
| <br/> |
| |
| <xsl:value-of select="motion"/> |
| |
| <ul> |
| <xsl:apply-templates select="response"/> |
| </ul> |
| |
| |
| </td> |
| |
| <td> |
| <xsl:value-of select="@dev"/> |
| </td> |
| </tr> |
| |
| </xsl:template> |
| |
| <xsl:template match="response"> |
| <li> |
| <xsl:value-of select="."/> |
| </li> |
| </xsl:template> |
| |
| </xsl:stylesheet> |