latex.xsl revision 117a9c5156c08125e2060ff892adac4634b7ad2d
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<?xml version="1.0" encoding="ISO-8859-1"?>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<!--
6fbd2e53c97ea6976d93e0ac521adabc55e0fb73nd Copyright 2003-2004 The Apache Software Foundation
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end Licensed under the Apache License, Version 2.0 (the "License");
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end you may not use this file except in compliance with the License.
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end You may obtain a copy of the License at
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end http://www.apache.org/licenses/LICENSE-2.0
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end Unless required by applicable law or agreed to in writing, software
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end distributed under the License is distributed on an "AS IS" BASIS,
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end See the License for the specific language governing permissions and
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end limitations under the License.
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end-->
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:stylesheet version="1.0"
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:output
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive method="text"
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive encoding="ISO-8859-1"
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive indent="no"
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- Read the localized messages from the specified language file -->
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:variable name="message" select="document('/lang/en.xml')
b3137f48abe3090c5531392e57ff0fefd76f59ebnd /language/messages/message"/>
117a9c5156c08125e2060ff892adac4634b7ad2dnd<xsl:variable name="allmodules" select="document('/xsl/util/allmodules.xml')
117a9c5156c08125e2060ff892adac4634b7ad2dnd /items/item[@lang='en']"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- Get the guts of the stylesheets -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="manualpage.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="common.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="html.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="synopsis.xsl" />
87ea898bcffe2ef490e833dc246a1cc0465d783fslive<xsl:include href="moduleindex.xsl" />
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive<xsl:include href="directiveindex.xsl" />
1cb160a981947e75a8353da3fe40a653aa87100eslive<xsl:include href="faq.xsl" />
1cb160a981947e75a8353da3fe40a653aa87100eslive<xsl:include href="quickreference.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="sitemap">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>
f5d245e2129454d0fcaa77e21de055a30ea8a9c7slive\documentclass[10pt]{book}
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive\usepackage{times}
1cb160a981947e75a8353da3fe40a653aa87100eslive\usepackage{longtable}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\usepackage{style/latex/atbeginend}
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive\usepackage[pdftex]{graphicx}
f5d245e2129454d0fcaa77e21de055a30ea8a9c7slive\usepackage[colorlinks=true,letterpaper=true,linkcolor=blue,urlcolor=blue]{hyperref}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% Let LaTeX be lenient about very-bad line wrapping.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\tolerance=9999
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive\emergencystretch=60pt
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
1c6a10274e908898347be82bc82bc7ae18c66410slive% Adjust margins to a reasonable level
1c6a10274e908898347be82bc82bc7ae18c66410slive\topmargin 0pt
1c6a10274e908898347be82bc82bc7ae18c66410slive\advance \topmargin by -\headheight
1c6a10274e908898347be82bc82bc7ae18c66410slive\advance \topmargin by -\headsep
1c6a10274e908898347be82bc82bc7ae18c66410slive\textheight 8.9in
1c6a10274e908898347be82bc82bc7ae18c66410slive\oddsidemargin 0pt
1c6a10274e908898347be82bc82bc7ae18c66410slive\evensidemargin \oddsidemargin
1c6a10274e908898347be82bc82bc7ae18c66410slive\marginparwidth 0.5in
1c6a10274e908898347be82bc82bc7ae18c66410slive\textwidth 6.5in
1c6a10274e908898347be82bc82bc7ae18c66410slive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% Keep paragraphs flush left (rather than the default of indenting
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% the first line) and put a space between paragraphs.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\setlength{\parindent}{0ex}
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive\addtolength{\parskip}{1.2ex}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% Shrink the inter-item spaces
f5d245e2129454d0fcaa77e21de055a30ea8a9c7slive\AfterBegin{itemize}{\setlength{\itemsep}{0em}}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\pagestyle{headings}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
1c6a10274e908898347be82bc82bc7ae18c66410slive\hypersetup{
1c6a10274e908898347be82bc82bc7ae18c66410slive pdftitle={</xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='apache']" />
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text> </xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='http-server']" />
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text> </xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='documentation']" />
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text> </xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='version']" />
1c6a10274e908898347be82bc82bc7ae18c66410slive<xsl:text>},
1c6a10274e908898347be82bc82bc7ae18c66410slive pdfauthor={Apache Software Foundation}
1c6a10274e908898347be82bc82bc7ae18c66410slive }
1c6a10274e908898347be82bc82bc7ae18c66410slive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\title{</xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='apache']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='http-server']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='documentation']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
b3137f48abe3090c5531392e57ff0fefd76f59ebnd<xsl:value-of select="$message[@id='version']" />
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive<xsl:text>\\ \bigskip \bigskip
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive\includegraphics{images/feather}\\ \bigskip}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\author{Apache Software Foundation}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\date{\today}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\begin{document}
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive\frontmatter
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\maketitle
368bcafaedaee463f769c1b5f3547b9970df90d0slive
368bcafaedaee463f769c1b5f3547b9970df90d0slive\section*{About The PDF Documentation}
368bcafaedaee463f769c1b5f3547b9970df90d0slive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveCopyright \copyright 2004 The Apache Software Foundation
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveLicensed under the Apache License, Version 2.0 (the "License");
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveyou may not use this file except in compliance with the License.
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveYou may obtain a copy of the License at \href{http://www.apache.org/licenses/LICENSE-2.0}{http://www.apache.org/licenses/LICENSE-2.0}
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveThis version of the Apache HTTP Server Documentation is converted from
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveXML source files to \LaTeX\ using XSLT with the help of Apache Ant,
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveApache XML Xalan, and Apache XML Xerces.
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveSince the HTML version of the documentation is more commonly checked
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveduring development, the PDF version may contain some errors and
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveinconsistencies, especially in formatting. If you have difficulty
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslivereading a part of this file, please consult the HTML version
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveof the documentation on the Apache HTTP Server website at
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive\href{http://httpd.apache.org/docs-2.0/}{http://httpd.apache.org/docs-2.0/}
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveThe Apache HTTP Server Documentation is maintained by the Apache HTTP
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bsliveServer Documentation Project. More information is available at
0097a4f3e468c0192a2ce52ffee7bc8cea0a620bslive\href{http://httpd.apache.org/docs-project/}{http://httpd.apache.org/docs-project/}
368bcafaedaee463f769c1b5f3547b9970df90d0slive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\tableofcontents
5e9423b4ca454c6416a2dc465dea1b1d34cec7a9slive\mainmatter
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:for-each select="category">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\chapter{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="title" mode="printcat"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\end{document}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="page">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\include{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:when test="contains(@href,'.')">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="substring-before(@href,'.')"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="concat(@href,'index')"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="category/title" mode="printcat">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="category/title"></xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="modulefilelist">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="modulefile">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\include{mod/</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="substring-before(.,'.')"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="summary">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:apply-templates/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:param name="text"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:param name="replace"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:param name="with"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="not(contains($text,$replace))">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$text"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="substring-before($text,$replace)"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$with"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text" select="substring-after($text,$replace)"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="$replace"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="$with"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- Take care of all the LaTeX special characters. -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- Silly multi-variable technique used to avoid deep recursion. -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!-- ==================================================================== -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="text()">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:call-template name="ltescape">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="string" select="."/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template name="ltescape">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:param name="string"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="result1">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="contains($string, '\')">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'\'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\textbackslash '"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text" select="normalize-space($string)"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive <xsl:value-of select="$string"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:variable>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="result2">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="contains($result1, '$')">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'$'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\$'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text" select="$result1"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$result1"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:variable>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="result3">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="contains($result2, '{')">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'{'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\{'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text" select="$result2"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$result2"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:variable>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="result4">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="contains($result3, '}')">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text" select="$result3"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$result3"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:variable>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
1cb160a981947e75a8353da3fe40a653aa87100eslive<!-- The '[' and ']' characters don't, in general, need to be
1cb160a981947e75a8353da3fe40a653aa87100eslive escaped. But there are times when it is ambiguous whether
1cb160a981947e75a8353da3fe40a653aa87100eslive [ is the beginning of an optional argument or a literal '['.
1cb160a981947e75a8353da3fe40a653aa87100eslive Hence, it is safer to protect the literal ones with {}. -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="result5">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="contains($result4, '[')">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'['"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'{[}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text" select="$result4"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$result4"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:variable>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="result6">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:when test="contains($result5, ']')">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="']'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'{]}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text" select="$result5"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:when>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:value-of select="$result5"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:otherwise>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:choose>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:variable>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
368bcafaedaee463f769c1b5f3547b9970df90d0slive<xsl:variable name="result7">
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:choose>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:when test="contains($result6, '&quot;')">
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:call-template name="replace-string">
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:with-param name="replace" select="'&quot;'"/>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:with-param name="with" select="'\texttt{&quot;}'"/>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:with-param name="text" select="$result6"/>
368bcafaedaee463f769c1b5f3547b9970df90d0slive </xsl:call-template>
368bcafaedaee463f769c1b5f3547b9970df90d0slive </xsl:when>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:otherwise>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:value-of select="$result6"/>
368bcafaedaee463f769c1b5f3547b9970df90d0slive </xsl:otherwise>
368bcafaedaee463f769c1b5f3547b9970df90d0slive </xsl:choose>
368bcafaedaee463f769c1b5f3547b9970df90d0slive</xsl:variable>
368bcafaedaee463f769c1b5f3547b9970df90d0slive
368bcafaedaee463f769c1b5f3547b9970df90d0slive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'_'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\_'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'#'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\#'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'%'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\%'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'&gt;'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\textgreater{}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'&lt;'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\textless{}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'~'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\textasciitilde{}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'^'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\^{}'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="text">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:call-template name="replace-string">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="replace" select="'&amp;'"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:with-param name="with" select="'\&amp;'"/>
368bcafaedaee463f769c1b5f3547b9970df90d0slive <xsl:with-param name="text" select="$result7"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:with-param>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:with-param>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:with-param>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:with-param>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:with-param>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:with-param>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:with-param>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:stylesheet>