3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<?xml version="1.0" encoding="ISO-8859-1"?>
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd<!DOCTYPE xsl:stylesheet [
d25f483469fdeb2ca813928eec854375b2eb65cdnd <!ENTITY lf SYSTEM "/xsl/util/lf.xml">
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd <!ENTITY % HTTPD-VERSION SYSTEM "/version.ent">
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd %HTTPD-VERSION;
643d9e63923382336d6fcbcb3835fc6a50d0e93dnd]>
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end
a7835c7a8cf86045fdaee65dc2839bfe6314fb1end<!--
db878466c5e95073429dda0bdd001f45e9486e16fielding Licensed to the Apache Software Foundation (ASF) under one or more
db878466c5e95073429dda0bdd001f45e9486e16fielding contributor license agreements. See the NOTICE file distributed with
db878466c5e95073429dda0bdd001f45e9486e16fielding this work for additional information regarding copyright ownership.
db878466c5e95073429dda0bdd001f45e9486e16fielding The ASF licenses this file to You under the Apache License, Version 2.0
db878466c5e95073429dda0bdd001f45e9486e16fielding (the "License"); you may not use this file except in compliance with
db878466c5e95073429dda0bdd001f45e9486e16fielding the License. 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
456e821cac32e7317745a636f7da7f695b7f0dd4nd% Make space in TOC between section numbers and section title (large numbers!)
456e821cac32e7317745a636f7da7f695b7f0dd4nd\makeatletter
456e821cac32e7317745a636f7da7f695b7f0dd4nd\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3.6em}}
456e821cac32e7317745a636f7da7f695b7f0dd4nd\makeatother
456e821cac32e7317745a636f7da7f695b7f0dd4nd
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
27b8489f5fe26106de6a15fd68928797939d6610fieldingLicensed to the Apache Software Foundation (ASF) under one or more
27b8489f5fe26106de6a15fd68928797939d6610fieldingcontributor license agreements. See the NOTICE file distributed with
27b8489f5fe26106de6a15fd68928797939d6610fieldingthis work for additional information regarding copyright ownership.
27b8489f5fe26106de6a15fd68928797939d6610fieldingThe ASF licenses this file to You under the Apache License, Version 2.0
27b8489f5fe26106de6a15fd68928797939d6610fielding(the "License"); you may not use this file except in compliance with
27b8489f5fe26106de6a15fd68928797939d6610fieldingthe License. You 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
b51bf223f42d43ca6b1b33c95124edcfa5a871a4nd\href{http://httpd.apache.org/docs/&httpd.docs;/}{http://httpd.apache.org/docs/&httpd.docs;/}
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>
27d00945ba0085e3d3ba2d329e51f61f242bc91and <xsl:apply-templates />
2f9338296f846174ea5c8eab620399071afaef1bslive <xsl:if test="@id = 'modules'">
d25f483469fdeb2ca813928eec854375b2eb65cdnd <xsl:text>\include{mod/module-dict}</xsl:text>&lf;
d25f483469fdeb2ca813928eec854375b2eb65cdnd <xsl:text>\include{mod/directive-dict}</xsl:text>&lf;
27d00945ba0085e3d3ba2d329e51f61f242bc91and <xsl:apply-templates select="document($allmodules)/modulefilelist" />
27d00945ba0085e3d3ba2d329e51f61f242bc91and </xsl:if>
27d00945ba0085e3d3ba2d329e51f61f242bc91and <xsl:if test="@id = 'index'">
27d00945ba0085e3d3ba2d329e51f61f242bc91and <xsl:text>\include{mod/index}</xsl:text>&lf;
d25f483469fdeb2ca813928eec854375b2eb65cdnd <xsl:text>\include{mod/quickreference}</xsl:text>&lf;
2f9338296f846174ea5c8eab620399071afaef1bslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\end{document}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="page">
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd<xsl:if test="not(starts-with(@href,'http:') or starts-with(@href, 'https:') or starts-with(@href, 'mod/'))">
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <xsl:text>\include{</xsl:text>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <xsl:choose>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <xsl:when test="contains(@href,'.')">
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <xsl:value-of select="substring-before(@href,'.')"/>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd </xsl:when>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <xsl:otherwise>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd <xsl:value-of select="concat(@href,'index')"/>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd </xsl:otherwise>
ff83017b97bb6d5f49f00fb2fa598d8d2a24feb3nd </xsl:choose>
d25f483469fdeb2ca813928eec854375b2eb65cdnd <xsl:text>}</xsl:text>&lf;
0b860e6cd01f584266b2101afc005896dda55437nd</xsl:if>
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(.,'.')"/>
d25f483469fdeb2ca813928eec854375b2eb65cdnd<xsl:text>}</xsl:text>&lf;
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<!-- ==================================================================== -->
97d4d9527b64d7491543a12a3d21134b857cbe4bnd<xsl:template match="text()|@*" mode="tabular">
97d4d9527b64d7491543a12a3d21134b857cbe4bnd<xsl:call-template name="ltescape">
97d4d9527b64d7491543a12a3d21134b857cbe4bnd <xsl:with-param name="string" select="."/>
97d4d9527b64d7491543a12a3d21134b857cbe4bnd</xsl:call-template>
97d4d9527b64d7491543a12a3d21134b857cbe4bnd</xsl:template>
97d4d9527b64d7491543a12a3d21134b857cbe4bnd
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
4b877ced785d2adda5268201595022ca626fa7fend <xsl:call-template name="replace-string">
4b877ced785d2adda5268201595022ca626fa7fend <xsl:with-param name="replace" select="'&#8212;'" />
4b877ced785d2adda5268201595022ca626fa7fend <xsl:with-param name="with" select="'-'" />
4b877ced785d2adda5268201595022ca626fa7fend <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="'%'"/>
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>
4b877ced785d2adda5268201595022ca626fa7fend </xsl:with-param>
4b877ced785d2adda5268201595022ca626fa7fend </xsl:call-template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:stylesheet>