The attatched version of common.xsl includes my posted changes from earlier and has been cleaned up for readability. My gawd that was one ugly file.
I'm attaching the whole file becaues the diff was 6k bigger than the original.
Shane
<?xml version="1.0"?> <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/strict">
<!-- --> <!-- Please, don't hard-code output strings! Use the language --> <!-- files and the translation "stuff"... --> <!-- --> <!-- Constants used for case translation --> <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" /> <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> <xsl:variable name="path"> <xsl:choose> <xsl:when test="*/relative-path/@href"> <xsl:value-of select="*/relative-path/@href"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="'..'"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <!-- --> <!-- <moduleindex> --> <!-- Builds the moduleindex page --> <!-- --> <xsl:template match="moduleindex"> <html> <head> <title> <xsl:value-of select="title"/> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachetitle']"/> </title> <link rel="stylesheet" type="text/css" href="../style/manual.css" /> </head> <body> <blockquote> <div align="center"> <img src="../images/sub.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachedocalt']"/> </xsl:attribute> </img> <h3> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> </div> <h1 align="center"> <xsl:value-of select="title"/> </h1> <xsl:apply-templates select="summary" /> <h2> <xsl:value-of select="$messages/[EMAIL PROTECTED]'corefeatures']"/> </h2> <dl> <xsl:for-each select="document(modulefilelist/modulefile)/modulesynopsis"> <xsl:sort select="name"/> <xsl:if test="status='MPM' or status='Core'"> <dt> <a href="{name}.html"> <xsl:value-of select="name"/> </a> </dt> <dd> <xsl:apply-templates select="description"/> </dd> </xsl:if> </xsl:for-each> </dl> <h2> <xsl:value-of select="$messages/[EMAIL PROTECTED]'othermodules']"/> </h2> <dl> <xsl:for-each select="document(modulefilelist/modulefile)/modulesynopsis"> <xsl:sort select="name"/> <xsl:if test="status!='MPM' and status!='Core'"> <dt> <a href="{name}.html"> <xsl:value-of select="name"/> </a> </dt> <dd> <xsl:apply-templates select="description"/> </dd> </xsl:if> </xsl:for-each> </dl> </blockquote> <!-- Page footer --> <hr /> <h3 align="center"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> <a href="./"> <img src="../images/index.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'index']"/> </xsl:attribute> </img> </a> <a href="../"> <img src="../images/home.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'home']"/> </xsl:attribute> </img> </a> </body> </html> </xsl:template> <!-- /moduleindex --> <!-- --> <!-- <directiveindex> --> <!-- Builds the directive index page --> <!-- --> <xsl:template match="directiveindex"> <html> <head> <title> <xsl:value-of select="title"/> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachetitle']"/> </title> <link rel="stylesheet" type="text/css" href="../style/manual.css" /> </head> <body> <blockquote> <div align="center"> <img src="../images/sub.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachedocalt']"/> </xsl:attribute> </img> <h3> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> </div> <h1 align="center"> <xsl:value-of select="title"/> </h1> <xsl:apply-templates select="summary" /> <ul> <xsl:for-each select="document(modulefilelist/modulefile)/modulesynopsis/directivesynopsis"> <xsl:sort select="name"/> <xsl:if test="not(@location)"> <li> <a href="{/modulesynopsis/name}.html#{translate(name,$uppercase,$lowercase)}"> <xsl:value-of select="name"/> </a> </li> </xsl:if> </xsl:for-each> </ul> </blockquote> <!-- Page footer --> <hr /> <h3 align="center"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> <a href="./"> <img src="../images/index.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'index']"/> </xsl:attribute> </img> </a> <a href="../"> <img src="../images/home.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'home']"/> </xsl:attribute> </img> </a> </body> </html> </xsl:template> <!-- /directiveindex --> <!-- --> <!-- <manualpage> --> <!-- Process an entire document into an HTML page --> <!-- --> <xsl:template match="manualpage"> <html> <head> <xsl:comment> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX </xsl:comment> <title> <xsl:value-of select="title"/> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachetitle']"/> </title> <link rel="stylesheet" type="text/css" href="{$path}/style/manual.css" /> </head> <body> <blockquote> <div align="center"> <img src="{$path}/images/sub.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachedocalt']"/> </xsl:attribute> </img> <h3> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> </div> <h1 align="center"> <xsl:value-of select="title"/> </h1> <xsl:if test="summary"> <h2> <xsl:value-of select="$messages/[EMAIL PROTECTED]'summary']"/> </h2> <xsl:apply-templates select="summary"/> </xsl:if> <ul> <xsl:apply-templates select="section" mode="index"/> </ul> <xsl:if test="seealso"> <p> <strong> <xsl:value-of select="$messages/[EMAIL PROTECTED]'seealso']"/> </strong> </p> <ul> <xsl:for-each select="seealso"> <li> <xsl:apply-templates/> </li> </xsl:for-each> </ul> </xsl:if> <xsl:apply-templates select="section"/> </blockquote> <!-- Page footer --> <hr/> <h3 align="center"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> <a href="./"> <img src="{$path}/images/index.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'index']"/> </xsl:attribute> </img> </a> <a href="{$path}/"> <img src="{$path}/images/home.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'home']"/> </xsl:attribute> </img> </a> </body> </html> </xsl:template> <!-- /manualpage --> <!-- --> <!-- <modulesynopsis> --> <!-- Process an entire document into an HTML page --> <!-- --> <xsl:template match="modulesynopsis"> <html> <head> <xsl:comment> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX </xsl:comment> <title> <xsl:value-of select="name"/> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachetitle']"/> </title> <link rel="stylesheet" type="text/css" href="../style/manual.css" /> </head> <body> <blockquote> <div align="center"> <img src="../images/sub.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachedocalt']"/> </xsl:attribute> </img> <h3> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> </div> <h1 align="center"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachemodule']"/> <xsl:text> </xsl:text> <xsl:value-of select="name"/> </h1> <!-- Description and module-headers --> <table bgcolor="#cccccc" cellpadding="0" cellspacing="1"> <tr> <td> <table bgcolor="#ffffff"> <tr> <td valign="top" nowrap="nowrap"> <span class="help"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'description']"/>: </span> </td> <td> <xsl:apply-templates select="description"/> </td> </tr> <tr> <td nowrap="nowrap"> <a class="help" href="module-dict.html#Status"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'status']"/>: </a> </td> <td> <xsl:value-of select="status"/> </td> </tr> <xsl:if test="identifier"> <tr> <td nowrap="nowrap"> <a class="help" href="module-dict.html#ModuleIdentifier"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'moduleidentifier']"/>: </a> </td> <td> <xsl:value-of select="identifier"/> </td> </tr> </xsl:if> <xsl:if test="compatibility"> <tr> <td valign="top" align="left"> <a class="help" href="module-dict.html#Compatibility"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'compatibility']"/>: </a> </td> <td> <xsl:apply-templates select="compatibility"/> </td> </tr> </xsl:if> </table> </td> </tr> </table> <!-- Summary of module features/usage (1 to 3 paragraphs, optional) --> <xsl:if test="summary"> <h2> <xsl:value-of select="$messages/[EMAIL PROTECTED]'summary']"/> </h2> <xsl:apply-templates select="summary"/> </xsl:if> <!-- Index of directives, automatically generated from directivesynopsis/name --> <h2> <xsl:value-of select="$messages/[EMAIL PROTECTED]'directives']"/> </h2> <xsl:if test="directivesynopsis"> <ul> <xsl:for-each select="directivesynopsis"> <xsl:sort select="name"/> <xsl:variable name="name"> <xsl:value-of select="name"/> </xsl:variable> <xsl:variable name="lowername" select="translate($name, $uppercase, $lowercase)" /> <xsl:if test="not(@location)"> <li> <a href="#{$lowername}"> <xsl:value-of select="name"/> </a> </li> </xsl:if> <xsl:if test="./@location"> <xsl:variable name="location"> <xsl:value-of select="./@location"/> </xsl:variable> <xsl:variable name="lowerlocation" select="translate($location, $uppercase, $lowercase)" /> <li> <a href="{$lowerlocation}.html#{$lowername}"> <xsl:value-of select="name"/> </a> </li> </xsl:if> </xsl:for-each> </ul> </xsl:if> <xsl:if test="not(directivesynopsis)"> <p> <xsl:value-of select="$messages/[EMAIL PROTECTED]'nodirectives']"/> </p> </xsl:if> <xsl:if test="seealso"> <p> <strong> <xsl:value-of select="$messages/[EMAIL PROTECTED]'seealso']"/> </strong> </p> <ul> <xsl:for-each select="seealso"> <li> <xsl:apply-templates/> </li> </xsl:for-each> </ul> </xsl:if> <!-- Sections of documentation about the module as a whole --> <xsl:apply-templates select="section"/> <hr /> <!-- Directive documentation --> <xsl:apply-templates select="directivesynopsis"> <xsl:sort select="name"/> </xsl:apply-templates> </blockquote> <!-- Page footer --> <h3 align="center"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'apachehttpserver']"/> </h3> <a href="./"> <img src="../images/index.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'index']"/> </xsl:attribute> </img> </a> <a href="../"> <img src="../images/home.gif"> <xsl:attribute name="alt"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'home']"/> </xsl:attribute> </img> </a> </body> </html> </xsl:template> <!-- /modulesynopsis --> <!-- Subsections: get a lower level heading --> <xsl:template match="section/section"> <xsl:variable name="href"> <xsl:value-of select="@id"/> </xsl:variable> <!-- Section heading --> <xsl:if test="@id"> <h3> <a name="{$href}"> <xsl:apply-templates select="./title" mode="print"/> </a> </h3> </xsl:if> <xsl:if test="not(@id)"> <h3> <xsl:apply-templates select="./title" mode="print"/> </h3> </xsl:if> <!-- Section body --> <xsl:apply-templates/> </xsl:template> <!-- Process a documentation section --> <xsl:template match="section"> <xsl:variable name="href"> <xsl:value-of select="@id"/> </xsl:variable> <!-- Section heading --> <xsl:if test="@id"> <h2> <a name="{$href}"> <xsl:apply-templates select="./title" mode="print"/> </a> </h2> </xsl:if> <xsl:if test="not(@id)"> <h2> <xsl:apply-templates select="./title" mode="print"/> </h2> </xsl:if> <!-- Section body --> <xsl:apply-templates/> </xsl:template> <xsl:template match="section/title" mode="print"> <xsl:apply-templates/> </xsl:template> <!-- Don't print the title twice --> <xsl:template match="section/title"></xsl:template> <xsl:template match="section" mode="index"> <xsl:variable name="href"> <xsl:value-of select="@id"/> </xsl:variable> <li> <a href="#{$href}"> <xsl:apply-templates select="title" mode="print"/> </a> <xsl:if test="section"> <ul> <xsl:apply-templates select="section" mode="index"/> </ul> </xsl:if> </li> </xsl:template> <xsl:template match="directivesynopsis"> <xsl:if test="not(@location)"> <xsl:variable name="name"> <xsl:value-of select="./name"/> </xsl:variable> <xsl:variable name="lowername" select="translate($name, $uppercase, $lowercase)" /> <!-- Directive heading gets both mixed case and lowercase anchors, and includes lt/gt only for "section" directives --> <h2> <a name="{$name}"> <xsl:if test="./@type='section'"><</xsl:if> <xsl:value-of select="./name"/> <xsl:if test="./@type='section'">></xsl:if> </a> <xsl:text> </xsl:text> <a name="{$lowername}"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'directive']"/> </a> </h2> <!-- Directive header --> <table bgcolor="#cccccc" border="0" cellspacing="0" cellpadding="1"> <tr> <td> <table bgcolor="#ffffff"> <tr> <td nowrap="nowrap"> <strong> <xsl:value-of select="$messages/[EMAIL PROTECTED]'description']"/>: </strong> </td> <td> <xsl:value-of select="description"/> </td> </tr> <tr> <td nowrap="nowrap"> <a class="help" href="directive-dict.html#Syntax"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'syntax']"/>: </a> </td> <td> <xsl:apply-templates select="syntax"/> </td> </tr> <xsl:if test="default"> <tr> <td nowrap="nowrap"> <a class="help" href="directive-dict.html#Default"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'default']"/>: </a> </td> <td> <code> <xsl:value-of select="default"/> </code> </td> </tr> </xsl:if> <tr> <td nowrap="nowrap"> <a class="help" href="directive-dict.html#Context"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'context']"/>: </a> </td> <td> <xsl:apply-templates select="contextlist"/> </td> </tr> <xsl:if test="override"> <tr> <td nowrap="nowrap"> <a class="help" href="directive-dict.html#Override"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'override']"/>: </a> </td> <td> <xsl:value-of select="override"/> </td> </tr> </xsl:if> <tr> <td nowrap="nowrap"> <a class="help" href="directive-dict.html#Status"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'status']"/>: </a> </td> <td> <xsl:value-of select="/modulesynopsis/status"/> </td> </tr> <tr> <td nowrap="nowrap"> <a class="help" href="directive-dict.html#Module"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'module']"/>: </a> </td> <td> <xsl:if test="modulelist"> <xsl:apply-templates select="modulelist"/> </xsl:if> <xsl:if test="not(modulelist)"> <xsl:value-of select="/modulesynopsis/name"/> </xsl:if> </td> </tr> <xsl:if test="compatibility"> <tr> <td valign="top" align="left" nowrap="nowrap"> <a class="help" href="directive-dict.html#Compatibility"> <xsl:value-of select="$messages/[EMAIL PROTECTED]'compatibility']"/>: </a> </td> <td> <xsl:value-of select="compatibility"/> </td> </tr> </xsl:if> </table> </td> </tr> </table> <xsl:apply-templates select="usage"/> <xsl:if test="seealso"> <p> <strong> <xsl:value-of select="$messages/[EMAIL PROTECTED]'seealso']"/> </strong> </p> <ul> <xsl:for-each select="seealso"> <li> <xsl:apply-templates/> </li> </xsl:for-each> </ul> </xsl:if> <hr /> </xsl:if> <!-- not(@location) --> </xsl:template> <!-- /directivesynopsis --> <!-- --> <!-- <contextlist> --> <!-- Passes through content --> <!-- --> <xsl:template match="contextlist"> <xsl:apply-templates select="context"/> </xsl:template> <!-- /contextlist --> <!-- --> <!-- <context> --> <!-- Each entry is separeted with a comma --> <!-- --> <xsl:template match="context"> <xsl:value-of select="." /> <xsl:if test="not(position()=last())">, </xsl:if> </xsl:template> <!-- /context --> <!-- --> <!-- <modulelist> --> <!-- Passes through content --> <!-- --> <xsl:template match="modulelist"> <xsl:apply-templates select="module"/> </xsl:template> <!-- /modulelist --> <!-- --> <!-- <example> --> <!-- Examples are set in a "colored" table. --> <!-- --> <xsl:template match="example"> <blockquote> <table cellpadding="10"> <tr> <td bgcolor="#eeeeee"> <xsl:apply-templates select="title" mode="print"/> <code> <xsl:apply-templates/> </code> </td> </tr> </table> </blockquote> </xsl:template> <!-- /example --> <!-- --> <!-- <example><title> --> <!-- --> <xsl:template match="example/title" mode="print"> <p align="center"> <strong> <xsl:apply-templates/> </strong> </p> </xsl:template> <!-- /example/title --> <!-- --> <!-- <example><title> --> <!-- --> <xsl:template match="example/title"> </xsl:template> <!-- --> <!-- <note> --> <!-- Notes are placed in a table. Uses different back- --> <!-- ground colors, depending on type of note. --> <!-- --> <xsl:template match="note"> <blockquote> <table> <tr> <td> <xsl:choose> <xsl:when test="@type='warning'"> <xsl:attribute name="bgcolor">#ffe5f5</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="bgcolor">#e0e5f5</xsl:attribute> </xsl:otherwise> </xsl:choose> <xsl:apply-templates/> </td> </tr> </table> </blockquote> </xsl:template> <!-- /note --> <!-- --> <!-- <note><title> --> <!-- --> <xsl:template match="note/title"> <p align="center"> <strong> <xsl:apply-templates/> </strong> </p> </xsl:template> <!-- /note/title --> <!-- --> <!-- <directive> --> <!-- Inserts link to another directive, which might be --> <!-- in another module. References are converted into --> <!-- lower case. --> <!-- --> <xsl:template match="directive" name="directive"> <xsl:if test="@module"> <xsl:variable name="module"> <xsl:value-of select="./@module"/> </xsl:variable> <xsl:variable name="directive"> <xsl:value-of select="."/> </xsl:variable> <xsl:variable name="lowerdirective" select="translate($directive, $uppercase, $lowercase)" /> <xsl:choose> <xsl:when test="@module=/modulesynopsis/name"> <a class="directive" href="#{$lowerdirective}"> <code class="directive"> <xsl:if test="./@type='section'"><</xsl:if> <xsl:value-of select="."/> <xsl:if test="./@type='section'">></xsl:if> </code> </a> </xsl:when> <xsl:otherwise> <a class="directive" href="{$path}/mod/{$module}.html#{$lowerdirective}"> <code class="directive"> <xsl:if test="./@type='section'"><</xsl:if> <xsl:value-of select="."/> <xsl:if test="./@type='section'">></xsl:if> </code> </a> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:if test="not(@module)"> <code class="directive"> <xsl:if test="./@type='section'"><</xsl:if> <xsl:value-of select="."/> <xsl:if test="./@type='section'">></xsl:if> </code> </xsl:if> </xsl:template> <!-- /directive --> <!-- --> <!-- <module> --> <!-- Inserts a link to refereed module --> <!-- --> <xsl:template match="module" name="module"> <code> <a href="{$path}/mod/{.}.html"> <xsl:value-of select="."/> </a> </code> <xsl:if test="parent::modulelist"> <xsl:if test="not(position()=last())">, </xsl:if> </xsl:if> </xsl:template> <!-- /module --> <!-- --> <!-- <related> --> <!-- --> <xsl:template match="related"> <table border="1"> <tr> <td valign="top"> <strong> <xsl:value-of select="$messages/[EMAIL PROTECTED]'relatedmodules']"/> </strong> <br /> <br /> <xsl:apply-templates select="modulelist"/> </td> <td valign="top"> <strong> <xsl:value-of select="$messages/[EMAIL PROTECTED]'relateddirectives']"/> </strong> <br /> <br /> <xsl:apply-templates select="directivelist"/> </td> </tr> </table> </xsl:template> <!-- /related --> <xsl:template match="related/modulelist"> <xsl:for-each select="module"> <xsl:call-template name="module"/> <br /> </xsl:for-each> </xsl:template> <xsl:template match="related/directivelist"> <xsl:for-each select="directive"> <xsl:call-template name="directive"/> <br /> </xsl:for-each> </xsl:template> <!-- --> <!-- <summary> --> <!-- Passes through content --> <!-- --> <xsl:template match="summary"> <xsl:apply-templates/> </xsl:template> <!-- /summary --> <!-- --> <!-- <description> --> <!-- Passes through content --> <!-- --> <xsl:template match="description"> <xsl:apply-templates/> </xsl:template> <!-- /description --> <!-- --> <!-- <usage> --> <!-- Passes through content --> <!-- --> <xsl:template match="usage"> <xsl:apply-templates/> </xsl:template> <!-- /usage --> <!-- --> <!-- <syntax> --> <!-- Passes through content --> <!-- --> <xsl:template match="syntax"> <xsl:apply-templates/> </xsl:template> <!-- /syntax --> <!-- --> <!-- Process everything else by just passing it through --> <!-- --> <xsl:template match="*|@*"> <xsl:copy> <xsl:apply-templates select="@*|*|text()"/> </xsl:copy> </xsl:template> </xsl:stylesheet>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]