<?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/1999/xhtml"> <!-- --> <!-- <modulesynopsis> --> <!-- Process an entire document into an HTML page --> <!-- --> <xsl:template match="modulesynopsis"> <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}"> <xsl:call-template name="head"/> <xsl:text> </xsl:text> <!-- insert line break --> <body> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:call-template name="top"/> <xsl:text> </xsl:text> <!-- insert line break --> <div id="page-content"> <xsl:text> </xsl:text> <!-- insert line break --> <div id="preamble"> <h1> <xsl:choose> <xsl:when test="status='Core'"> <xsl:value-of select="$messages/message[@name='apachecore']"/> </xsl:when> <xsl:when test="name='mpm_common'"> <xsl:value-of select="$messages/message[@name='apachempmcommon']"/> </xsl:when> <xsl:when test="status='MPM'"> <xsl:value-of select="$messages/message[@name='apachempm']"/> <xsl:text> </xsl:text> <xsl:call-template name="module-translatename"> <xsl:with-param name="name" select="name" /> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:if test="status='Obsolete'"> <xsl:value-of select="$messages/message[@name='obsoleteapachemodule']"/> </xsl:if> <xsl:if test="status!='Obsolete'"> <xsl:value-of select="$messages/message[@name='apachemodule']"/> </xsl:if> <xsl:text> </xsl:text> <xsl:value-of select="name"/> </xsl:otherwise> </xsl:choose> </h1> <xsl:text> </xsl:text> <!-- insert line break --> <!-- Description and module-headers --> <table class="module"> <tr> <th> <a href="module-dict.html#Description"> <xsl:value-of select="$messages/message[@name='description']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:apply-templates select="description"/> </td> </tr> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="module-dict.html#Status"> <xsl:value-of select="$messages/message[@name='status']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:value-of select="status"/> <xsl:if test="hint"> <em> <xsl:text> (</xsl:text> <xsl:apply-templates select="hint"/> <xsl:text>)</xsl:text> </em> <br /> </xsl:if> </td> </tr> <xsl:if test="identifier"> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="module-dict.html#ModuleIdentifier"> <xsl:value-of select="$messages/message[@name='moduleidentifier']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:value-of select="identifier"/> </td> </tr> </xsl:if> <xsl:if test="sourcefile"> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="module-dict.html#SourceFile"> <xsl:value-of select="$messages/message[@name='sourcefile']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:value-of select="sourcefile"/> </td> </tr> </xsl:if> <xsl:if test="compatibility"> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="module-dict.html#Compatibility"> <xsl:value-of select="$messages/message[@name='compatibility']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:apply-templates select="compatibility"/> </td> </tr> </xsl:if> </table> <xsl:text> </xsl:text> <!-- insert line break --> <!-- Summary of module features/usage (1 to 3 paragraphs, optional) --> <xsl:if test="summary"> <h3> <xsl:value-of select="$messages/message[@name='summary']"/> </h3> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:apply-templates select="summary"/> </xsl:if> </div> <!-- /preamble --> <xsl:text> </xsl:text> <!-- insert line break --> <div id="quickview"> <!-- Index of directives, automatically generated from directivesynopsis/name --> <h3 class="directives"> <xsl:value-of select="$messages/message[@name='directives']"/> </h3> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:if test="directivesynopsis"> <ul id="toc"> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:for-each select="directivesynopsis"> <xsl:sort select="name"/> <xsl:variable name="lowername" select="translate(name, $uppercase, $lowercase)"/> <xsl:if test="not(@location)"> <li> <img src="{$path}/images/down.gif" alt="" /> <xsl:text> </xsl:text> <a href="#{$lowername}"> <xsl:if test="@type='section'"><</xsl:if> <xsl:value-of select="name"/> <xsl:if test="@type='section'">></xsl:if> </a> </li> <xsl:text> </xsl:text> <!-- insert linebreak --> </xsl:if> <xsl:if test="@location"> <xsl:variable name="lowerlocation" select="translate(@location, $uppercase, $lowercase)"/> <li> <img src="{$path}/images/right.gif" alt="" /> <xsl:text> </xsl:text> <a href="{$lowerlocation}.html#{$lowername}"> <xsl:if test="@type='section'"><</xsl:if> <xsl:value-of select="name"/> <xsl:if test="@type='section'">></xsl:if> </a> </li> <xsl:text> </xsl:text> <!-- insert linebreak --> </xsl:if> </xsl:for-each> </ul> <!-- /toc --> <xsl:text> </xsl:text> <!-- insert line break --> </xsl:if> <xsl:if test="not(directivesynopsis)"> <p> <xsl:value-of select="$messages/message[@name='nodirectives']"/> </p> <xsl:text> </xsl:text> <!-- insert line break --> </xsl:if> <xsl:if test="section"> <h3> <xsl:value-of select="$messages/message[@name='topics']"/> </h3> <xsl:text> </xsl:text> <!-- insert line break --> <ul id="topics"> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:apply-templates select="section" mode="index"/> </ul> </xsl:if> <xsl:if test="seealso"> <h3> <xsl:value-of select="$messages/message[@name='seealso']"/> </h3> <xsl:text> </xsl:text> <!-- insert line break --> <ul class="seealso"> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:for-each select="seealso"> <li> <xsl:apply-templates/> </li> <xsl:text> </xsl:text> <!-- insert line break --> </xsl:for-each> </ul> </xsl:if> </div> <!-- /quickview --> <xsl:text> </xsl:text> <!-- insert line break --> <!-- Sections of documentation about the module as a whole --> <xsl:apply-templates select="section"/> <xsl:text> </xsl:text> <!-- insert line break --> <!-- Directive documentation --> <xsl:apply-templates select="directivesynopsis"> <xsl:sort select="name"/> </xsl:apply-templates> </div> <!-- /page-content --> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:call-template name="bottom"/> <xsl:text> </xsl:text> <!-- insert line break --> </body> </html> </xsl:template> <!-- /modulesynopsis --> <!-- --> <!-- modulesynopsis/compatibility --> <!-- --> <xsl:template match="modulesynopsis/compatibility"> <xsl:apply-templates /> </xsl:template> <!-- --> <!-- directivesynopsis/compatibility --> <!-- --> <xsl:template match="directivesynopsis/compatibility"> <xsl:apply-templates /> </xsl:template> <!-- --> <!-- Directivesynopsis --> <!-- --> <xsl:template match="directivesynopsis"> <xsl:if test="not(@location)"> <xsl:call-template name="toplink"/> <xsl:text> </xsl:text> <!-- insert line break --> <div class="directive-section"> <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 id="{name}" name="{name}"> <xsl:if test="@type='section'"><</xsl:if> <xsl:value-of select="name"/> <xsl:if test="@type='section'">></xsl:if> </a> <xsl:choose> <xsl:when test="$messages/message[@name='directive']/@replace-space-with"> <xsl:value-of select="$messages/message[@name='directive']/@replace-space-with"/> </xsl:when> <xsl:otherwise> <xsl:text> </xsl:text> </xsl:otherwise> </xsl:choose> <a id="{$lowername}" name="{$lowername}"> <xsl:value-of select="$messages/message[@name='directive']"/> </a> </h2> <xsl:text> </xsl:text> <!-- insert line break --> <!-- Directive header --> <table class="directive"> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Description"> <xsl:value-of select="$messages/message[@name='description']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:value-of select="description"/> </td> </tr> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Syntax"> <xsl:value-of select="$messages/message[@name='syntax']"/> <xsl:text>:</xsl:text> </a> </th> <td> <code> <xsl:apply-templates select="syntax"/> </code> </td> </tr> <xsl:if test="default"> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Default"> <xsl:value-of select="$messages/message[@name='default']"/> <xsl:text>:</xsl:text> </a> </th> <td> <code> <xsl:apply-templates select="default"/> </code> </td> </tr> </xsl:if> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Context"> <xsl:value-of select="$messages/message[@name='context']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:apply-templates select="contextlist"/> </td> </tr> <xsl:if test="override"> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Override"> <xsl:value-of select="$messages/message[@name='override']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:value-of select="override"/> </td> </tr> </xsl:if> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Status"> <xsl:value-of select="$messages/message[@name='status']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:value-of select="../status"/> </td> </tr> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Module"> <xsl:value-of select="$messages/message[@name='module']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:if test="modulelist"> <xsl:apply-templates select="modulelist"/> </xsl:if> <xsl:if test="not(modulelist)"> <xsl:value-of select="../name"/> </xsl:if> </td> </tr> <xsl:if test="compatibility"> <xsl:text> </xsl:text> <!-- insert line break --> <tr> <th> <a href="directive-dict.html#Compatibility"> <xsl:value-of select="$messages/message[@name='compatibility']"/> <xsl:text>:</xsl:text> </a> </th> <td> <xsl:apply-templates select="compatibility"/> </td> </tr> </xsl:if> <xsl:text> </xsl:text> <!-- insert line break --> </table> <xsl:apply-templates select="usage"/> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:if test="seealso"> <h3> <xsl:value-of select="$messages/message[@name='seealso']"/> </h3> <xsl:text> </xsl:text> <!-- insert line break --> <ul> <xsl:text> </xsl:text> <!-- insert line break --> <xsl:for-each select="seealso"> <li> <xsl:apply-templates/> </li> <xsl:text> </xsl:text> <!-- insert line break --> </xsl:for-each> </ul> <xsl:text> </xsl:text> <!-- insert line break --> </xsl:if> </div> <!-- /directive-section --> <xsl:text> </xsl:text> <!-- insert line break --> </xsl:if> </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:choose> <xsl:when test="normalize-space(.) = 'server config'"> <xsl:value-of select="$messages/message[@name='serverconfig']"/> </xsl:when> <xsl:when test="normalize-space(.) = 'virtual host'"> <xsl:value-of select="$messages/message[@name='virtualhost']"/> </xsl:when> <xsl:when test="normalize-space(.) = 'directory'"> <xsl:value-of select="$messages/message[@name='directory']"/> </xsl:when> <xsl:when test="normalize-space(.) = '.htaccess'"> <xsl:value-of select="$messages/message[@name='htaccess']"/> </xsl:when> <xsl:otherwise> <!-- error --> <xsl:message terminate="yes"> unknown context: <xsl:value-of select="." /> </xsl:message> </xsl:otherwise> </xsl:choose> <xsl:if test="position() != last()"> <xsl:text>, </xsl:text> </xsl:if> </xsl:template> <!-- /context --> <!-- --> <!-- <modulelist> --> <!-- Passes through content --> <!-- --> <xsl:template match="modulelist"> <xsl:for-each select="module"> <xsl:call-template name="module"/> <xsl:if test="position() != last()"> <xsl:text>, </xsl:text> </xsl:if> </xsl:for-each> </xsl:template> <!-- /modulelist --> </xsl:stylesheet>