You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oz...@apache.org on 2004/11/20 00:58:46 UTC
cvs commit: jakarta-commons/transaction/xdocs/style basic.xsl
ozeigermann 2004/11/19 15:58:46
Modified: transaction/xdocs/file index.xml
transaction/xdocs/maps wrappers-comparision.xml
transaction/xdocs/locks tutorial.xml
Added: transaction/xdocs/style basic.xsl
Log:
Made links to api relative and added means to transform docs locally without Maven
Revision Changes Path
1.2 +12 -12 jakarta-commons/transaction/xdocs/file/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/jakarta-commons/transaction/xdocs/file/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.xml 18 Nov 2004 23:27:19 -0000 1.1
+++ index.xml 19 Nov 2004 23:58:46 -0000 1.2
@@ -13,17 +13,17 @@
<p>Sometimes it may be desirable to save a single file or even a
number of related files to the file system atomically. This means if
you write something and an error occurs or for any reason you change
- you mind and rather want to cancel what you did. Consider your
+ your mind and rather want to cancel what you did. Consider your
application fails in the middle of overwriting important data which
neither gives you the old state nor the new one, but rather a
corrupted one. Or only part of your data has been written leaving you
with an inconsistent state.</p>
<p>The <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/package-summary.html">transactional
+href="../apidocs/org/apache/commons/transaction/file/package-summary.html">transactional
file</a> package provides you with code that allows you to have atomic
read and write operations on any file system. The <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html">file
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html">file
resource manager</a> offers you the possibility to isolate a number of
operations on a set of files in a transaction. Using the <a
href="../locks/index.html">locks package</a> it is able to offer you
@@ -33,23 +33,23 @@
monitored by the manager.</p>
<p>When you <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html#startTransaction(java.lang.Object)">start</a>
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html#startTransaction(java.lang.Object)">start</a>
a transaction you need to provide an indentifier to later refer to
this newly started transaction. You can also let an identifier be <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html#generatedUniqueTxId()">generated</a>
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html#generatedUniqueTxId()">generated</a>
for you. Calls to e.g. <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html#readResource(java.lang.Object,%20java.lang.Object)">read</a>,
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html#readResource(java.lang.Object,%20java.lang.Object)">read</a>,
<a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html#createResource(java.lang.Object,%20java.lang.Object)">create</a>
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html#createResource(java.lang.Object,%20java.lang.Object)">create</a>
or <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html#writeResource(java.lang.Object,%20java.lang.Object)">write
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html#writeResource(java.lang.Object,%20java.lang.Object)">write
to</a> will need the identifier to know which transaction they belong to.</p>
<p>Finally when you want to
commit the transaction call <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html#commitTransaction(java.lang.Object)">commit</a>
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html#commitTransaction(java.lang.Object)">commit</a>
or <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileResourceManager.html#rollbackTransaction(java.lang.Object)">rollback</a>
+href="../apidocs/org/apache/commons/transaction/file/FileResourceManager.html#rollbackTransaction(java.lang.Object)">rollback</a>
to undo all changes. The transactionality is achieved by first writing to
temporary files and upon commit moving or copying them to the primary
location. Locks and a delicate commit mechanism will assure that no
@@ -57,11 +57,11 @@
</p>
<p>A fail safe <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileSequence.html">file
+href="../apidocs/org/apache/commons/transaction/file/FileSequence.html">file
sequence</a> is the second main part of the file package. Just like
sequences known from Oracle or other relational database systems it
provides you with a unique ids. Each call to the <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/file/FileSequence.html#nextSequenceValueBottom(java.lang.String,%20long)">next</a>
+href="../apidocs/org/apache/commons/transaction/file/FileSequence.html#nextSequenceValueBottom(java.lang.String,%20long)">next</a>
method will return a new unique long number and persists the current
value of the sequence to disk. This means when you shut down your
system and restart it you will still get no double
1.2 +3 -3 jakarta-commons/transaction/xdocs/maps/wrappers-comparision.xml
Index: wrappers-comparision.xml
===================================================================
RCS file: /home/cvs/jakarta-commons/transaction/xdocs/maps/wrappers-comparision.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- wrappers-comparision.xml 18 Nov 2004 23:27:18 -0000 1.1
+++ wrappers-comparision.xml 19 Nov 2004 23:58:46 -0000 1.2
@@ -19,9 +19,9 @@
<tr>
<th align="left" valign="bottom" scope="col"></th>
<th align="left" valign="bottom" scope="col"> <font face="Arial,
-Helvetica, sans-serif"><strong><a href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/memory/TransactionalMapWrapper.html">TransactionalMapWrapper</a></strong></font></th>
-<th align="left" valign="bottom" scope="col"> <font face="Arial, Helvetica, sans-serif"><strong><a href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/memory/OptimisticMapWrapper.html">OptimisticMapWrapper</a></strong></font></th>
-<th align="left" valign="bottom" scope="col"> <font face="Arial, Helvetica, sans-serif"><strong><a href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/memory/PessimisticMapWrapper.html">PessimisticMapWrapper</a></strong></font></th>
+Helvetica, sans-serif"><strong><a href="../apidocs/org/apache/commons/transaction/memory/TransactionalMapWrapper.html">TransactionalMapWrapper</a></strong></font></th>
+<th align="left" valign="bottom" scope="col"> <font face="Arial, Helvetica, sans-serif"><strong><a href="../apidocs/org/apache/commons/transaction/memory/OptimisticMapWrapper.html">OptimisticMapWrapper</a></strong></font></th>
+<th align="left" valign="bottom" scope="col"> <font face="Arial, Helvetica, sans-serif"><strong><a href="../apidocs/org/apache/commons/transaction/memory/PessimisticMapWrapper.html">PessimisticMapWrapper</a></strong></font></th>
</tr>
</thead>
1.2 +12 -12 jakarta-commons/transaction/xdocs/locks/tutorial.xml
Index: tutorial.xml
===================================================================
RCS file: /home/cvs/jakarta-commons/transaction/xdocs/locks/tutorial.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- tutorial.xml 18 Nov 2004 23:27:19 -0000 1.1
+++ tutorial.xml 19 Nov 2004 23:58:46 -0000 1.2
@@ -12,31 +12,31 @@
<section name="Locking tutorial">
<p>The <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/package-summary.html">locking
+href="../apidocs/org/apache/commons/transaction/locking/package-summary.html">locking
package</a> merely consists of two interfaces for a <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/LockManager.html">lock
+href="../apidocs/org/apache/commons/transaction/locking/LockManager.html">lock
manager</a> and a <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/MultiLevelLock.html">multilevel
+href="../apidocs/org/apache/commons/transaction/locking/MultiLevelLock.html">multilevel
lock</a> and specific implementations. There is a <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/GenericLock.html">generic
+href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html">generic
implementation</a> of a multi level lock with a subtle, yet simple
compatibility mechanism. This mechanism allows to implement quite a
number of different lock types such as a read write lock which is
<a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/ReadWriteLock.html">provided
+href="../apidocs/org/apache/commons/transaction/locking/ReadWriteLock.html">provided
for covenience</a>, although very easy to implement. As already
<a href="index.html">exlained</a> in the locking agent can be any Java
object. Have a look at the simple <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/ReadWriteLock.html#acquireRead(java.lang.Object,%20long)">
+href="../apidocs/org/apache/commons/transaction/locking/ReadWriteLock.html#acquireRead(java.lang.Object,%20long)">
method for acquiring a lock for read access</a> as a reference.</p>
<p>If you
need a single or pre-determined number of classes the generic or
read/write lock is all you need. However, sometimes you may not know
how many locks and which locks you will need in advance. In this case you can use the
lock manager with its <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/GenericLockManager.html">default
+href="../apidocs/org/apache/commons/transaction/locking/GenericLockManager.html">default
implementation</a>. The most <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/LockManager.html#atomicGetOrCreateLock(java.lang.Object)">important
+href="../apidocs/org/apache/commons/transaction/locking/LockManager.html#atomicGetOrCreateLock(java.lang.Object)">important
method</a> is for either creating a non existing lock in a specified
resource or retrieving it if it was created before. It is important to
make this atomically so there is no chance of acciently creating more
@@ -70,7 +70,7 @@
<code>1</code> and a logger that simply writes to stdout. Different
lock levels and their compatibility is a special feature of
<a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/GenericLock.html">GenericLock</a>
+href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html">GenericLock</a>
and is explained there in detail. As we have one locking level, this
also is the only level we can possibly acquire causing an exclusive lock:</p>
<source>
@@ -78,7 +78,7 @@
</source>
<p>
This tries to <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/GenericLock.html#acquire(java.lang.Object,%20int,%20boolean,%20boolean,%20long)">acquire
+href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html#acquire(java.lang.Object,%20int,%20boolean,%20boolean,%20long)">acquire
a lock</a> of level one (=exclusive) for the agent
"Owner". Parameters three and four tells the lock that it should block
the current thread if this lock level can not be acquired and that
@@ -91,7 +91,7 @@
<p>Now all requests to fine grained locks will be braced with the
above statement and the <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/GenericLock.html#release(java.lang.Object)">release
+href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html#release(java.lang.Object)">release
statement</a> after all fine grained locks are acquired:</p>
<source>
exclusive.release("Owner");
@@ -241,7 +241,7 @@
</source>
<p>As much for our short round trip. More information about this additional compatibility can be found <a
-href="http://jakarta.apache.org/commons/sandbox/transaction/apidocs/org/apache/commons/transaction/locking/GenericLock.html#acquire(java.lang.Object,%20int,%20boolean,%20int,%20long)">here</a>.
+href="../apidocs/org/apache/commons/transaction/locking/GenericLock.html#acquire(java.lang.Object,%20int,%20boolean,%20int,%20long)">here</a>.
If you still need more turn
to the mailing list, get through the Javadocs and as the last resort through
the sources ;)
1.1 jakarta-commons/transaction/xdocs/style/basic.xsl
Index: basic.xsl
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Temporary Stylesheet for Catalina Developer Documentation -->
<!-- $Id: basic.xsl,v 1.1 2004/11/19 23:58:46 ozeigermann Exp $ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- Output method -->
<xsl:output method="html" encoding="iso-8859-1" indent="yes"/>
<!-- Defined parameters (overrideable) -->
<xsl:param name="relative-path" select="'.'"/>
<xsl:param name="void-image" select="'/images/void.gif'"/>
<!-- Defined variables -->
<xsl:variable name="body-bg" select="'#ffffff'"/>
<xsl:variable name="body-fg" select="'#000000'"/>
<xsl:variable name="body-link" select="'#525D76'"/>
<xsl:variable name="banner-bg" select="'#525D76'"/>
<xsl:variable name="banner-fg" select="'#ffffff'"/>
<xsl:variable name="sub-banner-bg" select="'#828DA6'"/>
<xsl:variable name="sub-banner-fg" select="'#ffffff'"/>
<xsl:variable name="source-color" select="'#023264'"/>
<xsl:variable name="attributes-color" select="'#023264'"/>
<xsl:variable name="table-th-bg" select="'#039acc'"/>
<xsl:variable name="table-td-bg" select="'#ffffff'"/>
<!-- Process an entire document into an HTML page -->
<xsl:template match="document">
<xsl:variable name="project"
select="document('../project.xml')/project"/>
<html>
<head>
<title><xsl:value-of select="$project/title"/> - <xsl:value-of select="properties/title"/></title>
<xsl:for-each select="properties/author">
<xsl:variable name="name">
<xsl:value-of select="."/>
</xsl:variable>
<xsl:variable name="email">
<xsl:value-of select="@email"/>
</xsl:variable>
<meta name="author" value="{$name}"/>
<meta name="email" value="{$email}"/>
</xsl:for-each>
</head>
<body bgcolor="{$body-bg}" text="{$body-fg}" link="{$body-link}"
alink="{$body-link}" vlink="{$body-link}">
<xsl:apply-templates select="body"/>
</body>
</html>
</xsl:template>
<!-- Process a menu for the navigation bar -->
<xsl:template match="menu">
<p><strong><xsl:value-of select="@name"/></strong></p>
<ul>
<xsl:apply-templates select="item"/>
</ul>
</xsl:template>
<!-- Process a menu item for the navigation bar -->
<xsl:template match="item">
<xsl:variable name="href">
<xsl:value-of select="@href"/>
</xsl:variable>
<li><a href="{$href}"><xsl:value-of select="@name"/></a></li>
</xsl:template>
<!-- Process a documentation section -->
<xsl:template match="section">
<xsl:variable name="name">
<xsl:value-of select="@name"/>
</xsl:variable>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<!-- Section heading -->
<tr><td bgcolor="{$banner-bg}">
<font color="{$banner-fg}" face="arial,helvetica.sanserif">
<a name="{$name}">
<strong><xsl:value-of select="@name"/></strong></a></font>
</td></tr>
<!-- Section body -->
<tr><td><blockquote>
<xsl:if test="not(@split-subsections)">
<xsl:apply-templates/>
</xsl:if>
<xsl:if test="@split-subsections">
<xsl:apply-templates select="p" />
<xsl:call-template name="split-subsections" />
</xsl:if>
</blockquote></td></tr>
</table>
</xsl:template>
<!-- display subsection in 2 columns -->
<xsl:template name="split-subsections">
<xsl:variable name="middle">
<xsl:value-of select="ceiling((count(subsection) div 2))"/>
</xsl:variable>
<table width="100%"><tr><td valign="top" width="45%">
<xsl:for-each select="subsection">
<xsl:if test="position() <= $middle">
<xsl:apply-templates select="." />
</xsl:if>
</xsl:for-each>
</td><td valign="top" width="10%"> </td><td valign="top" width="*">
<xsl:for-each select="subsection">
<xsl:if test="position() > $middle">
<xsl:apply-templates select="." />
</xsl:if>
</xsl:for-each>
</td></tr></table>
</xsl:template>
<!-- Process a documentation subsection -->
<xsl:template match="subsection">
<xsl:variable name="name">
<xsl:value-of select="@name"/>
</xsl:variable>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<!-- Subsection heading -->
<tr><td bgcolor="{$sub-banner-bg}">
<font color="{$sub-banner-fg}" face="arial,helvetica.sanserif">
<a name="{$name}">
<strong><xsl:value-of select="@name"/></strong></a></font>
</td></tr>
<!-- Subsection body -->
<tr><td><blockquote>
<xsl:apply-templates/>
</blockquote></td></tr>
</table>
</xsl:template>
<!-- create an index of the subsections of the current section -->
<xsl:template match="section/subsection-index">
<table><th><td><xsl:value-of select="@title" /></td></th>
<tr><td>
<ul>
<xsl:for-each select="../subsection">
<li>
<a><xsl:attribute name="href">#<xsl:value-of select="@name" /></xsl:attribute><xsl:value-of select="@name" /></a>
</li>
</xsl:for-each>
</ul>
</td></tr></table><br/>
</xsl:template>
<!-- process tables -->
<xsl:template match="table">
<table border="0" cellpadding="2" cellspacing="2">
<xsl:apply-templates/>
</table>
</xsl:template>
<!-- specially process td tags -->
<xsl:template match="td">
<td bgcolor="{$table-td-bg}" valign="top" align="left">
<xsl:if test="@colspan"><xsl:attribute name="colspan"><xsl:value-of select="@colspan"/></xsl:attribute></xsl:if>
<xsl:if test="@rowspan"><xsl:attribute name="rowspan"><xsl:value-of select="@rowspan"/></xsl:attribute></xsl:if>
<xsl:if test="@width"><xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute></xsl:if>
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
<xsl:apply-templates/>
</font>
</td>
</xsl:template>
<!-- handle th -->
<xsl:template match="th">
<td bgcolor="{$table-th-bg}" valign="top">
<xsl:if test="@colspan"><xsl:attribute name="colspan"><xsl:value-of select="@colspan"/></xsl:attribute></xsl:if>
<xsl:if test="@rowspan"><xsl:attribute name="rowspan"><xsl:value-of select="@rowspan"/></xsl:attribute></xsl:if>
<font color="#ffffff" size="-1" face="arial,helvetica,sanserif">
<b><xsl:apply-templates /></b>
</font>
</td>
</xsl:template>
<!-- Process a source code example -->
<xsl:template match="source">
<xsl:variable name="void">
<xsl:value-of select="$relative-path"/><xsl:value-of select="$void-image"/>
</xsl:variable>
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="{$source-color}" width="1" height="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="{$source-color}" height="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="{$source-color}" width="1" height="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
</tr>
<tr>
<td bgcolor="{$source-color}" width="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="#ffffff" height="1"><pre>
<xsl:value-of select="."/>
</pre></td>
<td bgcolor="{$source-color}" width="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
</tr>
<tr>
<td bgcolor="{$source-color}" width="1" height="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="{$source-color}" height="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
<td bgcolor="{$source-color}" width="1" height="1">
<img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
</tr>
</table>
</div>
</xsl:template>
<!-- Process an attributes list with nested attribute elements -->
<xsl:template match="attributes">
<table border="1" cellpadding="5">
<tr>
<th width="15%" bgcolor="{$attributes-color}">
<font color="#ffffff">Attribute</font>
</th>
<th width="85%" bgcolor="{$attributes-color}">
<font color="#ffffff">Description</font>
</th>
<xsl:for-each select="attribute">
<tr>
<td align="left" valign="center">
<xsl:if test="@required = 'true'">
<strong><code><xsl:value-of select="@name"/></code></strong>
</xsl:if>
<xsl:if test="@required != 'true'">
<code><xsl:value-of select="@name"/></code>
</xsl:if>
</td>
<td align="left" valign="center">
<xsl:apply-templates/>
</td>
</tr>
</xsl:for-each>
</tr>
</table>
</xsl:template>
<!-- Process everything else by just passing it through -->
<xsl:template match="*|@*">
<xsl:copy>
<xsl:apply-templates select="@*|*|text()"/>
</xsl:copy>
</xsl:template>
<!-- Changelog related tags -->
<xsl:template match="changelog">
<table border="0" cellpadding="2" cellspacing="2">
<xsl:apply-templates/>
</table>
</xsl:template>
<xsl:template name="displayDate">
<xsl:if test="@date"><xsl:value-of select="@date"/>: </xsl:if>
</xsl:template>
<xsl:template name="displayAuthor">
<xsl:if test="@author">(<xsl:value-of select="@author"/>)</xsl:if>
</xsl:template>
<xsl:template match="changelog/add">
<tr>
<td style="vertical-align: top;"><img alt="add" class="icon" src="images/add.gif"/></td>
<td><xsl:call-template name="displayDate"/><xsl:apply-templates/><xsl:call-template name="displayAuthor"/></td>
</tr>
</xsl:template>
<xsl:template match="changelog/update">
<tr>
<td style="vertical-align: top;"><img alt="update" class="icon" src="images/update.gif"/></td>
<td><xsl:call-template name="displayDate"/><xsl:apply-templates/><xsl:call-template name="displayAuthor"/></td>
</tr>
</xsl:template>
<xsl:template match="changelog/design">
<tr>
<td style="vertical-align: top;"><img alt="design" class="icon" src="images/design.gif"/></td>
<td><xsl:call-template name="displayDate"/><xsl:apply-templates/><xsl:call-template name="displayAuthor"/></td>
</tr>
</xsl:template>
<xsl:template match="changelog/docs">
<tr>
<td style="vertical-align: top;"><img alt="docs" class="icon" src="images/docs.gif"/></td>
<td><xsl:call-template name="displayDate"/><xsl:apply-templates/><xsl:call-template name="displayAuthor"/></td>
</tr>
</xsl:template>
<xsl:template match="changelog/fix">
<tr>
<td style="vertical-align: top;"><img alt="fix" class="icon" src="images/fix.gif"/></td>
<td>
<xsl:if test="@bugzilla-id"> [
<xsl:element name="a">
<xsl:attribute name="href">http://nagoya.apache.org/bugzilla/show_bug.cgi?id=<xsl:value-of select="@bugzilla-id"/></xsl:attribute>
bug #<xsl:value-of select="@bugzilla-id"/>
</xsl:element>
]</xsl:if>
<xsl:call-template name="displayDate"/><xsl:apply-templates/><xsl:call-template name="displayAuthor"/>
</td>
</tr>
</xsl:template>
<xsl:template match="changelog/scode">
<tr>
<td style="vertical-align: top;"><img alt="code" class="icon" src="images/code.gif"/></td>
<td><xsl:call-template name="displayDate"/><xsl:apply-templates/><xsl:call-template name="displayAuthor"/></td>
</tr>
</xsl:template>
<!-- Process an attributes list with nested attribute elements -->
<xsl:template match="status">
<table border="1" cellpadding="5">
<tr>
<th width="15%" bgcolor="{$attributes-color}">
<font color="#ffffff">Priority</font>
</th>
<th width="50%" bgcolor="{$attributes-color}">
<font color="#ffffff">Action Item</font>
</th>
<th width="25%" bgcolor="{$attributes-color}">
<font color="#ffffff">Volunteers</font>
</th>
<xsl:for-each select="item">
<tr>
<td align="left" valign="center">
<xsl:value-of select="@priority"/>
</td>
<td align="left" valign="center">
<xsl:apply-templates/>
</td>
<td align="left" valign="center">
<xsl:value-of select="@owner"/>
</td>
</tr>
</xsl:for-each>
</tr>
</table>
</xsl:template>
<!-- Process a tag library section -->
<xsl:template match="taglib">
<table border="0" cellspacing="5" cellpadding="5" width="100%">
<tr><td bgcolor="{$banner-bg}">
<font color="{$banner-fg}" face="arial,helvetica,sanserif" size="+1">
<strong><xsl:value-of select="display-name"/></strong>
</font>
</td></tr>
<tr><td>
<blockquote>
<xsl:apply-templates select="info"/>
</blockquote>
</td></tr>
<tr><td>
<blockquote>
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td bgcolor="{$table-th-bg}" width="15%" valign="top">
<font color="#ffffff" size="-1" face="arial,helvetica,sanserif"><b>Tag Name</b></font>
</td>
<td bgcolor="{$table-th-bg}" valign="top">
<font color="#ffffff" size="-1" face="arial,helvetica,sanserif"><b>Description</b></font>
</td>
</tr>
<xsl:for-each select="tag">
<tr>
<td bgcolor="{$table-td-bg}" align="left" valign="top">
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
<xsl:variable name="name">
<xsl:value-of select="name"/>
</xsl:variable>
<a href="#{$name}"><xsl:value-of select="name"/></a>
</font>
</td>
<td bgcolor="{$table-td-bg}" valign="top" align="left">
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
<xsl:value-of select="summary"/>
</font>
</td>
</tr>
</xsl:for-each>
</table>
</blockquote>
</td></tr>
</table>
<xsl:apply-templates select="tag"/>
</xsl:template>
<!-- Process an individual tag -->
<xsl:template match="tag">
<xsl:variable name="name">
<xsl:value-of select="name"/>
</xsl:variable>
<a name="{$name}"></a>
<table border="0" cellspacing="2" cellpadding="2">
<tr><td bgcolor="{$banner-bg}">
<font color="{$banner-fg}" face="arial,helvetica,sanserif">
<strong><xsl:value-of select="name"/></strong> -
<xsl:value-of select="summary"/>
</font>
</td></tr>
<tr><td>
<blockquote>
<xsl:apply-templates select="info"/>
</blockquote>
</td></tr>
<tr><td>
<blockquote>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td bgcolor="{$table-th-bg}" width="15%" valign="top">
<font color="#ffffff" size="-1" face="arial,helvetica,sanserif"><b>Attribute Name</b></font>
</td>
<td bgcolor="{$table-th-bg}" valign="top">
<font color="#ffffff" size="-1" face="arial,helvetica,sanserif"><b>Description</b></font>
</td>
</tr>
<xsl:for-each select="attribute">
<tr>
<td bgcolor="{$table-td-bg}" align="left" valign="top">
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
<xsl:value-of select="name"/>
</font>
</td>
<td bgcolor="{$table-td-bg}" align="left" valign="top">
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
<xsl:apply-templates select="info"/>
<xsl:variable name="required">
<xsl:value-of select="required"/>
</xsl:variable>
<xsl:if test="required='true'">
[Required]
</xsl:if>
<xsl:if test="rtexprvalue='true'">
[RT Expr]
</xsl:if>
</font>
</td>
</tr>
</xsl:for-each>
</table>
</blockquote>
</td></tr>
</table>
</xsl:template>
</xsl:stylesheet>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org