1
Author: Andreas Hoenen <andreas@hoenen-terstappen.de>, Benoit Guillon <ben.guillon@gmail.com>
2
Description: Hotfix for BTS report #623590:
3
Render <replaceable> elements inside of <filename> elements like other
4
<replaceable> elements: use an italics type.
8
<xsl:when test="$filename.as.url='1' and
9
not(ancestor::title or ancestor::refentrytitle)">
10
<!-- Guess hyperref is always used now. -->
11
- <xsl:call-template name="nolinkurl-output">
12
- <xsl:with-param name="url" select="."/>
13
- </xsl:call-template>
14
+ <xsl:apply-templates mode="nolinkurl"/>
17
<xsl:call-template name="inline.monoseq"/>
22
+<!-- By default propagate the mode -->
23
+<xsl:template match="*" mode="nolinkurl">
24
+ <xsl:param name="command" select="'\nolinkurl'"/>
25
+ <xsl:apply-templates mode="nolinkurl">
26
+ <xsl:with-param name="command" select="$command"/>
27
+ </xsl:apply-templates>
30
+<xsl:template match="text()" mode="nolinkurl">
31
+ <xsl:param name="command" select="'\nolinkurl'"/>
32
+ <xsl:call-template name="nolinkurl-output">
33
+ <xsl:with-param name="url" select="."/>
34
+ <xsl:with-param name="command" select="$command"/>
35
+ </xsl:call-template>
38
+<!-- Come back to inline.monoseq for templates where nolinkurl cannot apply -->
39
+<xsl:template match="subscript|superscript" mode="nolinkurl">
40
+ <xsl:call-template name="inline.monoseq">
41
+ <xsl:with-param name="content">
42
+ <xsl:apply-templates select="."/>
44
+ </xsl:call-template>
47
+<xsl:template match="replaceable" mode="nolinkurl">
48
+ <xsl:param name="command" select="'\nolinkurl'"/>
49
+ <xsl:call-template name="inline.italicmonoseq">
50
+ <xsl:with-param name="content">
51
+ <xsl:apply-templates mode="nolinkurl">
52
+ <xsl:with-param name="command" select="$command"/>
53
+ </xsl:apply-templates>
55
+ </xsl:call-template>
58
+<xsl:template match="indexterm" mode="nolinkurl">
59
+ <xsl:apply-templates select="."/>
63
<xsl:template match="function">
65
<xsl:when test="$function.parens != '0'
70
<xsl:template name="nolinkurl">
71
<xsl:param name="url" select="@url"/>
72
- <xsl:text>\nolinkurl{</xsl:text>
73
+ <xsl:param name="command" select="'\nolinkurl'"/>
74
+ <xsl:value-of select="$command"/>
75
+ <xsl:text>{</xsl:text>
76
<xsl:call-template name="scape-encode">
77
<xsl:with-param name="string" select="$url"/>
81
<xsl:template name="nolinkurl2">
82
<xsl:param name="url" select="@url"/>
83
+ <xsl:param name="command" select="'\nolinkurl'"/>
84
<xsl:variable name="bscount">
85
<xsl:call-template name="bslash-end-count">
86
<xsl:with-param name="url" select="$url"/>
89
- <xsl:text>\nolinkurl{</xsl:text>
90
+ <xsl:value-of select="$command"/>
91
+ <xsl:text>{</xsl:text>
92
<xsl:call-template name="scape-encode">
93
<xsl:with-param name="string" select="$url"/>
97
<xsl:template name="nolinkurl-output">
98
<xsl:param name="url" select="@url"/>
99
+ <xsl:param name="command" select="'\nolinkurl'"/>
100
<xsl:variable name="url2">
102
<!-- Behaviour depending on the texlive version -->
104
<xsl:when test="ancestor::entry or ancestor::revision or ancestor::footnote">
105
<xsl:call-template name="nolinkurl-escape">
106
<xsl:with-param name="url" select="$url2"/>
107
+ <xsl:with-param name="command" select="$command"/>
109
<!-- FIXME: do something with '&' and revision if needed -->
112
<xsl:call-template name="nolinkurl-escape">
113
<xsl:with-param name="url" select="$url2"/>
114
<xsl:with-param name="chars" select="' '"/>
115
+ <xsl:with-param name="command" select="$command"/>
120
<xsl:param name="escchars"/>
121
<xsl:param name="url"/>
122
<xsl:param name="chars" select="'#% '"/>
123
+ <xsl:param name="command" select="'\nolinkurl'"/>
125
<xsl:variable name="len" select="string-length($url)"/>
128
<xsl:if test="$len != 0">
129
<xsl:call-template name="nolinkurl2">
130
<xsl:with-param name="url" select="$url"/>
131
+ <xsl:with-param name="command" select="$command"/>
136
select="concat($escchars, '\', substring($url,1,1))"/>
137
<xsl:with-param name="url" select="substring($url, 2)"/>
138
<xsl:with-param name="chars" select="$chars"/>
139
+ <xsl:with-param name="command" select="$command"/>
143
@@ -181,12 +191,14 @@
145
<xsl:call-template name="nolinkurl2">
146
<xsl:with-param name="url" select="substring($url, 1, $pos)"/>
147
+ <xsl:with-param name="command" select="$command"/>
149
<xsl:call-template name="nolinkurl-escape">
150
<xsl:with-param name="escchars"
151
select="concat('\', substring($url,$pos+1,1))"/>
152
<xsl:with-param name="url" select="substring($url, $pos+2)"/>
153
<xsl:with-param name="chars" select="$chars"/>
154
+ <xsl:with-param name="command" select="$command"/>