latex.xsl revision 456e821cac32e7317745a636f7da7f695b7f0dd4
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<?xml version="1.0" encoding="ISO-8859-1"?>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!DOCTYPE xsl:stylesheet [
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!ENTITY lf SYSTEM "/xsl/util/lf.xml">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <!ENTITY % HTTPD-VERSION SYSTEM "/version.ent">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive %HTTPD-VERSION;
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive]>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<!--
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive Licensed to the Apache Software Foundation (ASF) under one or more
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive contributor license agreements. See the NOTICE file distributed with
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive this work for additional information regarding copyright ownership.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive The ASF licenses this file to You under the Apache License, Version 2.0
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive (the "License"); you may not use this file except in compliance with
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive the License. You may obtain a copy of the License at
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive http://www.apache.org/licenses/LICENSE-2.0
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive Unless required by applicable law or agreed to in writing, software
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive distributed under the License is distributed on an "AS IS" BASIS,
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive See the License for the specific language governing permissions and
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive limitations under the License.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive-->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
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 -->
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="message" select="document('/lang/en.xml')
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive /language/messages/message"/>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:variable name="allmodules" select="document('/xsl/util/allmodules.xml')
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive /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" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="moduleindex.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="directiveindex.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="faq.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:include href="quickreference.xsl" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="sitemap">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\documentclass[10pt]{book}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\usepackage{times}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\usepackage{longtable}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\usepackage{style/latex/atbeginend}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\usepackage[pdftex]{graphicx}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\usepackage[colorlinks=true,letterpaper=true,linkcolor=blue,urlcolor=blue]{hyperref}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% Let LaTeX be lenient about very-bad line wrapping.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\tolerance=9999
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\emergencystretch=60pt
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% Adjust margins to a reasonable level
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\topmargin 0pt
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\advance \topmargin by -\headheight
01979b991e320f79fe2c1ae2afc298e8651bd69aslive\advance \topmargin by -\headsep
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\textheight 8.9in
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\oddsidemargin 0pt
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\evensidemargin \oddsidemargin
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\marginparwidth 0.5in
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive\textwidth 6.5in
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
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}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\addtolength{\parskip}{1.2ex}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% Make space in TOC between section numbers and section title (large numbers!)
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\makeatletter
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3.6em}}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\makeatother
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive% Shrink the inter-item spaces
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\AfterBegin{itemize}{\setlength{\itemsep}{0em}}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\pagestyle{headings}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\hypersetup{
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive pdftitle={</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$message[@id='apache']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$message[@id='http-server']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive<xsl:value-of select="$message[@id='documentation']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$message[@id='version']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>},
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive pdfauthor={Apache Software Foundation}
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive }
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\title{</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$message[@id='apache']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$message[@id='http-server']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$message[@id='documentation']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text> </xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:value-of select="$message[@id='version']" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\\ \bigskip \bigskip
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\includegraphics{images/feather}\\ \bigskip}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\author{Apache Software Foundation}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\date{\today}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\begin{document}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\frontmatter
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\maketitle
01979b991e320f79fe2c1ae2afc298e8651bd69aslive
01979b991e320f79fe2c1ae2afc298e8651bd69aslive\section*{About The PDF Documentation}
01979b991e320f79fe2c1ae2afc298e8651bd69aslive
01979b991e320f79fe2c1ae2afc298e8651bd69asliveLicensed to the Apache Software Foundation (ASF) under one or more
01979b991e320f79fe2c1ae2afc298e8651bd69aslivecontributor license agreements. See the NOTICE file distributed with
01979b991e320f79fe2c1ae2afc298e8651bd69aslivethis work for additional information regarding copyright ownership.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveThe ASF licenses this file to You under the Apache License, Version 2.0
01979b991e320f79fe2c1ae2afc298e8651bd69aslive(the "License"); you may not use this file except in compliance with
01979b991e320f79fe2c1ae2afc298e8651bd69aslivethe 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}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveThis version of the Apache HTTP Server Documentation is converted from
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveXML source files to \LaTeX\ using XSLT with the help of Apache Ant,
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveApache XML Xalan, and Apache XML Xerces.
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveSince the HTML version of the documentation is more commonly checked
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveduring development, the PDF version may contain some errors and
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveinconsistencies, especially in formatting. If you have difficulty
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslivereading a part of this file, please consult the HTML version
01979b991e320f79fe2c1ae2afc298e8651bd69asliveof the documentation on the Apache HTTP Server website at
01979b991e320f79fe2c1ae2afc298e8651bd69aslive\href{http://httpd.apache.org/docs/&httpd.docs;/}{http://httpd.apache.org/docs/&httpd.docs;/}
01979b991e320f79fe2c1ae2afc298e8651bd69aslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dsliveThe Apache HTTP Server Documentation is maintained by the Apache HTTP
01979b991e320f79fe2c1ae2afc298e8651bd69asliveServer Documentation Project. More information is available at
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\href{http://httpd.apache.org/docs-project/}{http://httpd.apache.org/docs-project/}
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\tableofcontents
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive\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:if test="@id = 'modules'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\include{mod/module-dict}</xsl:text>&lf;
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\include{mod/directive-dict}</xsl:text>&lf;
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:apply-templates select="document($allmodules)/modulefilelist" />
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:if test="@id = 'index'">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\include{mod/index}</xsl:text>&lf;
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive <xsl:text>\include{mod/quickreference}</xsl:text>&lf;
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive </xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:for-each>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:text>\end{document}</xsl:text>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="page">
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:if test="not(starts-with(@href,'http:') or starts-with(@href, 'https:') or starts-with(@href, 'mod/'))">
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>
46d1ef8cb385aa2f519ce7d355afc51f144bd938slive <xsl:text>}</xsl:text>&lf;
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:if>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive</xsl:template>
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive
3fa58e00171aebf3b2cfa90035ed530f5b1f651dslive<xsl:template match="category/title" mode="printcat">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="category/title"></xsl:template>
<xsl:template match="modulefilelist">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="modulefile">
<xsl:text>\include{mod/</xsl:text>
<xsl:value-of select="substring-before(.,'.')"/>
<xsl:text>}</xsl:text>&lf;
</xsl:template>
<xsl:template match="summary">
<xsl:apply-templates/>
</xsl:template>
<xsl:template name="replace-string">
<xsl:param name="text"/>
<xsl:param name="replace"/>
<xsl:param name="with"/>
<xsl:choose>
<xsl:when test="not(contains($text,$replace))">
<xsl:value-of select="$text"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring-before($text,$replace)"/>
<xsl:value-of select="$with"/>
<xsl:call-template name="replace-string">
<xsl:with-param name="text" select="substring-after($text,$replace)"/>
<xsl:with-param name="replace" select="$replace"/>
<xsl:with-param name="with" select="$with"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ==================================================================== -->
<!-- Take care of all the LaTeX special characters. -->
<!-- Silly multi-variable technique used to avoid deep recursion. -->
<!-- ==================================================================== -->
<xsl:template match="text()|@*" mode="tabular">
<xsl:call-template name="ltescape">
<xsl:with-param name="string" select="."/>
</xsl:call-template>
</xsl:template>
<xsl:template match="text()">
<xsl:call-template name="ltescape">
<xsl:with-param name="string" select="."/>
</xsl:call-template>
</xsl:template>
<xsl:template name="ltescape">
<xsl:param name="string"/>
<xsl:variable name="result1">
<xsl:choose>
<xsl:when test="contains($string, '\')">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'\'"/>
<xsl:with-param name="with" select="'\textbackslash '"/>
<xsl:with-param name="text" select="normalize-space($string)"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="result2">
<xsl:choose>
<xsl:when test="contains($result1, '$')">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'$'"/>
<xsl:with-param name="with" select="'\$'"/>
<xsl:with-param name="text" select="$result1"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$result1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="result3">
<xsl:choose>
<xsl:when test="contains($result2, '{')">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'{'"/>
<xsl:with-param name="with" select="'\{'"/>
<xsl:with-param name="text" select="$result2"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$result2"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="result4">
<xsl:choose>
<xsl:when test="contains($result3, '}')">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'}'"/>
<xsl:with-param name="with" select="'\}'"/>
<xsl:with-param name="text" select="$result3"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$result3"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- The '[' and ']' characters don't, in general, need to be
escaped. But there are times when it is ambiguous whether
[ is the beginning of an optional argument or a literal '['.
Hence, it is safer to protect the literal ones with {}. -->
<xsl:variable name="result5">
<xsl:choose>
<xsl:when test="contains($result4, '[')">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'['"/>
<xsl:with-param name="with" select="'{[}'"/>
<xsl:with-param name="text" select="$result4"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$result4"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="result6">
<xsl:choose>
<xsl:when test="contains($result5, ']')">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="']'"/>
<xsl:with-param name="with" select="'{]}'"/>
<xsl:with-param name="text" select="$result5"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$result5"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="result7">
<xsl:choose>
<xsl:when test="contains($result6, '&quot;')">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'&quot;'"/>
<xsl:with-param name="with" select="'\texttt{&quot;}'"/>
<xsl:with-param name="text" select="$result6"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$result6"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'_'"/>
<xsl:with-param name="with" select="'\_'"/>
<xsl:with-param name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'#'"/>
<xsl:with-param name="with" select="'\#'"/>
<xsl:with-param name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'%'"/>
<xsl:with-param name="with" select="'\%'"/>
<xsl:with-param name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'&gt;'"/>
<xsl:with-param name="with" select="'\textgreater{}'"/>
<xsl:with-param name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'&lt;'"/>
<xsl:with-param name="with" select="'\textless{}'"/>
<xsl:with-param name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'~'"/>
<xsl:with-param name="with" select="'\textasciitilde{}'"/>
<xsl:with-param name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'^'"/>
<xsl:with-param name="with" select="'\^{}'"/>
<xsl:with-param name="text">
<xsl:call-template name="replace-string">
<xsl:with-param name="replace" select="'&amp;'"/>
<xsl:with-param name="with" select="'\&amp;'"/>
<xsl:with-param name="text" select="$result7"/>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>