mirror of
https://github.com/apache/httpd.git
synced 2025-10-22 23:12:44 +03:00
module identifier etc. This change is mainly for the sake of Japanese translation. Because Japanese words are not whitespace separated, web browser can wrap it anywhere it wants. This change prevent "module identifier" etc from being wrapped. Suggested by: Hiroaki KAWAI <hawk@bcl.t.u-tokyo.ac.jp> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95312 13f79535-47bb-0310-9956-ffa450edef68
493 lines
22 KiB
XML
493 lines
22 KiB
XML
<?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'" />
|
|
|
|
<!-- Defined parameters (overrideable) -->
|
|
<xsl:param name="relative-path" select="'.'"/>
|
|
|
|
<!-- -->
|
|
<!-- Builds the moduleindex page -->
|
|
<!-- -->
|
|
<xsl:template match="moduleindex">
|
|
<html>
|
|
<head>
|
|
<title>
|
|
<xsl:value-of select="title"/><xsl:value-of select="$messages/message[@name='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/message[@name='apachedocalt']"/></xsl:attribute></img>
|
|
<h3><xsl:value-of select="$messages/message[@name='apachehttpserver']"/></h3>
|
|
</div>
|
|
<h1 align="center"><xsl:value-of select="title"/></h1>
|
|
<xsl:apply-templates select="summary" />
|
|
<h2><xsl:value-of select="$messages/message[@name='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/message[@name='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/message[@name='apachehttpserver']"/></h3>
|
|
<a href="./"><img src="../images/index.gif"><xsl:attribute name="alt"><xsl:value-of select="$messages/message[@name='index']"/></xsl:attribute></img></a>
|
|
<a href="../"><img src="../images/home.gif"><xsl:attribute name="alt"><xsl:value-of select="$messages/message[@name='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/message[@name='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/message[@name='apachedocalt']"/></xsl:attribute></img>
|
|
<h3><xsl:value-of select="$messages/message[@name='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/message[@name='apachehttpserver']"/></h3>
|
|
<a href="./"><img src="../images/index.gif"><xsl:attribute name="alt"><xsl:value-of select="$messages/message[@name='index']"/></xsl:attribute></img></a>
|
|
<a href="../"><img src="../images/home.gif"><xsl:attribute name="alt"><xsl:value-of select="$messages/message[@name='home']"/></xsl:attribute></img></a>
|
|
</body>
|
|
</html>
|
|
</xsl:template> <!-- /directiveindex -->
|
|
|
|
<!-- -->
|
|
<!-- <modulesynopsis> -->
|
|
<!-- Process an entire document into an HTML page -->
|
|
<!-- -->
|
|
<xsl:template match="modulesynopsis">
|
|
<html>
|
|
<head>
|
|
<!-- Do we need to translate this as well? -->
|
|
<xsl:comment>
|
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
This file is generated from xml source: DO NOT EDIT
|
|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
</xsl:comment>
|
|
<xsl:apply-templates select="meta"/>
|
|
<title>
|
|
<xsl:value-of select="name"/><xsl:value-of select="$messages/message[@name='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/message[@name='apachedocalt']"/></xsl:attribute></img>
|
|
<h3><xsl:value-of select="$messages/message[@name='apachehttpserver']"/></h3>
|
|
</div>
|
|
<h1 align="center"><xsl:value-of select="$messages/message[@name='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"><span class="help"><xsl:value-of select="$messages/message[@name='description']"/>:</span></td>
|
|
<td><xsl:apply-templates select="description"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a class="help" href="module-dict.html#Status"><xsl:value-of select="$messages/message[@name='status']"/>:</a></td>
|
|
<td><xsl:value-of select="status"/></td>
|
|
</tr>
|
|
<xsl:if test="identifier">
|
|
<tr>
|
|
<td><a class="help" href="module-dict.html#ModuleIdentifier"><xsl:value-of select="$messages/message[@name='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/message[@name='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/message[@name='summary']"/></h2>
|
|
<xsl:apply-templates select="summary"/>
|
|
</xsl:if>
|
|
|
|
<!-- Index of directives, automatically generated from directivesynopsis/name -->
|
|
<h2><xsl:value-of select="$messages/message[@name='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/message[@name='nodirectives']"/></p>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="seealso">
|
|
<p><strong><xsl:value-of select="$messages/message[@name='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/message[@name='apachehttpserver']"/></h3>
|
|
<a href="./"><img src="../images/index.gif"><xsl:attribute name="alt"><xsl:value-of select="$messages/message[@name='index']"/></xsl:attribute></img></a>
|
|
<a href="../"><img src="../images/home.gif"><xsl:attribute name="alt"><xsl:value-of select="$messages/message[@name='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="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/message[@name='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/message[@name='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/message[@name='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/message[@name='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/message[@name='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/message[@name='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/message[@name='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/message[@name='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/message[@name='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/message[@name='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">
|
|
<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:if 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:if>
|
|
<xsl:if test="@module!=/modulesynopsis/name">
|
|
<a class="directive" href="{$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:if>
|
|
</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">
|
|
<code><a href="{.}.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 -->
|
|
|
|
<!-- -->
|
|
<!-- <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>
|