<!-- load utility snippets -->
-<xsl:include href="../xsl/util/string-reverse.xsl" />
+<xsl:include href="../xsl/util/pretrim.xsl" />
<!-- ==================================================================== -->
<!-- Ordinary HTML that must be converted to latex -->
<xsl:template match="pre|highlight">
<xsl:text>\begin{verbatim}</xsl:text>
-<!-- string trimming: ltrim is easy, rtrim is not. so, we're sneaky and use
-ltrim only. The output is then: string-reverse(ltrim(string-reverse(ltrim(.)))) -->
-<xsl:variable name="reversed">
-<xsl:call-template name="string-reverse">
-<xsl:with-param name="string" select="substring(., string-length(substring-before(., substring(normalize-space(.), 1, 1))) + 1, string-length(.))"/>
-</xsl:call-template>
-</xsl:variable>
-<xsl:call-template name="string-reverse">
-<xsl:with-param name="string" select="substring($reversed, string-length(substring-before($reversed, substring(normalize-space($reversed), 1, 1))) + 1, string-length($reversed))"/>
+<xsl:call-template name="pre-rtrim">
+ <xsl:with-param name="string">
+ <xsl:call-template name="pre-ltrim">
+ <xsl:with-param name="string">
+ <xsl:value-of select="." />
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:with-param>
</xsl:call-template>
<xsl:text>\end{verbatim}</xsl:text>&lf;
<!-- load utility snippets -->
<xsl:include href="util/modtrans.xsl" />
-<xsl:include href="util/string-reverse.xsl" />
+<xsl:include href="util/pretrim.xsl" />
<!-- make sure, we set relative anchors only, if we're actually -->
<!-- transforming a modulefile (see <directive> template) -->
<!-- /section/section/section/section -->
-<!-- strip empty lines at the beginning -->
-<xsl:template name="pre-ltrim">
-<xsl:param name="string" />
-
-<xsl:variable name="lspace">
- <xsl:call-template name="string-reverse">
- <xsl:with-param name="string" select="substring-before($string, substring(normalize-space($string), 1, 1))" />
- </xsl:call-template>
-</xsl:variable>
-
-<xsl:choose>
-<xsl:when test="contains($lspace, '
')">
- <xsl:value-of select="substring(
- $string,
- 1 + string-length($lspace)
- - string-length(substring-before($lspace, '
')),
- string-length($string)
- )" />
-</xsl:when>
-<xsl:otherwise>
- <xsl:value-of select="$string" />
-</xsl:otherwise>
-</xsl:choose>
-</xsl:template>
-
-<!-- strip whitespace at the end -->
-<xsl:template name="pre-rtrim">
-<xsl:param name="string" />
-
-<xsl:variable name="rev">
- <xsl:call-template name="string-reverse">
- <xsl:with-param name="string" select="$string" />
- </xsl:call-template>
-</xsl:variable>
-
-<xsl:call-template name="string-reverse">
- <xsl:with-param name="string" select="substring(
- $rev,
- 1 + string-length(substring-before(
- $rev, substring(normalize-space($rev), 1, 1)
- )),
- string-length($rev)
- )" />
-</xsl:call-template>
-</xsl:template>
-
<!-- ==================================================================== -->
<!-- Render trimmed pre/highlight-text -->
--- /dev/null
+<?xml version="1.0"?>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- load utility snippets -->
+<xsl:include href="string-reverse.xsl" />
+
+
+<!-- strip empty lines at the beginning -->
+<xsl:template name="pre-ltrim">
+<xsl:param name="string" />
+
+<xsl:variable name="lspace">
+ <xsl:call-template name="string-reverse">
+ <xsl:with-param name="string" select="substring-before($string, substring(normalize-space($string), 1, 1))" />
+ </xsl:call-template>
+</xsl:variable>
+
+<xsl:choose>
+<xsl:when test="contains($lspace, '
')">
+ <xsl:value-of select="substring(
+ $string,
+ 1 + string-length($lspace)
+ - string-length(substring-before($lspace, '
')),
+ string-length($string)
+ )" />
+</xsl:when>
+<xsl:otherwise>
+ <xsl:value-of select="$string" />
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<!-- strip whitespace at the end -->
+<xsl:template name="pre-rtrim">
+<xsl:param name="string" />
+
+<xsl:variable name="rev">
+ <xsl:call-template name="string-reverse">
+ <xsl:with-param name="string" select="$string" />
+ </xsl:call-template>
+</xsl:variable>
+
+<xsl:call-template name="string-reverse">
+ <xsl:with-param name="string" select="substring(
+ $rev,
+ 1 + string-length(substring-before(
+ $rev, substring(normalize-space($rev), 1, 1)
+ )),
+ string-length($rev)
+ )" />
+</xsl:call-template>
+</xsl:template>
+
+
+</xsl:stylesheet>