You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ni...@apache.org on 2002/05/30 18:20:40 UTC

cvs commit: jakarta-avalon/src/documentation/library/xslt changes2document.xsl copyover.xsl docbook2body.xsl docbook2document.xsl docbook2fo.xsl doclist.xsl doclist2document.xsl document2docbook.xsl faq2document.xsl filterlinks.xsl todo2document.xsl

nicolaken    02/05/30 09:20:40

  Added:       src/documentation/library/xslt changes2document.xsl
                        copyover.xsl docbook2body.xsl docbook2document.xsl
                        docbook2fo.xsl doclist.xsl doclist2document.xsl
                        document2docbook.xsl faq2document.xsl
                        filterlinks.xsl todo2document.xsl
  Log:
  Updating docs generation to Cocoon 2.0.3 used in Centipede;
  cleaning the structure related to documentation.
  
  Revision  Changes    Path
  1.1                  jakarta-avalon/src/documentation/library/xslt/changes2document.xsl
  
  Index: changes2document.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
   <xsl:import href="copyover.xsl"/>
  
   <xsl:param name="name"/>
  
   <xsl:variable name="bugzilla">http://nagoya.apache.org/bugzilla/show_bug.cgi?id=</xsl:variable>
  
   <xsl:template match="changes">
    <document>
     <header>
      <title><xsl:value-of select="@title"/></title>
     </header>
     <body>
      <section>
      <xsl:apply-templates/>
      </section>
     </body>
    </document>
   </xsl:template>
  
   <xsl:template match="release">
    <section title="{$name} {@version} ({@date})">
     <sl>
      <xsl:apply-templates/>
     </sl>
     </section>
   </xsl:template>
  
   <xsl:template match="action">
    <li>
     
     <xsl:if test = "@type">
       <icon src="images/{@type}.jpg" alt="{@type}"/>
     </xsl:if>
     <xsl:apply-templates/>
     <xsl:text>(</xsl:text><xsl:value-of select="@dev"/><xsl:text>)</xsl:text>
  
     <xsl:if test="@due-to">
      <xsl:text> Thanks to </xsl:text>
      <link href="mailto:{@due-to-email}"><xsl:value-of select="@due-to"/></link>
      <xsl:text>.</xsl:text>
     </xsl:if>
  
     <xsl:if test="@fixes-bug">
      <xsl:text> Fixes </xsl:text>
      <link href="{$bugzilla}{@fixes-bug}">
       <xsl:text>bug </xsl:text><xsl:value-of select="@fixes-bug"/>
      </link>
      <xsl:text>.</xsl:text>
     </xsl:if>
    </li>
   </xsl:template>
  
   <xsl:template match="devs">
    <!-- remove -->
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/copyover.xsl
  
  Index: copyover.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
    <xsl:template match="@*|*|text()|processing-instruction()">
      <xsl:copy>
        <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
      </xsl:copy>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/docbook2body.xsl
  
  Index: docbook2body.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="1.0">
  
    <xsl:template match="book">
     <document>
      <header>
       <title><xsl:value-of select="title"/></title>
       <subtitle><xsl:value-of select="subtitle"/></subtitle>     
      </header>  
      <body>
        <center>
          <table width="100%">
            <tr>
              <td bgcolor="#99aabb">
                <center><b><font size="+2" color="#000000" face="arial,helvetica,sanserif"><xsl:value-of select="title"/><xsl:if test="subtitle"><xsl:text>: </xsl:text><xsl:value-of select="subtitle"/></xsl:if></font></b></center>
              </td>
            </tr>
          </table>
        </center><br/>
        <xsl:apply-templates select="dedication"/>
        <xsl:apply-templates select="bookinfo"/>
      </body></document>
    </xsl:template>
  
    <xsl:template match="chapter|article|appendix">
     <document>
      <header>
       <title><xsl:value-of select="title"/></title>
      </header>  
      <body>
        <center>
          <table width="100%">
            <tr>
              <td bgcolor="#99aabb">
                <center><b><font size="+2" color="#000000" face="arial,helvetica,sanserif"><xsl:value-of select="title"/></font></b></center>
              </td>
            </tr>
          </table>
        </center><br/>
        <xsl:if test="subtitle">
          <font face="arial,helvetica,sanserif" color="#525D76"><i><xsl:value-of select="subtitle"/></i></font><br/>
        </xsl:if>
  
        <font color="#000000" face="arial,helvetica,sanserif">
          <xsl:apply-templates select="para"/>
        </font><br/>
  
        <xsl:apply-templates select="section">
          <xsl:with-param name="level" select="1"/>
        </xsl:apply-templates>
  
        <div align="right">
        <font color="#000000" face="arial,helvetica,sanserif" size="-2">
          <p>
            <xsl:for-each select="//authorgroup/author">
              <xsl:choose>
                <xsl:when test="position()=1">by </xsl:when>
                <xsl:otherwise>, </xsl:otherwise>
              </xsl:choose>
              <a href="mailto:{address/email}">
                <xsl:if test="honorific"><xsl:value-of select="honorific"/>. </xsl:if>
                <xsl:if test="firstname"><xsl:value-of select="firstname"/> </xsl:if>
                <xsl:value-of select="surname"/>
              </a>
            </xsl:for-each>          
          </p>
        </font>
        </div>
        <xsl:apply-templates select="//footnote" mode="base"/>
      </body></document>
    </xsl:template>
  
    <xsl:template match="title|subtitle"/>
  
    <xsl:template match="author">
     <document>
      <header>
       <title>        
          <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
          <xsl:value-of select="firstname"/><xsl:text> </xsl:text>
          <xsl:value-of select="surname"/></title>
      </header>
      <body>
        <center>
          <table width="80%">
            <tr>
              <td bgcolor="#99aabb">
                <center><b><font size="+2" color="#000000" face="arial,helvetica,sanserif"><xsl:text>Author: </xsl:text><xsl:value-of select="honorific"/><xsl:text>. </xsl:text><xsl:value-of select="firstname"/><xsl:text> </xsl:text><xsl:value-of select="surname"/></font></b></center>              
              </td>
            </tr>
          </table>
        </center><br/>
        <div align="right">
          <table border="0" cellpadding="2" cellspacing="0" width="100%">
            <tr>
              <td bgcolor="#525D76">
                <font color="#ffffff" face="arial,helvetica,sanserif" size="+1"><b>Affiliations</b></font>
              </td>
            </tr>
            <tr>
              <td>
                <font color="#000000" face="arial,helvetica,sanserif"><br/>
                  <ul>
                    <xsl:apply-templates select="affiliation"/>
                  </ul>
                </font>
              </td>
            </tr>
          </table>
        </div><br/>
        <xsl:apply-templates select="authorblurb"/>
      </body></document>
    </xsl:template>
  
    <xsl:template match="affiliation">
      <li>
        <xsl:text>[</xsl:text><xsl:value-of select="shortaffil"/><xsl:text>] </xsl:text>
        <b><xsl:value-of select="jobtitle"/></b>
        <i><xsl:value-of select="orgname"/><xsl:if test="orgdiv"><xsl:text>/</xsl:text><xsl:value-of select="orgdiv"/></xsl:if></i>
      </li>
    </xsl:template>
  
    <xsl:template match="authorblurb">
      <div align="right">
        <table border="0" cellpadding="2" cellspacing="0" width="100%">
          <tr>
            <td bgcolor="#525D76">
              <font color="#ffffff" face="arial,helvetica,sanserif" size="+1"><b>Bio</b></font>
            </td>
          </tr>
          <tr>
            <td>
              <font color="#000000" face="arial,helvetica,sanserif"><br/>
                <ul>
                  <xsl:apply-templates/>
                </ul>
              </font>
            </td>
          </tr>
        </table>
      </div>
    </xsl:template>
  
    <xsl:template match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
  
    <xsl:template match="revhistory">
     <document>
      <header>
        <title>Revision History</title>
      </header>  
      <body>
        <center>
          <table width="100%">
            <tr>
              <td bgcolor="#99aabb">
                <center><b><font size="+2" color="#000000" face="arial,helvetica,sanserif">Revision History</font></b></center>
              </td>
            </tr>
          </table>
        </center><br/>
        <div align="right">
          <table border="0" cellpadding="2" cellspacing="0" width="100%">
            <xsl:variable name="unique-revisions" 
              select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
            <xsl:variable name="base" select="."/>
            <xsl:for-each select="$unique-revisions">
            <tr>
              <td bgcolor="#525D76">
                <font color="#ffffff" face="arial,helvetica,sanserif">
                  <b>Revision <xsl:value-of select="."/> 
                     (<xsl:value-of select="$base/revision[revnumber=current()]/date"/>)
                  </b>
                </font>
              </td>
            </tr>
            <tr>
              <td>
                <font color="#000000" face="arial,helvetica,sanserif"><br/>
                  <ul>
                    <xsl:apply-templates select="$base/revision[revnumber=current()]"/>
                  </ul>
                </font>
              </td>
            </tr>
            </xsl:for-each>
          </table>
        </div>
      </body></document>
    </xsl:template>
  
    <xsl:template match="para">
      <p align="justify"><xsl:apply-templates/></p>
    </xsl:template>
  
    <xsl:template match="emphasis"><em><xsl:apply-templates/></em></xsl:template>
  
    <xsl:template match="revision">
      <li>
        <xsl:choose>
          <xsl:when test="@revisionflag='added'">
            <img align="absmiddle" alt="added" border="0" src="images/add.jpg"/>
          </xsl:when>
          <xsl:when test="@revisionflag='changed'">
            <img align="absmiddle" alt="changed" border="0" src="images/update.jpg"/>
          </xsl:when>
          <xsl:when test="@revisionflag='deleted'">
            <img align="absmiddle" alt="deleted" border="0" src="images/remove.jpg"/>
          </xsl:when>
          <xsl:when test="@revisionflag='off'">
            <img align="absmiddle" alt="off" border="0" src="images/fix.jpg"/>
          </xsl:when>
          <xsl:otherwise>
            <img align="absmiddle" alt="changed" border="0" src="images/update.jpg"/>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:value-of select="revremark"/>
        <xsl:text> (</xsl:text><xsl:value-of select="authorinitials"/><xsl:text>)</xsl:text>
      </li>
    </xsl:template>
  
    <xsl:template match="revnumber|revremark|authorinitials|date"/>
  
    <xsl:template match="section">
      <xsl:param name="level"/>
  
      <div align="right">
        <table border="0" cellpadding="2" cellspacing="0">
              <xsl:attribute name="width">
                <xsl:choose>
                  <xsl:when test="number($level)=1">100%</xsl:when>
                  <xsl:when test="number($level)=2">99%</xsl:when>
                  <xsl:otherwise>98%</xsl:otherwise>
                </xsl:choose>
              </xsl:attribute>      
          <!--
          This does not work for S3+
          <xsl:attribute name="width"><xsl:value-of select="number(100)-(1*(number($level)-1))"/>%</xsl:attribute>
          -->
          <tr>
            <td bgcolor="#bbccdd">
              <xsl:attribute name="bgcolor">
                <xsl:choose>
                  <xsl:when test="number($level)=1">bbccdd</xsl:when>
                  <xsl:when test="number($level)=2">ddeeff</xsl:when>
                  <xsl:otherwise>e8f8ff</xsl:otherwise>
                </xsl:choose>
              </xsl:attribute>
              <font color="#000000" face="arial,helvetica,sanserif">
                <xsl:attribute name="size">
                  <xsl:choose>
                    <xsl:when test="number($level)=1">+1</xsl:when>
                    <xsl:when test="number($level)=2">+0</xsl:when>
                    <xsl:otherwise>-<xsl:value-of select="number($level)-2"/></xsl:otherwise>
                  </xsl:choose>
                </xsl:attribute>
                <b><xsl:value-of select="title"/></b>
              </font>
            </td>
          </tr>
          <tr>
            <td>
              <font color="#000000" face="arial,helvetica,sanserif">
                <br/>
                <xsl:apply-templates>
                  <xsl:with-param name="level" select="number($level)+1"/>
                </xsl:apply-templates>
              </font>
            </td>
          </tr>
        </table>
      </div><br/>
    </xsl:template>
  
    <xsl:template match="bookinfo">
      <div align="right">
        <table border="0" cellpadding="2" cellspacing="0" width="100%">
          <tr>
            <td bgcolor="#525D76">
              <font color="#ffffff" face="arial,helvetica,sanserif" size="+1">
                <b><xsl:value-of select="edition"/></b><xsl:text> </xsl:text>
                <i><font size="0">pub. <xsl:value-of select="pubdate"/></font></i>
              </font>
            </td>
          </tr>
          <tr>
            <td>
              <font color="#000000" face="arial,helvetica,sanserif">
                <br/>
                <xsl:apply-templates/>
              </font>
            </td>
          </tr>
        </table>
      </div><br/>
    </xsl:template>
  
    <xsl:template match="dedication">
      <div align="right">
        <table border="0" cellpadding="2" cellspacing="0" width="100%">
          <tr>
            <td bgcolor="#525D76">
              <font color="#ffffff" face="arial,helvetica,sanserif" size="+1">
                <b>Dedication</b>
              </font>
            </td>
          </tr>
          <tr>
            <td>
              <font color="#000000" face="arial,helvetica,sanserif">
                <br/>
                <xsl:apply-templates/>
              </font>
            </td>
          </tr>
        </table>
      </div><br/>
    </xsl:template>
  
    <xsl:template match="edition|pubdate|year|holder"/>
  
    <xsl:template match="copyright">
      <p>Copyright &#x00A9;<xsl:value-of select="year"/> by <xsl:value-of select="holder"/>.<br/>
        <i>All rights reserved.</i>
      </p>
    </xsl:template>
  
    <xsl:template match="legalnotice">
      <div align="center">
        <table border="1" cellpadding="2" cellspacing="2">
          <tr>
            <td><xsl:apply-templates/></td>
          </tr>
        </table>
      </div>
    </xsl:template>
  
    <xsl:template match="programlisting">
      <div align="center">
        <table border="1" cellpadding="2" cellspacing="2">
          <tr>
            <td>
              <pre>
                <xsl:apply-templates/>
              </pre>
            </td>
          </tr>
        </table>
      </div>
    </xsl:template>
  
    <xsl:template match="orderedlist"><ol><xsl:apply-templates/></ol></xsl:template>
  
    <xsl:template match="listitem"><li><xsl:apply-templates/></li></xsl:template>
  
    <xsl:template match="itemizedlist"><ul><xsl:apply-templates/></ul></xsl:template>
  
    <xsl:template match="classname|function|parameter"><code><xsl:apply-templates/><xsl:if test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if></code></xsl:template>
  
    <xsl:template match="blockquote">
      <div align="center">
        <table border="1" cellpadding="2" cellspacing="2">
          <xsl:if test="title">
            <tr>
              <td bgcolor="#525D76">
                <font color="#ffffff"><xsl:value-of select="title"/></font>
              </td>
            </tr>
          </xsl:if>
          <tr>
            <td bgcolor="#c0c0c0">
              <font color="#023264" size="-1"><xsl:apply-templates/></font>
            </td>
          </tr>
        </table>
      </div>
    </xsl:template>
  
    <xsl:template match="warning">
      <div align="center">
        <table border="1" cellpadding="2" cellspacing="2">
          <xsl:if test="title">
            <tr>
              <td bgcolor="#800000">
                <font color="#ffffff"><xsl:value-of select="title"/></font>
              </td>
            </tr>
          </xsl:if>
          <tr>
            <td bgcolor="#c0c0c0">
              <font color="#023264" size="-1"><xsl:apply-templates/></font>
            </td>
          </tr>
        </table>
      </div>
    </xsl:template>
  
    <xsl:template match="ulink"><a href="{@uri}"><xsl:apply-templates/></a></xsl:template>
  
    <xsl:template match="footnote"><sup><a href="#{generate-id(.)}"><xsl:value-of select="generate-id(.)"/></a></sup></xsl:template>
  
    <xsl:template match="footnote" mode="base">
      <div align="left">
        <a name="{generate-id(.)}"/><font size="-2"><xsl:value-of select="generate-id(.)"/><xsl:text>) </xsl:text><i><xsl:value-of select="."/></i></font>
      </div>
    </xsl:template>
  
    <xsl:template match="figure">
      <div align="center">
        <table border="0" cellpadding="2" cellspacing="2">
          <tr>
            <td bgcolor="#525D76"><font color="#ffffff" size="0"><xsl:value-of select="title"/></font></td>
          </tr>
          <xsl:apply-templates/>
        </table>
      </div>
    </xsl:template>
  
    <xsl:template match="graphic">
      <tr>
        <td><img border="0" alt="{@srccredit}" src="{@fileref}"/></td>
      </tr>
      <xsl:if test="@srccredit">
        <tr>
          <td><font size="-1"><ul><li><xsl:value-of select="@srccredit"/></li></ul></font></td>
        </tr>
      </xsl:if>
    </xsl:template>
  
    <xsl:template match="table">
      <table border="0" cellpadding="2" cellspacing="2" width="100%">
        <xsl:apply-templates/>
      </table>
    </xsl:template>
  
    <xsl:template match="tgroup">
      <xsl:apply-templates select="thead|tbody|tfoot"/>
    </xsl:template>
  
    <xsl:template match="thead">
      <xsl:apply-templates select="row" mode="head"/>
    </xsl:template>
  
    <xsl:template match="row" mode="head">
      <th><xsl:apply-templates/></th>
    </xsl:template>
  
    <xsl:template match="row">
      <tr><xsl:apply-templates/></tr>
    </xsl:template>
  
    <xsl:template match="tbody|tfoot">
      <xsl:apply-templates/>
    </xsl:template>
  
    <xsl:template match="entry">
      <td align="left" bgcolor="#a0ddf0" valign="top">
        <font color="#000000" face="arial,helvetica,sanserif" size="-1"><xsl:apply-templates/></font>
      </td>
    </xsl:template>
  
    <xsl:template match="trademark"><xsl:apply-templates/><sup>TM</sup></xsl:template>
  
    <xsl:template match="node()|@*" priority="-1">
      <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
      </xsl:copy>
    </xsl:template>
  </xsl:stylesheet>
  
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/docbook2document.xsl
  
  Index: docbook2document.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="1.0">
  
   
    <xsl:template match="book">
    <document>
     <header>
      <title><xsl:value-of select="title"/></title>
      <subtitle><xsl:value-of select="subtitle"/></subtitle>
     </header>     
     <body>
      <section>
        <xsl:apply-templates select="dedication"/>
        <xsl:apply-templates select="bookinfo"/>
      </section>
      </body>
    </document>        
    </xsl:template>
  
    <xsl:template match="chapter|article|appendix">
    <document>
     <header>
      <title><xsl:value-of select="title"/></title>
      <subtitle><xsl:value-of select="subtitle"/></subtitle>
      <authors>       
        <xsl:for-each select="//author">
         <xsl:element name = "person">
           <xsl:attribute  name = "id" ><xsl:value-of select="id" /></xsl:attribute>
           <xsl:attribute  name = "name" >
             <xsl:if test="honorific"><xsl:value-of select="honorific"/>. </xsl:if>
             <xsl:if test="firstname"><xsl:value-of select="firstname"/> </xsl:if>
             <xsl:value-of select="surname"/>
           </xsl:attribute>
           <xsl:attribute  name = "email" ><xsl:value-of select="address/email" /></xsl:attribute>
         </xsl:element>
        </xsl:for-each>      
      </authors>   
     </header>     
  
     <body>
        <xsl:apply-templates/>
     </body>
    </document>        
    </xsl:template>
  
    <xsl:template match="title|subtitle"/>
  
    <xsl:template match="/author">
    <document>
     <header>
      <title>
          <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
          <xsl:value-of select="firstname"/><xsl:text> </xsl:text>
          <xsl:value-of select="surname"/>
       </title>
     </header>     
     <body>
      <section title="Affiliations">
          <table width="100%">
            <tr>
              <td>
                  <ul>
                    <xsl:apply-templates select="affiliation"/>
                  </ul>
              </td>
            </tr>
          </table>
      </section>
      <xsl:apply-templates select="authorblurb"/>
     </body>
    </document>   
    </xsl:template>
  
    <xsl:template match="affiliation">
      <li>
        <xsl:text>[</xsl:text><xsl:value-of select="shortaffil"/><xsl:text>] </xsl:text>
        <b><xsl:value-of select="jobtitle"/></b>
        <i><xsl:value-of select="orgname"/><xsl:if test="orgdiv"><xsl:text>/</xsl:text><xsl:value-of select="orgdiv"/></xsl:if></i>
      </li>
    </xsl:template>
  
    <xsl:template match="authorblurb">
      <section title="Bio">
        <table width="100%">
          <tr>
            <td>
              <ul>
                <xsl:apply-templates/>
              </ul>
            </td>
          </tr>
        </table>
     </section>
    </xsl:template>
  
    <xsl:template match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
  
    <xsl:template match="revhistory">
      <document>
       <header>
        <title>Revision History</title>
       </header>
       <body>
        <section>
          <table width="100%">
            <xsl:variable name="unique-revisions" 
              select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
            <xsl:variable name="base" select="."/>
            <xsl:for-each select="$unique-revisions">
            <tr>
              <td>
                  <b>Revision <xsl:value-of select="."/> 
                     (<xsl:value-of select="$base/revision[revnumber=current()]/date"/>)
                  </b>
              </td>
            </tr>
            <tr>
              <td>
                <font color="#000000" face="arial,helvetica,sanserif"><br/>
                  <ul>
                    <xsl:apply-templates select="$base/revision[revnumber=current()]"/>
                  </ul>
                </font>
              </td>
            </tr>
            </xsl:for-each>
          </table>
      </section>
      </body>
      </document>        
    </xsl:template>
  
    <xsl:template match="para">
      <p><xsl:apply-templates/></p>
    </xsl:template>
  
    <xsl:template match="emphasis"><em><xsl:apply-templates/></em></xsl:template>
  
    <xsl:template match="revision">
      <li>
        <xsl:choose>
          <xsl:when test="@revisionflag='added'">
            <img align="absmiddle" alt="added" src="images/add.jpg"/>
          </xsl:when>
          <xsl:when test="@revisionflag='changed'">
            <img align="absmiddle" alt="changed" src="images/update.jpg"/>
          </xsl:when>
          <xsl:when test="@revisionflag='deleted'">
            <img align="absmiddle" alt="deleted" src="images/remove.jpg"/>
          </xsl:when>
          <xsl:when test="@revisionflag='off'">
            <img align="absmiddle" alt="off" src="images/fix.jpg"/>
          </xsl:when>
          <xsl:otherwise>
            <img align="absmiddle" alt="changed" src="images/update.jpg"/>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:value-of select="revremark"/>
        <xsl:text> (</xsl:text><xsl:value-of select="authorinitials"/><xsl:text>)</xsl:text>
      </li>
    </xsl:template>
  
    <xsl:template match="revnumber|revremark|authorinitials|date"/>
  
    <xsl:template match="section">
      <section>
       <xsl:if test = "title">
         <xsl:attribute  name = "title" ><xsl:value-of select="title"/></xsl:attribute>
       </xsl:if>
       <xsl:apply-templates/>
      </section>
  
    </xsl:template>
  
    <xsl:template match="bookinfo">
        <table border="0" cellpadding="2" cellspacing="0" width="100%">
          <tr>
            <td bgcolor="#525D76">
              <font color="#ffffff" face="arial,helvetica,sanserif" size="+1">
                <b><xsl:value-of select="edition"/></b><xsl:text> </xsl:text>
                <i><font size="0">pub. <xsl:value-of select="pubdate"/></font></i>
              </font>
            </td>
          </tr>
          <tr>
            <td>
              <font color="#000000" face="arial,helvetica,sanserif">
                <br/>
                <xsl:apply-templates/>
              </font>
            </td>
          </tr>
        </table>
    </xsl:template>
  
    <xsl:template match="dedication">
        <table border="0" cellpadding="2" cellspacing="0" width="100%">
          <tr>
            <td bgcolor="#525D76">
              <font color="#ffffff" face="arial,helvetica,sanserif" size="+1">
                <b>Dedication</b>
              </font>
            </td>
          </tr>
          <tr>
            <td>
              <font color="#000000" face="arial,helvetica,sanserif">
                <br/>
                <xsl:apply-templates/>
              </font>
            </td>
          </tr>
        </table>
    </xsl:template>
  
    <xsl:template match="edition|pubdate|year|holder"/>
  
    <xsl:template match="copyright">
      <p>Copyright &#x00A9;<xsl:value-of select="year"/> by <xsl:value-of select="holder"/>.<br/>
        <i>All rights reserved.</i>
      </p>
    </xsl:template>
  
    <xsl:template match="legalnotice">
        <table border="1" cellpadding="2" cellspacing="2">
          <tr>
            <td><xsl:apply-templates/></td>
          </tr>
        </table>
    </xsl:template>
  
    <xsl:template match="programlisting">
        <table border="1" cellpadding="2" cellspacing="2">
          <tr>
            <td>
              <pre>
                <xsl:apply-templates/>
              </pre>
            </td>
          </tr>
        </table>
    </xsl:template>
  
    <xsl:template match="orderedlist"><ol><xsl:apply-templates/></ol></xsl:template>
  
    <xsl:template match="listitem"><li><xsl:apply-templates/></li></xsl:template>
  
    <xsl:template match="itemizedlist"><ul><xsl:apply-templates/></ul></xsl:template>
  
    <xsl:template match="classname|function|parameter"><code><xsl:apply-templates/><xsl:if test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if></code></xsl:template>
  
    <xsl:template match="blockquote">
        <table border="1" cellpadding="2" cellspacing="2">
          <xsl:if test="title">
            <tr>
              <td bgcolor="#525D76">
                <font color="#ffffff"><xsl:value-of select="title"/></font>
              </td>
            </tr>
          </xsl:if>
          <tr>
            <td bgcolor="#c0c0c0">
              <font color="#023264" size="-1"><xsl:apply-templates/></font>
            </td>
          </tr>
        </table>
    </xsl:template>
  
    <xsl:template match="warning">
        <table border="1" cellpadding="2" cellspacing="2">
          <xsl:if test="title">
            <tr>
              <td bgcolor="#800000">
                <font color="#ffffff"><xsl:value-of select="title"/></font>
              </td>
            </tr>
          </xsl:if>
          <tr>
            <td bgcolor="#c0c0c0">
              <font color="#023264" size="-1"><xsl:apply-templates/></font>
            </td>
          </tr>
        </table>
    </xsl:template>
  
    <xsl:template match="ulink"><link href="{@uri}"><xsl:apply-templates/></link></xsl:template>
  
    <xsl:template match="footnote"><sup><a href="#{generate-id(.)}"><xsl:value-of select="generate-id(.)"/></a></sup></xsl:template>
  
    <xsl:template match="footnote" mode="base">
        <a name="{generate-id(.)}"/><xsl:value-of select="generate-id(.)"/><xsl:text>) </xsl:text><i><xsl:value-of select="."/></i>
    </xsl:template>
  
    <xsl:template match="figure">
        <table>
          <tr>
            <td><xsl:value-of select="title"/></td>
          </tr>
          <xsl:apply-templates/>
        </table>
    </xsl:template>
  
    <xsl:template match="graphic">
      <tr>
        <td><img alt="{@srccredit}" src="{@fileref}"/></td>
      </tr>
      <xsl:if test="@srccredit">
        <tr>
          <td><ul><li><xsl:value-of select="@srccredit"/></li></ul></td>
        </tr>
      </xsl:if>
    </xsl:template>
  
    <xsl:template match="table">
      <table width="100%">
        <xsl:apply-templates/>
      </table>
    </xsl:template>
  
    <xsl:template match="tgroup">
      <xsl:apply-templates select="thead|tbody|tfoot"/>
    </xsl:template>
  
    <xsl:template match="thead">
      <xsl:apply-templates select="row" mode="head"/>
    </xsl:template>
  
    <xsl:template match="row" mode="head">
      <th><xsl:apply-templates/></th>
    </xsl:template>
  
    <xsl:template match="row">
      <tr><xsl:apply-templates/></tr>
    </xsl:template>
  
    <xsl:template match="tbody|tfoot">
      <xsl:apply-templates/>
    </xsl:template>
  
    <xsl:template match="entry">
      <td align="left" bgcolor="#a0ddf0" valign="top">
        <font color="#000000" face="arial,helvetica,sanserif" size="-1"><xsl:apply-templates/></font>
      </td>
    </xsl:template>
  
    <xsl:template match="trademark"><xsl:apply-templates/><sup>TM</sup></xsl:template>
  
    <xsl:template match="node()|@*" priority="-1">
      <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
      </xsl:copy>
    </xsl:template>
  </xsl:stylesheet>
  
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/docbook2fo.xsl
  
  Index: docbook2fo.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  xmlns:fo="http://www.w3.org/1999/XSL/Format"
                  version="1.0">
  
    <xsl:template match="book">
      <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
     
      <fo:layout-master-set>
          <fo:simple-page-master master-name="title"
                                 page-height="11in"
                                 page-width="8.5in"
                                 margin-top="1in"
                                 margin-bottom="1in"
                                 margin-left="1.25in"
                                 margin-right="1.5in">
            <fo:region-before extent=".5in" region-name="title-header"/>
            <fo:region-body margin-top="1in" margin-bottom="1in"/>
            <fo:region-after extent=".5in" region-name="title-footer"/>
          </fo:simple-page-master>
  
          <fo:simple-page-master master-name="inside"
                                 page-height="11in"
                                 page-width="8.5in"
                                 margin-top="1in"
                                 margin-bottom="1in"
                                 margin-left="1.5in"
                                 margin-right="1.25in">
            <fo:region-before extent=".5in" region-name="inside-header"/>
            <fo:region-body margin-top="1in" margin-bottom="1in"/>
            <fo:region-after extent=".5in" region-name="inside-footer"/>
          </fo:simple-page-master>
  
          <fo:simple-page-master master-name="even-page"
                                 page-height="11in" 
                                 page-width="8.5in"
                                 margin-top="1in" 
                                 margin-bottom="1in" 
                                 margin-left="1.25in" 
                                 margin-right="1in">
            <fo:region-before extent=".5in" region-name="even-header"/>
            <fo:region-body margin-top=".5in" margin-bottom=".5in"/>
            <fo:region-after extent=".5in" region-name="even-footer"/>
          </fo:simple-page-master>
  
          <fo:simple-page-master master-name="odd-page"
                                 page-height="11in"
                                 page-width="8.5in"
                                 margin-top="1in"
                                 margin-bottom="1in"
                                 margin-left="1in"
                                 margin-right="1.25in">
            <fo:region-before extent=".5in" region-name="odd-header"/>
            <fo:region-body margin-top=".5in" margin-bottom=".5in"/>
            <fo:region-after extent=".5in" region-name="odd-footer"/>
          </fo:simple-page-master>
  
          <fo:page-sequence-master master-name="chapter">
            <fo:repeatable-page-master-alternatives>
              <fo:conditional-page-master-reference master-name="title"
                                                    page-position="first"
                                                    odd-or-even="odd"/>
              <fo:conditional-page-master-reference master-name="odd-page"
                                                    odd-or-even="odd"
                                                    blank-or-not-blank="not-blank"/>
              <fo:conditional-page-master-reference master-name="even-page"
                                                    page-position="last"/>
              <fo:conditional-page-master-reference master-name="even-page"
                                                    odd-or-even="even"/>
            </fo:repeatable-page-master-alternatives>
          </fo:page-sequence-master>
        </fo:layout-master-set>
  
        <fo:page-sequence master-name="title">
          <xsl:if test="bookinfo/authorgroup">
            <fo:static-content flow-name="title-footer">
              <fo:block font-family="serif"
                        font-size="16pt"
                        font-style="italic"
                        text-align="end">
                <xsl:for-each select="bookinfo/authorgroup/author">
                  <xsl:value-of select="firstname"/>
                  <xsl:text> </xsl:text>
                  <xsl:value-of select="surname"/>
                </xsl:for-each>
              </fo:block>
            </fo:static-content>
          </xsl:if>
          <fo:flow flow-name="xsl-region-body">
            <fo:block font-family="serif"
                      font-size="48pt"
                      font-weight="bold">
              <xsl:value-of select="title"/>
            </fo:block>
            <xsl:if test="subtitle">
              <fo:block font-family="serif"
                        font-size="24pt"
                        border-top-style="solid"
                        border-top-width=".5pt"
                        space-before="12pt"
                        text-align="end">
                <xsl:value-of select="subtitle"/>
              </fo:block>
            </xsl:if>
          </fo:flow>
        </fo:page-sequence>
        <xsl:apply-templates/>
        <xsl:call-template name="authors"/>
      </fo:root>
    </xsl:template>
  
    <xsl:template match="chapter|article|appendix">
      <fo:page-sequence force-page-count="end-on-even" master-name="chapter">
        <fo:title><xsl:value-of select="title"/></fo:title>
        <fo:static-content flow-name="even-header">
          <fo:block text-align="start"
                    line-height="12pt"
                    font-style="italic"
                    font-family="serif"
                    font-size="10pt"
                    border-after-style="solid"
                    border-after-width=".5pt">
            <xsl:value-of select="/book/title"/>
          </fo:block>
        </fo:static-content>
        <fo:static-content flow-name="even-footer">
          <fo:block text-align="start"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:static-content flow-name="odd-header">
          <fo:block text-align="end"
                    line-height="12pt"
                    font-style="italic"
                    font-family="serif"
                    font-size="10pt"
                    border-after-style="solid"
                    border-after-width=".5pt">
            <xsl:value-of select="title"/>
          </fo:block>
        </fo:static-content>
        <fo:static-content flow-name="odd-footer">
          <fo:block text-align="end"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:static-content flow-name="title-footer">
          <fo:block text-align="end"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:flow flow-name="xsl-region-body">
          <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold">
            <xsl:value-of select="title"/>
          </fo:block>
          <xsl:if test="subtitle">
            <fo:block font-style="italic"
                      font-family="serif"
                      font-size="18pt"
                      space-after="10pt">
              <xsl:value-of select="subtitle"/>
            </fo:block>
          </xsl:if>
          <xsl:apply-templates/>
          <xsl:apply-templates select="/bookinfo/authorgroup"/>
        </fo:flow>
      </fo:page-sequence>
    </xsl:template>
  
    <xsl:template match="title|subtitle"/>
    <xsl:template match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
  
    <xsl:template match="bookinfo/revhistory">
      <fo:block font-family="serif" font-size="10pt" font-weight="bold" space-before="10pt">
        Revision History:
      </fo:block>
      <xsl:variable name="unique-revisions" 
                    select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
      <xsl:variable name="base" select="."/>
      <xsl:for-each select="$unique-revisions">
        <fo:block font-family="serif"
                  font-size="8pt">
          <xsl:value-of select="$base/revision[revnumber=current()]/date"/>: Revision <xsl:value-of select="."/>
        </fo:block>
      </xsl:for-each>
    </xsl:template>
  
    <xsl:template match="book/revhistory">
      <fo:page-sequence force-page-count="end-on-even" master-name="chapter">
        <fo:title>Revision History</fo:title>
        <fo:static-content flow-name="even-header">
          <fo:block text-align="start"
                    line-height="12pt"
                    font-style="italic"
                    font-family="serif"
                    font-size="10pt"
                    border-after-style="solid"
                    border-after-width=".5pt">
            <xsl:value-of select="/book/title"/>
          </fo:block>
        </fo:static-content>
        <fo:static-content flow-name="even-footer">
          <fo:block text-align="start"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:static-content flow-name="odd-header">
          <fo:block text-align="end"
                    line-height="12pt"
                    font-style="italic"
                    font-family="serif"
                    font-size="10pt"
                    border-after-style="solid"
                    border-after-width=".5pt">
            <xsl:value-of select="title"/>
          </fo:block>
        </fo:static-content>
        <fo:static-content flow-name="odd-footer">
          <fo:block text-align="end"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:static-content flow-name="title-footer">
          <fo:block text-align="end"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:flow flow-name="xsl-region-body">
          <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold" space-after="10pt">
            Revision History
          </fo:block>
          <xsl:variable name="unique-revisions" 
                        select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
          <xsl:variable name="base" select="."/>
          <xsl:for-each select="$unique-revisions">
            <fo:block font-weight="bold"
                      font-family="serif"
                      font-size="14pt"
                      space-before="10pt">
              Revision <xsl:value-of select="."/>
              (<xsl:value-of select="$base/revision[revnumber=current()]/date"/>)
            </fo:block>
            <fo:list-block provisional-distance-between-starts="9mm"
                     provisional-label-separation="3mm">
              <xsl:apply-templates select="$base/revision[revnumber=current()]"/>
            </fo:list-block>
          </xsl:for-each>
        </fo:flow>
      </fo:page-sequence>
    </xsl:template>
  
    <xsl:template match="para">
      <fo:block space-after="8pt"
                font-family="serif"><xsl:apply-templates/></fo:block>
    </xsl:template>
  
    <xsl:template match="emphasis">
      <fo:inline font-style="italic"><xsl:apply-templates/></fo:inline>
    </xsl:template>
  
    <xsl:template match="revision">
      <fo:list-item>
        <fo:list-item-label start-indent="3mm" end-indent="label-end()">
          <fo:block>&#x2022;</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>
            <xsl:apply-templates/>
            <fo:inline font-variant="small-caps">
              <xsl:value-of select="@revisionflag"/><xsl:text>&#x2014;</xsl:text>
            </fo:inline>
            <xsl:value-of select="revremark"/>
            <xsl:text> (</xsl:text><xsl:value-of select="authorinitials"/><xsl:text>)</xsl:text>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
  
    <xsl:template match="revnumber|revremark|authorinitials|date"/>
  
    <xsl:template match="section">
      <xsl:param name="level">0</xsl:param>
      <xsl:variable name="size" select="16-(number($level)*2)"/>
  
      <fo:block font-family="serif"
                font-size="{$size}pt"
                font-weight="bold"
                space-before="12pt">
        <xsl:value-of select="title"/>
      </fo:block>
      <xsl:apply-templates>
        <xsl:with-param name="level" select="number($level)+1"/>
      </xsl:apply-templates>
    </xsl:template>
  
    <xsl:template match="bookinfo">
      <fo:page-sequence master-name="inside">
        <fo:flow flow-name="xsl-region-body">
          <fo:block font-weight="bold" font-size="14pt">
            <xsl:value-of select="title"/>
          </fo:block>
          <xsl:if test="subtitle">
            <fo:block font-weight="bold" font-size="10pt">
              <xsl:value-of select="subtitle"/>
            </fo:block>
          </xsl:if>
          <xsl:if test="authorgroup">
            <fo:block font-size="10pt">
              <xsl:text>by </xsl:text>
              <xsl:for-each select="authorgroup/author">
                <xsl:if test="not(position()=1)">
                  <xsl:text>, </xsl:text>
                </xsl:if>
                <xsl:if test="honorific">
                  <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
                </xsl:if>
                <xsl:value-of select="firstname"/>
                <xsl:text> </xsl:text>
                <xsl:value-of select="surname"/>
              </xsl:for-each>
            </fo:block>
          </xsl:if>
          <xsl:apply-templates select="copyright"/>
          <fo:block space-before="10pt" font-size="10pt">
            <xsl:value-of select="edition"/><xsl:text> published </xsl:text>
            <xsl:value-of select="pubdate"/>
          </fo:block>
          <xsl:apply-templates select="revhistory"/>
          <xsl:apply-templates select="legalnotice"/>
        </fo:flow>
      </fo:page-sequence>
    </xsl:template>
  
  
    <xsl:template name="authors">
      <fo:page-sequence force-page-count="end-on-even" master-name="chapter">
        <fo:title>About the Authors</fo:title>
        <fo:static-content flow-name="even-header">
          <fo:block text-align="start"
                    line-height="12pt"
                    font-style="italic"
                    font-family="serif"
                    font-size="10pt"
                    border-after-style="solid"
                    border-after-width=".5pt">
            <xsl:value-of select="/book/title"/>
          </fo:block>
        </fo:static-content>
        <fo:static-content flow-name="even-footer">
          <fo:block text-align="start"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:static-content flow-name="odd-header">
          <fo:block text-align="end"
                    line-height="12pt"
                    font-style="italic"
                    font-family="serif"
                    font-size="10pt"
                    border-after-style="solid"
                    border-after-width=".5pt">
            About the Authors
          </fo:block>
        </fo:static-content>
        <fo:static-content flow-name="odd-footer">
          <fo:block text-align="end"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:static-content flow-name="title-footer">
          <fo:block text-align="end"
                    line-height="12pt"
                    border-before-style="solid"
                    border-before-width=".5pt"
                    font-family="serif"
                    font-size="10pt"><fo:page-number/></fo:block>
        </fo:static-content>
        <fo:flow flow-name="xsl-region-body">
          <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold" space-after="10pt">
            About the Authors
          </fo:block>
          <xsl:apply-templates select="/book/bookinfo/authorgroup/author"/>
        </fo:flow>
      </fo:page-sequence>
    </xsl:template>
  
    <xsl:template match="author">
      <fo:block font-family="serif"
                font-size="16pt"
                font-weight="bold"
                space-before="12pt">
        <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
        <xsl:value-of select="firstname"/><xsl:text> </xsl:text>
        <xsl:value-of select="surname"/>
      </fo:block>
      <fo:block font-family="serif"
                font-size="14pt"
                font-weight="bold"
                space-before="12pt">
        Affiliations
      </fo:block>
      <fo:list-block provisional-distance-between-starts="9mm"
                     provisional-label-separation="3mm">
        <xsl:apply-templates select="affiliation"/>
      </fo:list-block>
      <xsl:apply-templates select="authorblurb"/>
    </xsl:template>
  
    <xsl:template match="affiliation">
      <fo:list-item>
        <fo:list-item-label start-indent="50%" end-indent="label-end()">
          <fo:block>&#x2022;</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>
            <xsl:text>[</xsl:text><xsl:value-of select="shortaffil"/><xsl:text>] </xsl:text>
            <fo:inline font-weight="bold"><xsl:value-of select="jobtitle"/><xsl:text> </xsl:text></fo:inline>
            <fo:inline font-style="italic">
              <xsl:value-of select="orgname"/>
              <xsl:if test="orgdiv"><xsl:text>/</xsl:text><xsl:value-of select="orgdiv"/></xsl:if>
            </fo:inline>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
  
    <xsl:template match="authorblurb">
      <fo:block font-family="serif"
                font-size="14pt"
                font-weight="bold"
                space-before="12pt">
        Bio
      </fo:block>
      <xsl:apply-templates/>
    </xsl:template>
  
    <xsl:template match="dedication">
      <fo:page-sequence master-name="title">
        <fo:flow flow-name="xsl-region-body">
          <xsl:for-each select="para">
            <fo:block font-style="italic" font-family="serif" space-before="3in" font-size="10pt" text-align="center">
              <xsl:apply-templates/>
            </fo:block>
          </xsl:for-each>
        </fo:flow>
      </fo:page-sequence>
      <fo:page-sequence master-name="inside">
        <fo:flow flow-name="xsl-region-body">
          <fo:block> </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </xsl:template>
  
    <xsl:template match="edition|pubdate|year|holder"/>
  
    <xsl:template match="copyright">
      <fo:block font-size="10pt" space-before="10pt">
        Copyright &#x00A9;<xsl:value-of select="year"/> by <xsl:value-of select="holder"/>.
        All rights reserved.
      </fo:block>
    </xsl:template>
  
    <xsl:template match="legalnotice">
      <fo:block font-size="8pt"
                text-align="justify"
                space-before="20pt"
                width="7.5in"
                font-family="serif">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="programlisting">
      <fo:block font-family="monospace"
                font-size="10pt"
                background-color="#f0f0f0"
                white-space-collapse="false"
                keep-together="always">
         <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="orderedlist|itemizedlist">
      <fo:list-block provisional-distance-between-starts="9mm"
                     provisional-label-separation="3mm">
        <xsl:apply-templates/>
      </fo:list-block>
    </xsl:template>
  
    <xsl:template match="orderedlist/listitem">
      <fo:list-item>
        <fo:list-item-label start-indent="50%" end-indent="label-end()">
          <fo:block>
            <xsl:number format="1."/>
          </fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>
            <xsl:apply-templates/>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
  
    <xsl:template match="itemizedlist/listitem">
      <fo:list-item>
        <fo:list-item-label start-indent="50%" end-indent="label-end()">
          <fo:block>&#x2022;</fo:block>
        </fo:list-item-label>
        <fo:list-item-body start-indent="body-start()">
          <fo:block>
            <xsl:apply-templates/>
          </fo:block>
        </fo:list-item-body>
      </fo:list-item>
    </xsl:template>
  
    <xsl:template match="classname|function|parameter">
      <fo:inline font-family="monospace">
        <xsl:apply-templates/><xsl:if test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if>
      </fo:inline>
    </xsl:template>
  
    <xsl:template match="blockquote">
      <fo:block margin-left="1in"
                margin-right="1in"
                font-weight="bold"
                font-size="10pt"
                font-family="serif"
                space-before="10pt"
                border-before-style="solid"
                border-start-style="solid"
                border-end-style="solid"
                background-color="#000000"
                color="#ffffff">
        <xsl:value-of select="title"/>
      </fo:block>
      <fo:block margin-left="1in"
                margin-right="1in"
                font-family="serif"
                font-size="8pt"
                border-after-style="solid"
                border-start-style="solid"
                border-end-style="solid"
                background-color="#f0f0f0"
                padding-start="3pt"
                padding-end="3pt"
                padding-before="3pt"
                padding-after="3pt"
                space-after="20pt">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="warning">
      <fo:block margin-left="1in"
                margin-right="1in"
                font-weight="bold"
                font-size="10pt"
                font-family="serif"
                space-before="10pt"
                border-before-style="solid"
                border-start-style="solid"
                border-end-style="solid"
                background-color="#800000"
                color="#ffffff">
        Warning: <xsl:value-of select="title"/>
      </fo:block>
      <fo:block margin-left="1in"
                margin-right="1in"
                font-family="serif"
                font-size="8pt"
                border-after-style="solid"
                border-start-style="solid"
                border-end-style="solid"
                background-color="#f0f0f0"
                padding-start="3pt"
                padding-end="3pt"
                padding-before="3pt"
                padding-after="3pt">
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="ulink">
      <fo:basic-link external-destination="{@uri}"><xsl:apply-templates/></fo:basic-link>
    </xsl:template>
  
    <xsl:template match="footnote">
      <fo:footnote>
        <fo:inline>
          (see <xsl:value-of select="generate-id()"/> below)
        </fo:inline>
        <fo:footnote-body>
          <fo:block font-family="serif"
                    font-size="8pt"
                    line-height="12pt"
                    font-style="italic">
            <xsl:value-of select="generate-id()"/>) <xsl:value-of select="."/>
          </fo:block>
        </fo:footnote-body>
      </fo:footnote>
    </xsl:template>
  
    <xsl:template match="figure">
      <fo:block text-align="center" font-weight="bold" font-family="serif" space-before="10pt" space-after="20pt">
        <xsl:value-of select="title"/>
        <xsl:apply-templates/>
      </fo:block>
    </xsl:template>
  
    <xsl:template match="graphic">
      <fo:external-graphic src="build/documentation/resources/{@fileref}">
        <xsl:attribute name="content-type">
          <xsl:text>content-type:image/</xsl:text>
          <xsl:value-of select="translate(@format,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
        </xsl:attribute>
      </fo:external-graphic>
      <xsl:if test="@srccredit">
        <fo:block font-size="8pt" font-family="serif" font-style="italic">
          &#x2022; <xsl:value-of select="@srccredit"/>
        </fo:block>
      </xsl:if>
    </xsl:template>
  
    <xsl:template match="table">
      <fo:table width="100%" table-layout="fixed">
        <xsl:apply-templates/>
      </fo:table>
    </xsl:template>
  
    <xsl:template match="colspec">
      <fo:table-column>
        <xsl:attribute name="column-number">
          <xsl:number count="colspec"/>
        </xsl:attribute>
        <xsl:attribute name="column-width">
          <xsl:call-template name="calc.column.width">
            <xsl:with-param name="colwidth">
              <xsl:value-of select="@colwidth"/>
            </xsl:with-param>
          </xsl:call-template>
        </xsl:attribute>
      </fo:table-column>
    </xsl:template>
  
    <xsl:template match="tgroup">
      <xsl:apply-templates/>
    </xsl:template>
  
    <xsl:template match="thead">
      <fo:table-header>
        <xsl:apply-templates/>
      </fo:table-header>
    </xsl:template>
  
    <xsl:template match="tfoot">
      <fo:table-footer>
        <xsl:apply-templates/>
      </fo:table-footer>
    </xsl:template>
  
    <xsl:template match="row">
      <fo:table-row><xsl:apply-templates/></fo:table-row>
    </xsl:template>
  
    <xsl:template match="tbody">
      <fo:table-body>
        <xsl:apply-templates/>
      </fo:table-body>
    </xsl:template>
  
    <xsl:template match="entry">
      <fo:table-cell>
        <xsl:apply-templates/>
      </fo:table-cell>
    </xsl:template>
  
    <xsl:template name="calc.column.width">
      <xsl:param name="colwidth">1*</xsl:param>
  
      <xsl:if test="contains($colwidth, '*')">
        <xsl:text>proportional-column-width(</xsl:text>
        <xsl:value-of select="substring-before($colwidth, '*')"/>
        <xsl:text>)</xsl:text>
      </xsl:if>
  
      <xsl:variable name="width-units">
        <xsl:choose>
          <xsl:when test="contains($colwidth, '*')">
            <xsl:value-of select="normalize-space(substring-after($colwidth, '*'))"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="normalize-space($colwidth)"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:variable>
  
      <xsl:variable name="width"
                    select="normalize-space(translate($width-units, '+-0123456789.abcdefghijklmnopqrstuvwxyz', '+-0123456789.'))"/>
  
      <xsl:variable name="units"
                   select="normalize-space(translate($width-units, 'abcdefghijklmnopqrstuvwxyz+-0123456789.', 'abcdefghijklmnopqrstuvwxyz'))"/>
  
      <xsl:value-of select="$width"/>
  
      <xsl:choose>
        <xsl:when test="$units='pi'">pc</xsl:when>
        <xsl:when test="$units='' and $width != ''">pt</xsl:when>
        <xsl:otherwise><xsl:value-of select="$units"/></xsl:otherwise>
      </xsl:choose>
    </xsl:template>
  
    <xsl:template match="trademark"><xsl:apply-templates/>&#x2122;</xsl:template>
  
  </xsl:stylesheet>
  
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/doclist.xsl
  
  Index: doclist.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
   <xsl:param name="uri"/>
  
   <xsl:template match="book">
    <book title="{@title}" uri="{$uri}">
      <xsl:copy-of select="node()"/>
    </book>
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/doclist2document.xsl
  
  Index: doclist2document.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
   <xsl:template match="doclist">
    <document>
     <header>
      <title>List of all documentation</title>
     </header>
     <body>
      <section title="Documentation List">
       <p>
        This complete list shows, at a glance, how all of the documentation
        fits together within the hierarchy of sections.
  <!--      For an overview of the documentation see the new
        &quot;Table of Contents&quot;. -->
       </p>
       <p>
        The side-panel of each actual document is used to reach other documents
        that are relevant to that section. The side-panel will change, according
        to that section's location in the documentation hierarchy.
       </p>
      </section>
      <xsl:apply-templates/>
     </body>
    </document>
   </xsl:template>
  
   <xsl:template match="book">
    <section title="{@title}">
     <xsl:if test="position()=1">
      <p>This first section is a list of the top-level documentation
       (and is a replica of this page's side-panel).</p>
     </xsl:if>
     <xsl:apply-templates/>
    </section>
   </xsl:template>
  
   <xsl:template match="menu">
    <xsl:if test="@label!='Navigation'">
    <p><strong><xsl:value-of select="@label"/></strong></p>
     <ul>
      <xsl:apply-templates>
       <xsl:with-param name="uri" select="../@uri"/>
      </xsl:apply-templates>
     </ul>
    </xsl:if>
   </xsl:template>
  
   <xsl:template match="menu-item">
    <xsl:param name="uri"/>
    <xsl:if test="not(@type) or @type!='hidden'">
     <xsl:if test="@label!='Main' and @label!='User Documentation'">
  <!-- FIXME: ensure href is not full URL scheme:// -->
  <!--
    (uri=<xsl:value-of select="$uri"/> href=<xsl:value-of select="@href"/>)
  -->
      <li><link href="{$uri}{@href}"><xsl:value-of select="@label"/></link>
      </li>
     </xsl:if>
    </xsl:if>
   </xsl:template>
  
   <xsl:template match="external">
    <xsl:param name="uri"/>
    <xsl:if test="not(@type) or @type!='hidden'">
     <xsl:choose>
      <!-- FIXME: specially handle menu item "API (Javadoc)", it causes a bug. -->
      <xsl:when test="starts-with(@label,'API')">
       <li><link href="http://xml.apache.org/cocoon/apidocs/"><xsl:value-of select="@label"/></link></li>
  <!-- FIXME: here is the bug:
       <li><link href="{@href}"><xsl:value-of select="@label"/></link></li>
       <li><xsl:value-of select="@label"/>href=<xsl:value-of select="@href"/></li>
  -->
      </xsl:when>
      <xsl:otherwise>
       <li><link href="{@href}"><xsl:value-of select="@label"/></link></li>
      </xsl:otherwise>
     </xsl:choose>
    </xsl:if>
   </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/document2docbook.xsl
  
  Index: document2docbook.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="1.0">
  
    <xsl:template match="document">
      <article>
        <articleinfo>
          <authorgroup>
            <xsl:for-each select="header/authors/person">
              <author>
                <firstname><xsl:value-of select="@name"/></firstname>
                <address><email><xsl:value-of select="@email"/></email></address>
              </author>
            </xsl:for-each>
          </authorgroup>
        </articleinfo>
        <title><xsl:value-of select="header/title"/></title>
        <xsl:apply-templates select="body"/>
      </article>
    </xsl:template>
  
    <xsl:template match="changes">
      <revhistory>
        <xsl:apply-templates select="//action"/>
      </revhistory>
    </xsl:template>
  
    <xsl:template match="action">
      <revision>
        <xsl:attribute name="revisionflag">
          <xsl:choose>
            <xsl:when test="@type='add'">added</xsl:when>
            <xsl:when test="@type='update'">changed</xsl:when>
            <xsl:when test="@type='remove'">deleted</xsl:when>
            <xsl:when test="@type='fix'">off</xsl:when>
            <xsl:otherwise>changed</xsl:otherwise>
          </xsl:choose>
        </xsl:attribute>
        <revnumber><xsl:value-of select="../@version"/></revnumber>
        <date><xsl:value-of select="../@date"/></date>
        <authorinitials><xsl:value-of select="@dev"/></authorinitials>
        <revremark>
          <xsl:value-of select="."/>
        </revremark>
      </revision>
    </xsl:template>
  
    <xsl:template match="body">
      <xsl:apply-templates/>
    </xsl:template>
  
    <xsl:template match="s1">
      <section>
        <title><xsl:value-of select="@title"/></title>
        <xsl:apply-templates/>
      </section>
    </xsl:template>
  
    <xsl:template match="s2">
      <section>
        <title><xsl:value-of select="@title"/></title>
        <xsl:apply-templates/>
      </section>
    </xsl:template>
  
    <xsl:template match="s3">
      <section>
        <title><xsl:value-of select="@title"/></title>
        <xsl:apply-templates/>
      </section>
    </xsl:template>
  
    <xsl:template match="s4">
      <section>
        <title><xsl:value-of select="@title"/></title>
        <xsl:apply-templates/>
      </section>
    </xsl:template>
  
    <xsl:template match="p|br">
      <para>
        <xsl:apply-templates/>
      </para>
    </xsl:template>
  
    <xsl:template match="strong|em">
      <emphasis><xsl:apply-templates/></emphasis>
    </xsl:template>
  
    <xsl:template match="ul">
      <itemizedlist><xsl:apply-templates/></itemizedlist>
    </xsl:template>
  
    <xsl:template match="li">
      <listitem><xsl:apply-templates/></listitem>
    </xsl:template>
  
    <xsl:template match="ol">
      <orderedlist><xsl:apply-templates/></orderedlist>
    </xsl:template>
  
    <xsl:template match="link">
      <ulink uri="{@href}"><xsl:apply-templates/></ulink>
    </xsl:template>
  
    <xsl:template match="figure">
      <xsl:choose>
        <xsl:when test="@src">
          <figure>
            <title><xsl:value-of select="@alt"/></title>
            <graphic fileref="{@src}" srccredit="{@alt}"/>
          </figure>
        </xsl:when>
        <xsl:otherwise>
          <figure>
            <xsl:apply-templates/>
          </figure>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
  
    <xsl:template match="fixme">
      <warning><xsl:apply-templates/></warning>
    </xsl:template>
  
    <xsl:template match="note">
      <note><xsl:apply-templates/></note>
    </xsl:template>
  
    <xsl:template match="warn">
      <warning><xsl:apply-templates/></warning>
    </xsl:template>
  
    <xsl:template match="code">
      <classname><xsl:apply-templates/></classname>
    </xsl:template>
  
    <xsl:template match="source">
      <programlisting><xsl:apply-templates/></programlisting>
    </xsl:template>
  
    <xsl:template match="table">
      <table>
        <tgroup>
          <xsl:attribute name="cols"><xsl:value-of select="count(tr/td)"/></xsl:attribute>
          <xsl:if test="th">
            <thead>
              <xsl:apply-templates select="th"/>
            </thead>
          </xsl:if>
          <tbody>
            <xsl:apply-templates select="tr"/>
          </tbody>
        </tgroup>
      </table>
    </xsl:template>
  
    <xsl:template match="th|tr">
      <row>
        <xsl:apply-templates/>
      </row>
    </xsl:template>
  
    <xsl:template match="td">
      <entry>
        <xsl:apply-templates/>
      </entry>
    </xsl:template>
  
    <xsl:template match="node()|@*" priority="-1">
      <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
      </xsl:copy>
    </xsl:template>
  </xsl:stylesheet>
  
  
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/faq2document.xsl
  
  Index: faq2document.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
   <xsl:import href="copyover.xsl"/>
  
    <xsl:template match="faqs">
     <document>
      <header>
       <title><xsl:value-of select="@title"/></title>
      </header>
      <body>
        <section title="Questions">
         <ul>
          <xsl:apply-templates select="faq" mode="index"/>
         </ul>
        </section>
        <section title="Answers">
          <xsl:apply-templates select="faq"/>
        </section>
      </body>
     </document>  
    </xsl:template>
  
    <xsl:template match="faq" mode="index">
      <li>
        <jump anchor="faq-{position()}">
          <xsl:value-of select="question"/>
        </jump>
      </li>
    </xsl:template>
  
    <xsl:template match="faq">
      <anchor id="faq-{position()}"/>
      <section title="{question}">
        <xsl:apply-templates/>
      </section>
    </xsl:template>
  
    <xsl:template match="question">
      <!-- ignored since already used -->
    </xsl:template>
  
    <xsl:template match="answer">
      <xsl:apply-templates/>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/filterlinks.xsl
  
  Index: filterlinks.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <!--
  This stylesheet filters all references to the javadocs
  and the samples.
  -->
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
    <xsl:template match="@src|@href|@background">
      <xsl:if test="not(contains(.,'apidocs')) and not(starts-with(., 'samples/'))">
        <xsl:copy>
          <xsl:apply-templates select="."/>
        </xsl:copy>
      </xsl:if>
    </xsl:template>
  
    <!-- This is a hack which makes the javascript images work -->
    <xsl:template match="img[@onLoad and starts-with(@src, 'graphics')]">
        <img src="{@src}"/>
        <img>
          <xsl:attribute name="src">
            <xsl:value-of select="substring-before(@src, '.')"/>_over.<xsl:value-of select="substring-after(@src, '.')"/>
          </xsl:attribute>
        </img>
    </xsl:template>
  
    <xsl:template match="img[@onLoad and starts-with(@src, 'images') and contains(@src, '-lo.gif')]">
        <img src="{@src}"/>
        <img>
          <xsl:attribute name="src"><xsl:value-of select="substring-before(@src, '-lo.gif')"/>-hi.gif</xsl:attribute>
        </img>
    </xsl:template>
  
    <xsl:template match="@*|node()">
     <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
     </xsl:copy>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  jakarta-avalon/src/documentation/library/xslt/todo2document.xsl
  
  Index: todo2document.xsl
  ===================================================================
  <?xml version="1.0"?>
  
  <xsl:stylesheet
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      version="1.0">
  
   <xsl:import href="copyover.xsl"/>
   
   <xsl:template match="todo">
    <document>
     <header>
      <title><xsl:value-of select="@title"/></title>
     </header>
     <body>
      <section>
      <xsl:apply-templates/>
      </section>
     </body>
    </document>
   </xsl:template>
  
   <xsl:template match="actions">
    <section title="{@priority}">
     <sl>
      <xsl:for-each select="action">
       <li>
        <strong><xsl:text>[</xsl:text><xsl:value-of select="@context"/><xsl:text>]</xsl:text></strong><xsl:text> </xsl:text>
        <xsl:apply-templates/>
       </li>
      </xsl:for-each>
     </sl>
    </section>
   </xsl:template>
   
  </xsl:stylesheet>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>