summaryrefslogtreecommitdiff
path: root/docs/manual/style
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manual/style')
-rw-r--r--docs/manual/style/css/manual-zip-100pc.css7
-rw-r--r--docs/manual/style/css/manual-zip.css7
-rw-r--r--docs/manual/style/latex/atbeginend.sty65
-rw-r--r--docs/manual/style/latex/directiveindex.xsl96
-rw-r--r--docs/manual/style/latex/faq.xsl78
-rw-r--r--docs/manual/style/latex/manualpage.xsl17
-rw-r--r--docs/manual/style/latex/moduleindex.xsl253
-rw-r--r--docs/manual/style/latex/quickreference.xsl175
-rw-r--r--docs/manual/style/latex/synopsis.xsl330
-rw-r--r--docs/manual/style/xsl/typemap.xsl130
-rw-r--r--docs/manual/style/zip/zip.en.xsl24
11 files changed, 1182 insertions, 0 deletions
diff --git a/docs/manual/style/css/manual-zip-100pc.css b/docs/manual/style/css/manual-zip-100pc.css
new file mode 100644
index 0000000000..443d9a051d
--- /dev/null
+++ b/docs/manual/style/css/manual-zip-100pc.css
@@ -0,0 +1,7 @@
+@import url(manual-loose-100pc.css);
+
+h1 {
+ margin: 0 0 0.5em 0;
+}
+
+/* the end */ \ No newline at end of file
diff --git a/docs/manual/style/css/manual-zip.css b/docs/manual/style/css/manual-zip.css
new file mode 100644
index 0000000000..33ac897946
--- /dev/null
+++ b/docs/manual/style/css/manual-zip.css
@@ -0,0 +1,7 @@
+@import url(manual.css);
+
+h1 {
+ margin: 0 0 0.5em 0;
+}
+
+/* the end */ \ No newline at end of file
diff --git a/docs/manual/style/latex/atbeginend.sty b/docs/manual/style/latex/atbeginend.sty
new file mode 100644
index 0000000000..8729fa6cae
--- /dev/null
+++ b/docs/manual/style/latex/atbeginend.sty
@@ -0,0 +1,65 @@
+% atbeginend.sty
+%
+% defines
+% \BeforeBegin{environment}{code-to-execute}
+% \BeforeEnd {environment}{code-to-execute}
+% \AfterBegin {environment}{code-to-execute}
+% \AfterEnd {environment}{code-to-execute}
+%
+% Save \begin and \end to \BeginEnvironment and \EndEnvironment
+\let\BeginEnvironment=\begin
+\let\EndEnvironment=\end
+
+\def\IfUnDef#1{\expandafter\ifx\csname#1\endcsname\relax}
+
+% Null command needed to for \nothing{something}=.nothing.
+\def\NullCom#1{}
+
+\def\begin#1{%
+%
+% if defined \BeforeBeg for this environment, execute it
+\IfUnDef{BeforeBeg#1}\else\csname BeforeBeg#1\endcsname\fi%
+%
+%
+%
+\IfUnDef{AfterBeg#1}% This is done to skip the command for environments
+ % which can take arguments, like multicols; YOU MUST NOT
+ % USE \AfterBegin{...}{...} for such environments!
+ \let\SaveBegEng=\BeginEnvironment%
+\else%
+ % Start this environment
+ \BeginEnvironment{#1}%
+ % and execute code after \begin{environment}
+ \csname AfterBeg#1\endcsname%
+ %
+ \let\SaveBegEng=\NullCom%
+\fi%
+\SaveBegEng{#1}%
+}
+
+
+\def\end#1{%
+%
+% execute code before \end{environment}
+\IfUnDef{BeforeEnd#1}\else\csname BeforeEnd#1\endcsname\fi%
+%
+% close this environment
+\EndEnvironment{#1}%
+%
+% and execute code after \begin{environment}
+\IfUnDef{AfterEnd#1}\else\csname AfterEnd#1\endcsname\fi%
+}
+
+
+%% Now, define commands
+% \BeforeBegin{environment}{code-to-execute}
+% \BeforeEnd {environment}{code-to-execute}
+% \AfterBegin {environment}{code-to-execute}
+% \AfterEnd {environment}{code-to-execute}
+
+\def\BeforeBegin#1#2{\expandafter\gdef\csname BeforeBeg#1\endcsname
+{#2}}
+\def\BeforeEnd #1#2{\expandafter\gdef\csname BeforeEnd#1\endcsname
+{#2}}
+\def\AfterBegin #1#2{\expandafter\gdef\csname AfterBeg#1\endcsname {#2}}
+\def\AfterEnd #1#2{\expandafter\gdef\csname AfterEnd#1\endcsname{#2}}
diff --git a/docs/manual/style/latex/directiveindex.xsl b/docs/manual/style/latex/directiveindex.xsl
new file mode 100644
index 0000000000..15ac30fe9f
--- /dev/null
+++ b/docs/manual/style/latex/directiveindex.xsl
@@ -0,0 +1,96 @@
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+<!-- ==================================================================== -->
+<!-- <directiveindex> -->
+<!-- Builds the directive index page -->
+<!-- ==================================================================== -->
+<xsl:template match="directiveindex">
+
+ <xsl:variable name="directives"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis[status!='Obsolete']
+ /directivesynopsis[not(@location)]" />
+
+
+ <xsl:call-template name="section-title"/>
+
+ <xsl:apply-templates select="summary" />
+
+ <xsl:call-template name="seealso"/>
+
+ <xsl:text>\begin{itemize}
+</xsl:text>
+ <xsl:for-each select="$directives">
+ <xsl:sort select="name" />
+
+ <xsl:text>
+\item </xsl:text>
+ <xsl:apply-templates select="name" mode="simple"/>
+ <xsl:text> (p.\ \pageref{/mod/</xsl:text>
+ <xsl:value-of select="../name"/><xsl:text>:</xsl:text>
+ <xsl:value-of select="translate(name, $uppercase, $lowercase)"/>
+ <xsl:text>})</xsl:text>
+</xsl:for-each>
+
+ <xsl:text>\end{itemize}</xsl:text>
+
+</xsl:template>
+<!-- /directiveindex -->
+
+</xsl:stylesheet>
diff --git a/docs/manual/style/latex/faq.xsl b/docs/manual/style/latex/faq.xsl
new file mode 100644
index 0000000000..7faa9ee7b9
--- /dev/null
+++ b/docs/manual/style/latex/faq.xsl
@@ -0,0 +1,78 @@
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY lf SYSTEM "util/lf.xml">
+]>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+<!-- ==================================================================== -->
+<!-- <faq> -->
+<!-- Process an entire document into an HTML page -->
+<!-- ==================================================================== -->
+<xsl:template match="faq">
+
+<xsl:call-template name="section-title"/>
+
+<xsl:apply-templates select="summary"/>
+
+<xsl:call-template name="seealso"/>
+
+<xsl:apply-templates select="section"/>
+
+</xsl:template>
+<!-- /faq -->
+</xsl:stylesheet>
diff --git a/docs/manual/style/latex/manualpage.xsl b/docs/manual/style/latex/manualpage.xsl
new file mode 100644
index 0000000000..f5ca57c525
--- /dev/null
+++ b/docs/manual/style/latex/manualpage.xsl
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+<xsl:template match="manualpage">
+
+<xsl:call-template name="section-title"/>
+
+<xsl:apply-templates select="summary"/>
+
+<xsl:call-template name="seealso"/>
+
+<xsl:apply-templates select="section"/>
+</xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/manual/style/latex/moduleindex.xsl b/docs/manual/style/latex/moduleindex.xsl
new file mode 100644
index 0000000000..cab4a89205
--- /dev/null
+++ b/docs/manual/style/latex/moduleindex.xsl
@@ -0,0 +1,253 @@
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+<!-- ==================================================================== -->
+<!-- <moduleindex> -->
+<!-- Builds the moduleindex page -->
+<!-- ==================================================================== -->
+<xsl:template match="moduleindex">
+
+ <xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
+
+ <xsl:call-template name="section-title"/>
+
+ <xsl:apply-templates select="summary"/>
+
+ <xsl:call-template name="seealso"/>
+
+ <xsl:text>\subsection*{</xsl:text>
+ <xsl:value-of select="$messages/message[@name='corefeatures']" />
+ <xsl:text>}
+
+\begin{description}
+\item[</xsl:text>
+ <xsl:apply-templates select="document(modulefilelist/modulefile
+ [starts-with(., 'core.xml')])
+ /modulesynopsis/name"/>
+ <xsl:text>] (p.\ \pageref{/mod/</xsl:text>
+ <xsl:value-of select="document(modulefilelist/modulefile
+ [starts-with(., 'core.xml')])
+ /modulesynopsis/name"/>
+ <xsl:text>}) </xsl:text>
+
+ <xsl:apply-templates select="document(modulefilelist/modulefile
+ [starts-with(., 'core.xml')])
+ /modulesynopsis/description" />
+
+ <xsl:text>
+\item[</xsl:text>
+
+ <xsl:apply-templates select="document(modulefilelist/modulefile
+ [starts-with(., 'mpm_common.xml')])
+ /modulesynopsis/name" />
+ <xsl:text>] (p.\ \pageref{/mod/</xsl:text>
+ <xsl:value-of select="document(modulefilelist/modulefile
+ [starts-with(., 'mpm_common.xml')])
+ /modulesynopsis/name"/>
+ <xsl:text>}) </xsl:text>
+ <xsl:apply-templates select="document(modulefilelist/modulefile
+ [starts-with(., 'mpm_common.xml')])
+ /modulesynopsis/description" />
+
+
+
+ <!-- and now the remaining MPMs -->
+ <xsl:variable name="mpmmodules"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis[status='MPM' and name != 'mpm_common']" />
+ <xsl:variable name="translist">
+ <xsl:call-template name="module-translist">
+ <xsl:with-param name="modules" select="$mpmmodules" />
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:for-each select="$mpmmodules">
+ <xsl:sort select="substring-before(substring-after($translist,
+ concat('- ', translate(normalize-space(name), $lowercase,
+ $uppercase), ' ')), ' -')" />
+
+ <xsl:text>
+\item[</xsl:text>
+ <xsl:apply-templates select="name"/>
+ <xsl:text>] (p.\ \pageref{/mod/</xsl:text>
+ <xsl:value-of select="name"/>
+ <xsl:text>}) </xsl:text>
+
+ <xsl:apply-templates select="description" />
+
+ </xsl:for-each>
+
+ <xsl:text>\end{description}
+
+</xsl:text>
+
+ <!-- /core section -->
+
+ <xsl:text>\section*{</xsl:text>
+ <xsl:value-of select="$messages/message[@name='othermodules']" />
+ <xsl:text>}
+\begin{description}
+</xsl:text>
+
+ <xsl:variable name="modules"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis[status!='MPM' and status!='Core']" />
+
+ <xsl:call-template name="mindex-of-letter">
+ <xsl:with-param name="modules" select="$modules" />
+ </xsl:call-template>
+
+ <xsl:text>\end{description}
+</xsl:text>
+</xsl:template>
+<!-- /moduleindex -->
+
+
+<!-- ==================================================================== -->
+<!-- the working horse. builds list items of all modules starting with -->
+<!-- one letter when done, it calls itself to catch the next letter -->
+<!-- ==================================================================== -->
+<xsl:template name="mindex-of-letter">
+<xsl:param name="modules"/>
+
+<xsl:variable name="translist">
+ <xsl:call-template name="module-translist">
+ <xsl:with-param name="modules" select="$modules" />
+ </xsl:call-template>
+</xsl:variable>
+
+<xsl:for-each select="$modules">
+<xsl:sort
+ select="substring-before(substring-after($translist, concat('- ',
+ translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')" />
+
+<xsl:text>
+\item[</xsl:text>
+<xsl:apply-templates select="name"/>
+<xsl:text>] (p.\ \pageref{/mod/</xsl:text>
+<xsl:value-of select="name"/>
+<xsl:text>}) </xsl:text>
+
+ <xsl:apply-templates select="description" />
+
+</xsl:for-each> <!-- /directives -->
+
+</xsl:template>
+<!-- /mindex-of-letter -->
+
+<!-- ==================================================================== -->
+<!-- define module name translations for sorting -->
+<!-- -->
+<!-- it's a kind of a hack... -->
+<!-- we build a string that contains the following data: -->
+<!-- "- modulename sortname - modulename sortname - ..." -->
+<!-- (with all data in uppercase) -->
+<!-- -->
+<!-- So, the translation from modulename to sortname can be done with the -->
+<!-- expression below: -->
+<!--
+ substring-before(
+ substring-after($translist,
+ concat('- ', translate(modulename,
+ $lowercase, $uppercase),
+ ' ')
+ ),
+ ' -')
+ -->
+<!-- ==================================================================== -->
+<xsl:template name="module-translist">
+<xsl:param name="modules" />
+
+<xsl:text>-</xsl:text>
+<xsl:for-each select="$modules">
+ <xsl:variable name="sname" select="translate(normalize-space(name),
+ $lowercase, $uppercase)" />
+
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$sname" />
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="module-translatename">
+ <xsl:with-param name="name" select="$sname" />
+ </xsl:call-template>
+ <xsl:text> -</xsl:text>
+</xsl:for-each>
+</xsl:template>
+<!-- /module-translist -->
+
+<xsl:template name="module-translatename">
+<xsl:param name="name" />
+
+<xsl:variable name="sname" select="translate($name, $lowercase, $uppercase)" />
+
+<xsl:choose>
+<xsl:when test="starts-with($sname, 'MOD_') or starts-with($sname, 'MPM_')">
+ <xsl:value-of select="substring($name, 5)" />
+</xsl:when>
+
+<xsl:when test="starts-with($sname, 'MPMT_')">
+ <xsl:value-of select="substring($name, 6)" />
+</xsl:when>
+
+<xsl:otherwise>
+ <xsl:value-of select="$name" />
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+<!-- /module-translatename -->
+
+</xsl:stylesheet>
diff --git a/docs/manual/style/latex/quickreference.xsl b/docs/manual/style/latex/quickreference.xsl
new file mode 100644
index 0000000000..62d6756036
--- /dev/null
+++ b/docs/manual/style/latex/quickreference.xsl
@@ -0,0 +1,175 @@
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+<!-- ==================================================================== -->
+<!-- <quickreference> -->
+<!-- Builds the directive quickreference page -->
+<!-- ==================================================================== -->
+<xsl:template match="quickreference">
+
+ <xsl:call-template name="section-title"/>
+
+ <xsl:apply-templates select="summary"/>
+
+ <xsl:call-template name="seealso"/>
+
+ <xsl:apply-templates select="legend"/>
+
+ <xsl:variable name="directives"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis/directivesynopsis[not(@location)]" />
+
+ <xsl:text>\footnotesize
+</xsl:text>
+
+ <xsl:text>\begin{longtable}{p{.60\textwidth}p{.25\textwidth}ll}\hline
+</xsl:text>
+
+<xsl:for-each
+ select="$directives[translate(substring(normalize-space(name), 1,1),
+ $lowercase,$uppercase)]">
+<xsl:sort select="name" />
+
+ <xsl:text>\texttt{</xsl:text>
+ <xsl:apply-templates select="syntax" />
+ <xsl:text>}</xsl:text>
+ <xsl:text>&amp;</xsl:text>
+
+ <!-- if the default value contains (at least) one <br />, -->
+ <!-- this probably means that a short explanation follows -->
+ <!-- the actual default value. We cut off the string -->
+ <!-- after the <br /> so it will not be shown here. -->
+ <!-- (add the + character instead) -->
+ <xsl:variable name="default">
+ <xsl:choose>
+ <xsl:when test="count(default[count(br) &gt; 0]) &gt; 0">
+ <xsl:value-of select="default/child::node()
+ [count(preceding-sibling::*) = 0]" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="default"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:call-template name="ltescape">
+ <xsl:with-param name="string">
+ <xsl:value-of select="substring(substring-after(concat($default,
+ ' '), name),1,20)" />
+ </xsl:with-param>
+ </xsl:call-template>
+
+ <xsl:if test="string-length(substring-after(concat($default, ' '),
+ name)) &gt; 20 or count(default[count(br) &gt; 0]) &gt; 0">
+ <xsl:text> +</xsl:text>
+ </xsl:if>
+
+ <xsl:text>&amp;</xsl:text>
+
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='server config']">s</xsl:if>
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='virtual host']">v</xsl:if>
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='directory']">d</xsl:if>
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='.htaccess']">h</xsl:if>
+
+ <xsl:text>&amp;</xsl:text>
+ <xsl:choose>
+ <xsl:when test="../status='Base'">B</xsl:when>
+ <xsl:when test="../status='MPM'">M</xsl:when>
+ <xsl:when test="../status='Core'">C</xsl:when>
+ <xsl:when test="../status='Extension'">E</xsl:when>
+ <xsl:when test="../status='Experimental'">X</xsl:when>
+ </xsl:choose>
+
+ <xsl:text>\\*
+</xsl:text>
+
+ <xsl:text>\multicolumn{4}{l}{\begin{minipage}[t]{.95\textwidth}</xsl:text>
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space(description)) &gt; 0">
+ <xsl:apply-templates select="description"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>-</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text>\hfill p.\ \pageref{/mod/</xsl:text>
+ <xsl:value-of select="../name"/> <xsl:text>:</xsl:text>
+ <xsl:value-of select="translate(name, $uppercase, $lowercase)"/>
+ <xsl:text>}</xsl:text>
+
+
+ <xsl:text>\end{minipage}} \\ \hline
+</xsl:text>
+
+ </xsl:for-each> <!-- /directives -->
+
+ <xsl:text>\end{longtable}
+\normalsize</xsl:text>
+
+</xsl:template>
+
+<xsl:template match="legend">
+<xsl:apply-templates/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/docs/manual/style/latex/synopsis.xsl b/docs/manual/style/latex/synopsis.xsl
new file mode 100644
index 0000000000..6e84f97644
--- /dev/null
+++ b/docs/manual/style/latex/synopsis.xsl
@@ -0,0 +1,330 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+
+
+<!-- ==================================================================== -->
+<!-- <modulesynopsis> -->
+<!-- ==================================================================== -->
+
+<xsl:template match="modulesynopsis">
+
+<xsl:text>\section{</xsl:text>
+<xsl:choose>
+ <xsl:when test="../status='Core'">
+ <xsl:value-of select="$messages/message [@name='apachecore']" />
+ </xsl:when>
+ <xsl:when test=".='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:apply-templates select="name"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$messages/message [@name='apachemodule']" />
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates select="name"/>
+ </xsl:otherwise>
+</xsl:choose>
+<xsl:text>}\label{</xsl:text>
+<xsl:value-of select="concat('/mod/',name)"/>
+<xsl:text>}\hypertarget{</xsl:text>
+<xsl:value-of select="concat('/mod/',name)"/>
+<xsl:text>}{}</xsl:text>
+
+<xsl:text>
+\begin{tabular}{lp{.75\linewidth}}
+\hline
+</xsl:text>
+<xsl:value-of select="$messages/message [@name='description']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:apply-templates select="description" />
+<xsl:text>\\
+</xsl:text>
+
+<xsl:value-of select="$messages/message [@name='status']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:value-of select="status" />
+<xsl:text>\\
+</xsl:text>
+
+<xsl:if test="identifier">
+<xsl:value-of select="$messages/message [@name='moduleidentifier']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:apply-templates select="identifier" />
+<xsl:text>\\
+</xsl:text>
+</xsl:if>
+
+<xsl:if test="sourcefile">
+<xsl:value-of select="$messages/message [@name='sourcefile']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:apply-templates select="sourcefile" />
+<xsl:text>\\
+</xsl:text>
+</xsl:if>
+
+<xsl:if test="compatibility">
+<xsl:value-of select="$messages/message [@name='compatibility']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:apply-templates select="compatibility" />
+<xsl:text> \\
+</xsl:text>
+</xsl:if>
+<xsl:text>\hline \end{tabular}
+</xsl:text>
+ <!-- Summary of module features/usage (1 to 3 paragraphs, -->
+ <!-- optional) -->
+ <xsl:if test="summary">
+ <xsl:text>\subsection*{</xsl:text>
+ <xsl:value-of select="$messages/message [@name='summary']" />
+ <xsl:text>}
+</xsl:text>
+ <xsl:apply-templates select="summary" />
+ </xsl:if>
+
+ <xsl:text>
+\smallskip\textbf{</xsl:text>
+ <xsl:value-of select="$messages/message [@name='directives']" />
+ <xsl:text>}
+</xsl:text>
+
+ <xsl:choose>
+ <xsl:when test="directivesynopsis">
+ <xsl:text>\begin{itemize}</xsl:text>
+ <xsl:for-each select="directivesynopsis">
+ <xsl:sort select="name" />
+ <xsl:text>\item </xsl:text>
+ <xsl:if test="@type='section'">
+ <xsl:text>\textless{}</xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="name" mode="simple"/>
+ <xsl:if test="@type='section'">
+ <xsl:text>\textgreater{}</xsl:text>
+ </xsl:if>
+ <xsl:if test="@location">
+ <xsl:variable name="lowerlocation"
+ select="translate(@location, $uppercase, $lowercase)" />
+ <xsl:text> (p.\ \pageref{/mod/</xsl:text>
+ <xsl:value-of select="concat(translate(@location,$uppercase,$lowercase),':',translate(name,$uppercase,$lowercase))"/>
+ <xsl:text>}) </xsl:text>
+ </xsl:if>
+ <xsl:text>
+</xsl:text>
+ </xsl:for-each>
+ <xsl:text>\end{itemize}
+</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$messages/message [@name='nodirectives']" />
+ <xsl:text>
+</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text>
+</xsl:text>
+
+<xsl:call-template name="seealso"/>
+
+ <!-- Sections of documentation about the module as a whole -->
+ <xsl:apply-templates select="section" />
+
+ <!-- Directive documentation -->
+ <xsl:apply-templates select="directivesynopsis">
+ <xsl:sort select="name" />
+ </xsl:apply-templates>
+
+</xsl:template>
+<!-- /modulesynopsis -->
+
+
+<!-- ==================================================================== -->
+<!-- Directivesynopsis -->
+<!-- ==================================================================== -->
+<xsl:template match="directivesynopsis/name" mode="simple" name="simpledirname">
+<xsl:if test="@type='section'"><xsl:text>\textless{}</xsl:text></xsl:if>
+<xsl:apply-templates/>
+<xsl:if test="@type='section'"><xsl:text>\textgreater{}</xsl:text></xsl:if>
+</xsl:template>
+
+<xsl:template match="directivesynopsis/name">
+<xsl:text>\subsection*{</xsl:text>
+<xsl:call-template name="simpledirname"/>
+ <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>
+
+<xsl:value-of select="$messages/message[@name='directive']" />
+<xsl:text>}\label{</xsl:text>
+<xsl:value-of select="concat('/mod/', //modulesynopsis/name, ':', translate(., $uppercase, $lowercase))"/>
+<xsl:text>}\hypertarget{</xsl:text>
+<xsl:value-of select="concat('/mod/', //modulesynopsis/name, ':', translate(., $uppercase, $lowercase))"/>
+<xsl:text>}{}</xsl:text>
+
+</xsl:template>
+
+<xsl:template match="directivesynopsis">
+<xsl:if test="not(@location)">
+ <xsl:apply-templates select="name"/>
+ <!-- Directive header -->
+ <xsl:text>
+\begin{tabular}{lp{.8\linewidth}}
+\hline
+</xsl:text>
+<xsl:value-of select="$messages/message [@name='description']" />
+<xsl:text>: &amp; </xsl:text>
+<xsl:apply-templates select="description" />
+<xsl:text>\\
+</xsl:text>
+
+<xsl:value-of select="$messages/message[@name='syntax']" />
+<xsl:text>: &amp; {\ttfamily </xsl:text>
+<xsl:apply-templates select="syntax" />
+<xsl:text>}\\
+</xsl:text>
+
+<xsl:if test="default">
+<xsl:value-of select="$messages/message[@name='default']" />
+<xsl:text>: &amp; {\ttfamily </xsl:text>
+<xsl:apply-templates select="default" />
+<xsl:text>} \\
+</xsl:text>
+</xsl:if>
+
+<xsl:value-of select="$messages/message[@name='context']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:apply-templates select="contextlist" />
+<xsl:text> \\
+</xsl:text>
+
+<xsl:if test="override">
+<xsl:value-of select="$messages/message[@name='override']"/>
+<xsl:text>: &amp;</xsl:text>
+<xsl:apply-templates select="override" />
+<xsl:text> \\
+</xsl:text>
+</xsl:if>
+
+<xsl:value-of select="$messages/message[@name='status']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:value-of select="../status" />
+<xsl:text> \\
+</xsl:text>
+
+<xsl:value-of select="$messages/message[@name='module']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:choose>
+<xsl:when test="modulelist">
+ <xsl:apply-templates select="modulelist" />
+</xsl:when>
+<xsl:otherwise>
+ <xsl:apply-templates select="../name" />
+</xsl:otherwise>
+</xsl:choose>
+<xsl:text> \\
+</xsl:text>
+
+<xsl:if test="compatibility">
+<xsl:value-of select="$messages/message[@name='compatibility']" />
+<xsl:text>: &amp;</xsl:text>
+<xsl:apply-templates select="compatibility" />
+<xsl:text> \\
+</xsl:text>
+</xsl:if>
+
+<xsl:text>\hline
+\end{tabular}
+
+</xsl:text>
+
+<xsl:apply-templates select="usage" />
+
+<xsl:call-template name="seealso"/>
+
+</xsl:if> <!-- /not(@location) -->
+</xsl:template>
+<!-- /directivesynopsis -->
+
+
+<!-- ==================================================================== -->
+<!-- <contextlist> -->
+<!-- ==================================================================== -->
+<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> -->
+<!-- ==================================================================== -->
+<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 -->
+
+
+<!-- ==================================================================== -->
+<!-- modulesynopsis/compatibility -->
+<!-- ==================================================================== -->
+<xsl:template match="modulesynopsis/compatibility">
+<xsl:apply-templates />
+</xsl:template>
+
+
+<!-- ==================================================================== -->
+<!-- directivesynopsis/compatibility -->
+<!-- ==================================================================== -->
+<xsl:template match="directivesynopsis/compatibility">
+<xsl:apply-templates />
+</xsl:template>
+
+</xsl:stylesheet> \ No newline at end of file
diff --git a/docs/manual/style/xsl/typemap.xsl b/docs/manual/style/xsl/typemap.xsl
new file mode 100644
index 0000000000..a7fc8cd812
--- /dev/null
+++ b/docs/manual/style/xsl/typemap.xsl
@@ -0,0 +1,130 @@
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
+<!DOCTYPE xsl:stylesheet [
+ <!ENTITY lf SYSTEM "util/lf.xml">
+]>
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="">
+
+<xsl:output
+ method="text"
+ encoding="utf-8"
+ indent="no"
+/>
+
+<!-- create nodeset for referencing later -->
+<xsl:variable name="design" select="document('')/xsl:stylesheet
+ /xsl:template[@name='designations']/item" />
+
+<!-- Constants used for case translation -->
+<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
+<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
+
+<!-- ==================================================================== -->
+<!-- <metafile> -->
+<!-- build typemap -->
+<!-- ==================================================================== -->
+<xsl:template match="/metafile">
+<xsl:apply-templates select="variants/variant" />
+</xsl:template>
+<!-- /metafile -->
+
+<!-- ==================================================================== -->
+<!-- <variant> -->
+<!-- ==================================================================== -->
+<xsl:template match="variant">
+<xsl:variable name="lang" select="translate(., $uppercase, $lowercase)" />
+<xsl:if test="not($design[translate(@lang, $uppercase, $lowercase) = $lang])">
+ <xsl:message terminate="yes">
+FATAL: missing designation data for language <xsl:value-of select="." />.
+The XSLT-Stylesheet won't work without modification.
+ </xsl:message>
+</xsl:if>
+
+<xsl:text>URI: </xsl:text>
+<xsl:value-of select="/metafile/basename" />
+<xsl:text>.html</xsl:text>
+<xsl:value-of select="$design[translate(@lang, $uppercase, $lowercase)
+ = $lang]" />&lf;
+
+<xsl:text>Content-Language: </xsl:text>
+<xsl:value-of select="$design[translate(@lang, $uppercase, $lowercase)
+ = $lang]/@lang" />&lf;
+
+<xsl:text>Content-type: text/html; charset=</xsl:text>
+<xsl:value-of select="$design[translate(@lang, $uppercase, $lowercase)
+ = $lang]/@charset" />&lf;
+
+<xsl:if test="position() != last()">&lf;</xsl:if>
+</xsl:template>
+<!-- /variant -->
+
+<!-- ==================================================================== -->
+<!-- do NOT call this template, it's referenced automagically via -->
+<!-- document() function and acts as simple data container. -->
+<!-- ==================================================================== -->
+<xsl:template name="designations">
+<item lang="de" charset="ISO-8859-1" >.de</item>
+<item lang="en" charset="ISO-8859-1" >.en</item>
+<item lang="fr" charset="ISO-8859-1" >.fr</item>
+<item lang="ja" charset="ISO-2022-JP">.ja.jis</item>
+<item lang="ko" charset="EUC-KR" >.ko.euc-kr</item>
+<item lang="ru" charset="KOI8-r" >.ru.koi8-r</item>
+<item lang="zh-CN" charset="GB2312" >.zh-cn.gb2312</item>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/docs/manual/style/zip/zip.en.xsl b/docs/manual/style/zip/zip.en.xsl
new file mode 100644
index 0000000000..fb65118921
--- /dev/null
+++ b/docs/manual/style/zip/zip.en.xsl
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:output
+ method="xml"
+ encoding="iso-8859-1"
+ indent="no"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+ omit-xml-declaration="yes"
+/>
+
+<!-- Read the localized messages from the specified language file -->
+<xsl:variable name="messages" select="document('../lang/en.xml')/messages"/>
+
+<!-- some meta information have to be passed to the transformation -->
+<xsl:variable name="output-encoding" select="'iso-8859-1'" />
+<xsl:variable name="is-chm" select="false()" />
+<xsl:variable name="is-zip" select="true()" />
+
+<!-- Now get the real guts of the stylesheet -->
+<xsl:include href="../xsl/common.xsl"/>
+
+</xsl:stylesheet>