<?xml version="1.0" encoding="utf-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You 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.
-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">

  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/document/release[1]">
    <body>
      <h1>
        <xsl:text>Changes in </xsl:text>
        <xsl:value-of select="@version"/>
      </h1>
      <h2>
        <xsl:text>Changes that Could Break Older Environments:</xsl:text>
      </h2>
      <ul>
        <xsl:apply-templates select="./action[@breaks-bwc='true']" mode="li"/>
      </ul>
      <h2>
        <xsl:text>Fixed Bugs:</xsl:text>
      </h2>
      <ul>
        <xsl:apply-templates select="./action[@type='fix']" mode="li"/>
      </ul>
      <h2>
        <xsl:text>Other Changes:</xsl:text>
      </h2>
      <ul>
        <xsl:apply-templates select="./action[not(@type='fix')]" mode="li"/>
      </ul>
    </body>
  </xsl:template>

  <xsl:template match="action" mode="li">
    <li>
      <xsl:value-of select="text()"/>
      <xsl:if test="not(@issue='')">
        <a>
          <xsl:attribute name="href">http://issues.apache.org/bugzilla/show_bug.cgi?id=<xsl:value-of select="@issue"/></xsl:attribute>
          <xsl:text>BugZilla Issue </xsl:text><xsl:value-of select="@issue"/><xsl:text></xsl:text>
        </a>
      </xsl:if>
    </li>
  </xsl:template>

  <!-- dont copy the text and unmatched nodes as per default in xsl -->
  <xsl:template match="text()"/>

</xsl:stylesheet>
