You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2010/06/19 20:35:24 UTC
svn commit: r956268 -
/tomcat/sandbox/tomcat-oacc/trunk/docs/tomcat-oacc-docs.xsl
Author: rjung
Date: Sat Jun 19 18:35:24 2010
New Revision: 956268
URL: http://svn.apache.org/viewvc?rev=956268&view=rev
Log:
Documentation stylesheet improvements.
This includes the following:
- Support <rev> element to provide references to
revision numbers (r631321, r918396)
- Use CSS rules to provide printer-friendly layout:
class="noPrint" (r717913)
For compatibility, generation of a separate printer-friendly
version of the docs with XSLT is still supported.
- Support for generation of table of contents using the <toc/>
tag (r918073)
- Provide disambiguation for anchor names, when there are
subsections with the same name inside of different sections.
See config/valve.html for an example. (r918916)
- Use underscores instead of spaces in anchor names for
sections, subsections.
To preserve compatibility each (sub)section will generate
two anchors: the old one and the new one, if they differ. (r941356)
Backport of r941413 from Tomcat 5.5.
Modified:
tomcat/sandbox/tomcat-oacc/trunk/docs/tomcat-oacc-docs.xsl
Modified: tomcat/sandbox/tomcat-oacc/trunk/docs/tomcat-oacc-docs.xsl
URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/docs/tomcat-oacc-docs.xsl?rev=956268&r1=956267&r2=956268&view=diff
==============================================================================
--- tomcat/sandbox/tomcat-oacc/trunk/docs/tomcat-oacc-docs.xsl (original)
+++ tomcat/sandbox/tomcat-oacc/trunk/docs/tomcat-oacc-docs.xsl Sat Jun 19 18:35:24 2010
@@ -40,6 +40,7 @@
<xsl:param name="project-menu" select="'menu'"/>
<xsl:param name="standalone" select="''"/>
<xsl:param name="buglink" select="'http://issues.apache.org/bugzilla/show_bug.cgi?id='"/>
+ <xsl:param name="revlink" select="'http://svn.apache.org/viewvc?view=rev&rev='"/>
<!-- Defined variables (non-overrideable) -->
<xsl:variable name="body-bg" select="'#ffffff'"/>
@@ -71,6 +72,10 @@
<meta name="author" value="{$name}"/>
<meta name="email" value="{$email}"/>
</xsl:for-each>
+ <style type="text/css" media="print">
+ .noPrint {display: none;}
+ td#mainBody {width: 100%;}
+ </style>
</head>
<body bgcolor="{$body-bg}" text="{$body-fg}" link="{$body-link}"
@@ -99,9 +104,7 @@
</xsl:if>
</td>
<td>
- <font face="arial,helvetica,sanserif">
- <h1><xsl:value-of select="$project/title"/></h1>
- </font>
+ <h1><font face="arial,helvetica,sanserif"><xsl:value-of select="$project/title"/></font></h1>
</td>
<td>
<xsl:comment>APACHE LOGO</xsl:comment>
@@ -129,44 +132,15 @@
<!-- Don't generate a menu if styling printer friendly docs -->
<xsl:if test="$project-menu = 'menu'">
<xsl:comment>LEFT SIDE NAVIGATION</xsl:comment>
- <td width="20%" valign="top" nowrap="true">
+ <td width="20%" valign="top" nowrap="true" class="noPrint">
<xsl:apply-templates select="project/body/menu"/>
</td>
</xsl:if>
<xsl:comment>RIGHT SIDE MAIN BODY</xsl:comment>
- <td width="80%" valign="top" align="left">
- <table border="0" width="100%" cellspacing="4">
- <tr>
- <td align="left" valign="top">
- <h1><xsl:value-of select="project/title"/></h1>
- <h2><xsl:value-of select="properties/title"/></h2>
- </td>
- <td align="right" valign="top" nowrap="true">
- <!-- Add the printer friendly link for docs with a menu -->
- <xsl:if test="$project-menu = 'menu'">
- <xsl:variable name="src">
- <xsl:value-of select="$relative-path"/><xsl:value-of select="$printer-logo"/>
- </xsl:variable>
- <xsl:variable name="url">
- <xsl:value-of select="/document/@url"/>
- </xsl:variable>
- <small>
- <a href="printer/{$url}">
- <img src="{$src}" border="0" alt="Printer Friendly Version"/>
- <br />print-friendly<br />version
- </a>
- </small>
- </xsl:if>
- <xsl:if test="$project-menu != 'menu'">
- <xsl:variable name="void">
- <xsl:value-of select="$relative-path"/><xsl:value-of select="$void-image"/>
- </xsl:variable>
- <img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
- </xsl:if>
- </td>
- </tr>
- </table>
+ <td width="80%" valign="top" align="left" id="mainBody">
+ <h1><xsl:value-of select="project/title"/></h1>
+ <h2><xsl:value-of select="properties/title"/></h2>
<xsl:apply-templates select="body/section"/>
</td>
@@ -216,11 +190,15 @@
<xsl:variable name="name">
<xsl:value-of select="@name"/>
</xsl:variable>
+ <xsl:variable name="name2">
+ <xsl:value-of select="translate($name, ' ', '_')"/>
+ </xsl:variable>
<table border="0" cellspacing="0" cellpadding="2">
<!-- Section heading -->
<tr><td bgcolor="{$banner-bg}">
<font color="{$banner-fg}" face="arial,helvetica.sanserif">
- <a name="{$name}">
+ <xsl:if test="$name != $name2"><a name="{$name}"><xsl:comment>()</xsl:comment></a></xsl:if>
+ <a name="{$name2}">
<strong><xsl:value-of select="@name"/></strong></a></font>
</td></tr>
<!-- Section body -->
@@ -234,13 +212,22 @@
<!-- Process a documentation subsection -->
<xsl:template match="subsection">
<xsl:variable name="name">
+ <xsl:if test="
+ count(//*[(local-name()='section' or local-name()='subsection') and @name=current()/@name]) > 1
+ ">
+ <xsl:value-of select="concat(ancestor::section/@name, '/')"/>
+ </xsl:if>
<xsl:value-of select="@name"/>
</xsl:variable>
+ <xsl:variable name="name2">
+ <xsl:value-of select="translate($name, ' ', '_')"/>
+ </xsl:variable>
<table border="0" cellspacing="0" cellpadding="2">
<!-- Subsection heading -->
<tr><td bgcolor="{$sub-banner-bg}">
<font color="{$sub-banner-fg}" face="arial,helvetica.sanserif">
- <a name="{$name}">
+ <xsl:if test="$name != $name2"><a name="{$name}"><xsl:comment>()</xsl:comment></a></xsl:if>
+ <a name="{$name2}">
<strong><xsl:value-of select="@name"/></strong></a></font>
</td></tr>
<!-- Subsection body -->
@@ -251,6 +238,31 @@
</xsl:template>
+ <!-- Generate table of contents -->
+ <xsl:template match="toc">
+ <ul><xsl:apply-templates mode="toc" select="following::section"/></ul>
+ </xsl:template>
+
+ <xsl:template mode="toc" match="section|subsection">
+ <xsl:variable name="name">
+ <xsl:if test="local-name()='subsection' and
+ count(//*[(local-name()='section' or local-name()='subsection') and @name=current()/@name]) > 1
+ ">
+ <xsl:value-of select="concat(ancestor::section/@name, '/')"/>
+ </xsl:if>
+ <xsl:value-of select="@name"/>
+ </xsl:variable>
+ <xsl:variable name="name2">
+ <xsl:value-of select="translate($name, ' ', '_')"/>
+ </xsl:variable>
+ <li><a href="#{$name2}"><xsl:value-of select="@name"/></a>
+ <xsl:if test="subsection">
+ <ol><xsl:apply-templates mode="toc" select="subsection"/></ol>
+ </xsl:if>
+ </li>
+ </xsl:template>
+
+
<!-- Process a source code example -->
<xsl:template match="source">
<xsl:variable name="void">
@@ -260,35 +272,35 @@
<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"/>
+ <img src="{$void}" alt="" 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"/>
+ <img src="{$void}" alt="" 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"/>
+ <img src="{$void}" alt="" 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"/>
+ <img src="{$void}" alt="" 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"/>
+ <img src="{$void}" alt="" 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"/>
+ <img src="{$void}" alt="" 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"/>
+ <img src="{$void}" alt="" 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"/>
+ <img src="{$void}" alt="" width="1" height="1" vspace="0" hspace="0" border="0"/>
</td>
</tr>
</table>
@@ -441,6 +453,12 @@
<xsl:variable name="link"><xsl:value-of select="$buglink"/><xsl:value-of select="text()"/></xsl:variable>
<a href="{$link}"><xsl:apply-templates/></a>
</xsl:template>
+
+ <!-- Link to a SVN revision report -->
+ <xsl:template match="rev">
+ <xsl:variable name="link"><xsl:value-of select="$revlink"/><xsl:value-of select="text()"/></xsl:variable>
+ <a href="{$link}">r<xsl:apply-templates/></a>
+ </xsl:template>
<!-- Process everything else by just passing it through -->
<xsl:template match="*|@*">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org