Hi,
        I didn't include a second stylesheet, for weekly summary
ChangeLogs, in my Ant build example for generating ChangeLogs during
automated builds.  It's attached here.

Jim Doyle
<?xml version="1.0"?> 
<!-- Takes ChangeLog XML and turns it into HTML, 
     for posting on our webserver.  Invoked from a target in
     our buildfile.  Meant to be used on weekly build logs as sort of
     a status report, so entries are ordered differently (by author, and
     ascending time) and time is displayed differently (weekday names).

     This stylesheet supports HTML tags in the message piece, though
     it does require that they be properly-formed XML elements (i.e., they
     have closing tags).
     $Id: changelog_summary.xsl,v 1.1 2001/04/20 14:56:25 builder Exp $
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";   
                version="1.0"
                xmlns:cvs2cl="http://www.red-bean.com/xmlns/cvs2cl/";>
  <xsl:param name="logtime"/>
  <xsl:param name="branchname"/>
  <xsl:output method="html" indent="yes"/>

  <!-- Copy standard document elements.  Elements that
       should be ignored must be filtered by apply-templates
       tags. -->
  <xsl:template match="*">
    <xsl:copy>
      <xsl:copy-of select="attribute::*[. != '']"/>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="cvs2cl:changelog">
    <html>
      <head>
        <title><xsl:value-of select="$branchname"/> ChangeLog for <xsl:value-of 
select="$logtime"/></title>
      </head>
      <body>
        <h2><xsl:value-of select="$branchname"/> ChangeLog for <xsl:value-of 
select="$logtime"/></h2>
        <xsl:apply-templates select=".//cvs2cl:entry">
          <xsl:sort select="cvs2cl:author" data-type="text" order="ascending"/>
          <xsl:sort select="cvs2cl:date" data-type="text" order="ascending"/>
          <xsl:sort select="cvs2cl:time" data-type="text" order="ascending"/>
        </xsl:apply-templates>
      </body>
    </html>
  </xsl:template>

  <!-- Process each entry -->
  <xsl:template match="cvs2cl:entry">
    <table width="100%" border="1">
      <tr>
        <td bgcolor="#ccccff" align="left">
          <xsl:apply-templates select="cvs2cl:author"/>
          <br/>
          <xsl:apply-templates select="cvs2cl:weekday"/>
          <xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;]]></xsl:text>
          <xsl:apply-templates select="cvs2cl:time"/>
        </td>
        <td width="*">
          <xsl:apply-templates select="cvs2cl:msg"/>
        </td>
      </tr>
      <tr><td colspan="2">
        <p align="left">
          <ul>
            <xsl:apply-templates select="cvs2cl:file"/>
          </ul>
        </p>
      </td></tr>
    </table>
    <br/>
  </xsl:template>

  <xsl:template match="cvs2cl:weekday">
    <i><xsl:value-of select="."/></i>
  </xsl:template>
  <xsl:template match="cvs2cl:time">
    <i><xsl:value-of select="."/></i>
  </xsl:template>
  <xsl:template match="cvs2cl:author">
    <i><xsl:value-of select="."/></i>
  </xsl:template>
  <xsl:template match="cvs2cl:file">
    <li><xsl:value-of select="cvs2cl:name"/></li>
  </xsl:template>
  <!-- Any elements within a msg are processed,
       so that we can preserve HTML tags. -->
  <xsl:template match="cvs2cl:msg">
    <b><xsl:apply-templates/></b>
  </xsl:template>
</xsl:stylesheet>

Reply via email to