synopsis.xsl revision 3fa58e00171aebf3b2cfa90035ed530f5b1f651d
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<?xml version="1.0"?>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:stylesheet version="1.0"
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive xmlns="http://www.w3.org/1999/xhtml">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- <modulesynopsis> -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="modulesynopsis">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\section{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="/status='Core'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='apachecore']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test=".='mpm_common'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='apachempmcommon']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="/status='MPM'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='apachempm']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text> </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="name"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='apachemodule']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text> </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="name"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}\label{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="concat('/mod/',name)"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\begin{tabular}{lp{.75\linewidth}}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\hline
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message [@name='description']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="description" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message [@name='status']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="status" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="identifier">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message [@name='moduleidentifier']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="identifier" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="sourcefile">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message [@name='sourcefile']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="sourcefile" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="compatibility">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message [@name='compatibility']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="compatibility" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\hline \end{tabular}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- Summary of module features/usage (1 to 3 paragraphs, -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- optional) -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:if test="summary">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\subsection*{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='summary']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="summary" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\medskip\textbf{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='directives']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="directivesynopsis">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\begin{itemize}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:for-each select="directivesynopsis">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:sort select="name" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\item </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:if test="@type='section'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\textless{}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="name" mode="simple"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:if test="@type='section'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\textgreater{}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:if test="@location">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:variable name="lowerlocation"
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive select="translate(@location, $uppercase, $lowercase)" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text> (p.\ \pageref{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="concat(translate(@location,$uppercase,$lowercase),':',translate(name,$uppercase,$lowercase))"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>}) </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\end{itemize}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='nodirectives']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:if test="seealso">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\textbf{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message [@name='seealso']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>}\begin{itemize}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:for-each select="seealso">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\item </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\end{itemize}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- Sections of documentation about the module as a whole -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="section" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- Directive documentation -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="directivesynopsis">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:sort select="name" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:apply-templates>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- /modulesynopsis -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- Directivesynopsis -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="directivesynopsis/name" mode="simple" name="simpledirname">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="@type='section'"><xsl:text>\textless{}</xsl:text></xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="@type='section'"><xsl:text>\textgreater{}</xsl:text></xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="directivesynopsis/name">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\subsection*{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:call-template name="simpledirname"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive [@name='directive']/@replace-space-with"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='directive']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}\label{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="concat('/mod/', //modulesynopsis/name, ':', translate(., $uppercase, $lowercase))"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="directivesynopsis">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="not(@location)">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="name"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!-- Directive header -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\begin{tabular}{lp{.8\linewidth}}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\hline
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message [@name='description']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp; \begin{minipage}{.8\linewidth}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="description" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\end{minipage} \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='syntax']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp; \begin{minipage}{.8\linewidth}{\ttfamily </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="syntax" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}\end{minipage} \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="default">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='default']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp; \begin{minipage}{.8\linewidth}{\ttfamily </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="default" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}\end{minipage} \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='context']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="contextlist" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="override">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='override']"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="override" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='status']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="/status" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='module']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:when test="modulelist">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="modulelist" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="/name" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="compatibility">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='compatibility']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>: &amp;</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="compatibility" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> \\
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\hline
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\end{tabular}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="usage" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="seealso">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\textbf{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$messages/message[@name='seealso']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\begin{itemize}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:for-each select="seealso">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\item </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\end{itemize}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- /directivesynopsis -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- <contextlist> -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="contextlist">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates select="context" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- /contextlist -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- <context> -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- Each entry is separeted with a comma -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="context">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:when test="normalize-space(.) = 'server config'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message[@name='serverconfig']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:when test="normalize-space(.) = 'virtual host'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message[@name='virtualhost']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:when test="normalize-space(.) = 'directory'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message[@name='directory']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:when test="normalize-space(.) = '.htaccess'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$messages/message[@name='htaccess']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:otherwise> <!-- error -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:message terminate="yes">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive unknown context: <xsl:value-of select="." />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:message>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="position() != last()">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>, </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- /context -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- <modulelist> -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="modulelist">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:for-each select="module">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="module" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:if test="position() != last()">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>, </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- /modulelist -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- modulesynopsis/compatibility -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="modulesynopsis/compatibility">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- directivesynopsis/compatibility -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="directivesynopsis/compatibility">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:stylesheet>