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 ©<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 ©<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>•</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>—</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>•</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 ©<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>•</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">
• <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/>™</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
"Table of Contents". -->
</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>