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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org