Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Side by Side Diff: third_party/docbook-xsl-1.78.0/html/verbatim.xsl

Issue 1394993002: Doing some cleanup. (Closed) Base URL: https://github.com/dart-lang/www.dartlang.org.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <?xml version='1.0'?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:sverb="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbati m"
4 xmlns:xverb="xalan://com.nwalsh.xalan.Verbatim"
5 xmlns:lxslt="http://xml.apache.org/xslt"
6 xmlns:exsl="http://exslt.org/common"
7 exclude-result-prefixes="sverb xverb lxslt exsl"
8 version='1.0'>
9
10 <!-- ********************************************************************
11 $Id: verbatim.xsl 9589 2012-09-02 20:52:15Z tom_schr $
12 ********************************************************************
13
14 This file is part of the XSL DocBook Stylesheet distribution.
15 See ../README or http://docbook.sf.net/release/xsl/current/ for
16 copyright and other information.
17
18 ******************************************************************** -->
19
20 <!-- XSLTHL highlighting is turned off by default. See highlighting/README
21 for instructions on how to turn on XSLTHL -->
22 <xsl:template name="apply-highlighting">
23 <xsl:apply-templates/>
24 </xsl:template>
25
26 <lxslt:component prefix="xverb"
27 functions="numberLines"/>
28
29 <xsl:template match="programlisting|screen|synopsis">
30 <xsl:param name="suppress-numbers" select="'0'"/>
31
32 <xsl:call-template name="anchor"/>
33
34 <xsl:variable name="div.element">pre</xsl:variable>
35
36 <xsl:if test="$shade.verbatim != 0">
37 <xsl:message>
38 <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text>
39 <xsl:text>Use CSS instead,</xsl:text>
40 </xsl:message>
41 <xsl:message>
42 <xsl:text>for example: pre.</xsl:text>
43 <xsl:value-of select="local-name(.)"/>
44 <xsl:text> { background-color: #E0E0E0; }</xsl:text>
45 </xsl:message>
46 </xsl:if>
47
48 <xsl:choose>
49 <xsl:when test="$suppress-numbers = '0'
50 and @linenumbering = 'numbered'
51 and $use.extensions != '0'
52 and $linenumbering.extension != '0'">
53 <xsl:variable name="rtf">
54 <xsl:choose>
55 <xsl:when test="$highlight.source != 0">
56 <xsl:call-template name="apply-highlighting"/>
57 </xsl:when>
58 <xsl:otherwise>
59 <xsl:apply-templates/>
60 </xsl:otherwise>
61 </xsl:choose>
62 </xsl:variable>
63 <xsl:element name="{$div.element}">
64 <xsl:apply-templates select="." mode="common.html.attributes"/>
65 <xsl:call-template name="id.attribute"/>
66 <xsl:if test="@width != ''">
67 <xsl:attribute name="width">
68 <xsl:value-of select="@width"/>
69 </xsl:attribute>
70 </xsl:if>
71 <xsl:call-template name="number.rtf.lines">
72 <xsl:with-param name="rtf" select="$rtf"/>
73 </xsl:call-template>
74 </xsl:element>
75 </xsl:when>
76 <xsl:otherwise>
77 <xsl:element name="{$div.element}">
78 <xsl:apply-templates select="." mode="common.html.attributes"/>
79 <xsl:call-template name="id.attribute"/>
80 <xsl:if test="@width != ''">
81 <xsl:attribute name="width">
82 <xsl:value-of select="@width"/>
83 </xsl:attribute>
84 </xsl:if>
85 <xsl:choose>
86 <xsl:when test="$highlight.source != 0">
87 <xsl:call-template name="apply-highlighting"/>
88 </xsl:when>
89 <xsl:otherwise>
90 <xsl:apply-templates/>
91 </xsl:otherwise>
92 </xsl:choose>
93 </xsl:element>
94 </xsl:otherwise>
95 </xsl:choose>
96 </xsl:template>
97
98 <xsl:template match="literallayout">
99 <xsl:param name="suppress-numbers" select="'0'"/>
100
101 <xsl:variable name="rtf">
102 <xsl:apply-templates/>
103 </xsl:variable>
104
105 <xsl:if test="$shade.verbatim != 0 and @class='monospaced'">
106 <xsl:message>
107 <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text>
108 <xsl:text>Use CSS instead,</xsl:text>
109 </xsl:message>
110 <xsl:message>
111 <xsl:text>for example: pre.</xsl:text>
112 <xsl:value-of select="local-name(.)"/>
113 <xsl:text> { background-color: #E0E0E0; }</xsl:text>
114 </xsl:message>
115 </xsl:if>
116
117 <xsl:choose>
118 <xsl:when test="$suppress-numbers = '0'
119 and @linenumbering = 'numbered'
120 and $use.extensions != '0'
121 and $linenumbering.extension != '0'">
122 <xsl:choose>
123 <xsl:when test="@class='monospaced'">
124 <pre>
125 <xsl:apply-templates select="." mode="common.html.attributes"/>
126 <xsl:call-template name="id.attribute"/>
127 <xsl:call-template name="number.rtf.lines">
128 <xsl:with-param name="rtf" select="$rtf"/>
129 </xsl:call-template>
130 </pre>
131 </xsl:when>
132 <xsl:otherwise>
133 <div>
134 <xsl:apply-templates select="." mode="common.html.attributes"/>
135 <xsl:call-template name="id.attribute"/>
136 <p>
137 <xsl:call-template name="number.rtf.lines">
138 <xsl:with-param name="rtf" select="$rtf"/>
139 </xsl:call-template>
140 </p>
141 </div>
142 </xsl:otherwise>
143 </xsl:choose>
144 </xsl:when>
145 <xsl:otherwise>
146 <xsl:choose>
147 <xsl:when test="@class='monospaced'">
148 <pre>
149 <xsl:apply-templates select="." mode="common.html.attributes"/>
150 <xsl:call-template name="id.attribute"/>
151 <xsl:copy-of select="$rtf"/>
152 </pre>
153 </xsl:when>
154 <xsl:otherwise>
155 <div>
156 <xsl:apply-templates select="." mode="common.html.attributes"/>
157 <xsl:call-template name="id.attribute"/>
158 <p>
159 <xsl:call-template name="make-verbatim">
160 <xsl:with-param name="rtf" select="$rtf"/>
161 </xsl:call-template>
162 </p>
163 </div>
164 </xsl:otherwise>
165 </xsl:choose>
166 </xsl:otherwise>
167 </xsl:choose>
168 </xsl:template>
169
170 <xsl:template match="address">
171 <xsl:param name="suppress-numbers" select="'0'"/>
172
173 <xsl:variable name="rtf">
174 <xsl:apply-templates/>
175 </xsl:variable>
176
177 <xsl:choose>
178 <xsl:when test="$suppress-numbers = '0'
179 and @linenumbering = 'numbered'
180 and $use.extensions != '0'
181 and $linenumbering.extension != '0'">
182 <div>
183 <xsl:apply-templates select="." mode="common.html.attributes"/>
184 <xsl:call-template name="id.attribute"/>
185 <p>
186 <xsl:call-template name="number.rtf.lines">
187 <xsl:with-param name="rtf" select="$rtf"/>
188 </xsl:call-template>
189 </p>
190 </div>
191 </xsl:when>
192
193 <xsl:otherwise>
194 <div>
195 <xsl:apply-templates select="." mode="common.html.attributes"/>
196 <xsl:call-template name="id.attribute"/>
197 <p>
198 <xsl:call-template name="make-verbatim">
199 <xsl:with-param name="rtf" select="$rtf"/>
200 </xsl:call-template>
201 </p>
202 </div>
203 </xsl:otherwise>
204 </xsl:choose>
205 </xsl:template>
206
207 <xsl:template name="number.rtf.lines">
208 <xsl:param name="rtf" select="''"/>
209 <xsl:param name="pi.context" select="."/>
210
211 <!-- Save the global values -->
212 <xsl:variable name="global.linenumbering.everyNth"
213 select="$linenumbering.everyNth"/>
214
215 <xsl:variable name="global.linenumbering.separator"
216 select="$linenumbering.separator"/>
217
218 <xsl:variable name="global.linenumbering.width"
219 select="$linenumbering.width"/>
220
221 <!-- Extract the <?dbhtml linenumbering.*?> PI values -->
222 <xsl:variable name="pi.linenumbering.everyNth">
223 <xsl:call-template name="pi.dbhtml_linenumbering.everyNth">
224 <xsl:with-param name="node" select="$pi.context"/>
225 </xsl:call-template>
226 </xsl:variable>
227
228 <xsl:variable name="pi.linenumbering.separator">
229 <xsl:call-template name="pi.dbhtml_linenumbering.separator">
230 <xsl:with-param name="node" select="$pi.context"/>
231 </xsl:call-template>
232 </xsl:variable>
233
234 <xsl:variable name="pi.linenumbering.width">
235 <xsl:call-template name="pi.dbhtml_linenumbering.width">
236 <xsl:with-param name="node" select="$pi.context"/>
237 </xsl:call-template>
238 </xsl:variable>
239
240 <!-- Construct the 'in-context' values -->
241 <xsl:variable name="linenumbering.everyNth">
242 <xsl:choose>
243 <xsl:when test="$pi.linenumbering.everyNth != ''">
244 <xsl:value-of select="$pi.linenumbering.everyNth"/>
245 </xsl:when>
246 <xsl:otherwise>
247 <xsl:value-of select="$global.linenumbering.everyNth"/>
248 </xsl:otherwise>
249 </xsl:choose>
250 </xsl:variable>
251
252 <xsl:variable name="linenumbering.separator">
253 <xsl:choose>
254 <xsl:when test="$pi.linenumbering.separator != ''">
255 <xsl:value-of select="$pi.linenumbering.separator"/>
256 </xsl:when>
257 <xsl:otherwise>
258 <xsl:value-of select="$global.linenumbering.separator"/>
259 </xsl:otherwise>
260 </xsl:choose>
261 </xsl:variable>
262
263 <xsl:variable name="linenumbering.width">
264 <xsl:choose>
265 <xsl:when test="$pi.linenumbering.width != ''">
266 <xsl:value-of select="$pi.linenumbering.width"/>
267 </xsl:when>
268 <xsl:otherwise>
269 <xsl:value-of select="$global.linenumbering.width"/>
270 </xsl:otherwise>
271 </xsl:choose>
272 </xsl:variable>
273
274 <xsl:variable name="linenumbering.startinglinenumber">
275 <xsl:choose>
276 <xsl:when test="$pi.context/@startinglinenumber">
277 <xsl:value-of select="$pi.context/@startinglinenumber"/>
278 </xsl:when>
279 <xsl:when test="$pi.context/@continuation='continues'">
280 <xsl:variable name="lastLine">
281 <xsl:choose>
282 <xsl:when test="$pi.context/self::programlisting">
283 <xsl:call-template name="lastLineNumber">
284 <xsl:with-param name="listings"
285 select="preceding::programlisting[@linenumbering='numbered' ]"/>
286 </xsl:call-template>
287 </xsl:when>
288 <xsl:when test="$pi.context/self::screen">
289 <xsl:call-template name="lastLineNumber">
290 <xsl:with-param name="listings"
291 select="preceding::screen[@linenumbering='numbered']"/>
292 </xsl:call-template>
293 </xsl:when>
294 <xsl:when test="$pi.context/self::literallayout">
295 <xsl:call-template name="lastLineNumber">
296 <xsl:with-param name="listings"
297 select="preceding::literallayout[@linenumbering='numbered'] "/>
298 </xsl:call-template>
299 </xsl:when>
300 <xsl:when test="$pi.context/self::address">
301 <xsl:call-template name="lastLineNumber">
302 <xsl:with-param name="listings"
303 select="preceding::address[@linenumbering='numbered']"/>
304 </xsl:call-template>
305 </xsl:when>
306 <xsl:when test="$pi.context/self::synopsis">
307 <xsl:call-template name="lastLineNumber">
308 <xsl:with-param name="listings"
309 select="preceding::synopsis[@linenumbering='numbered']"/>
310 </xsl:call-template>
311 </xsl:when>
312 <xsl:otherwise>
313 <xsl:message>
314 <xsl:text>Unexpected verbatim environment: </xsl:text>
315 <xsl:value-of select="local-name($pi.context)"/>
316 </xsl:message>
317 <xsl:value-of select="0"/>
318 </xsl:otherwise>
319 </xsl:choose>
320 </xsl:variable>
321
322 <xsl:value-of select="$lastLine + 1"/>
323 </xsl:when>
324 <xsl:otherwise>1</xsl:otherwise>
325 </xsl:choose>
326 </xsl:variable>
327
328 <xsl:choose>
329 <xsl:when test="function-available('sverb:numberLines')">
330 <xsl:copy-of select="sverb:numberLines($rtf)"/>
331 </xsl:when>
332 <xsl:when test="function-available('xverb:numberLines')">
333 <xsl:copy-of select="xverb:numberLines($rtf)"/>
334 </xsl:when>
335 <xsl:otherwise>
336 <xsl:message terminate="yes">
337 <xsl:text>No numberLines function available.</xsl:text>
338 </xsl:message>
339 </xsl:otherwise>
340 </xsl:choose>
341 </xsl:template>
342
343 <xsl:template name="make-verbatim">
344 <xsl:param name="rtf"/>
345
346 <!-- I want to make this RTF verbatim. There are two possibilities: either
347 I have access to the exsl:node-set extension function and I can "do it ri ght"
348 or I have to rely on CSS. -->
349
350 <xsl:choose>
351 <xsl:when test="$exsl.node.set.available != 0">
352 <xsl:apply-templates select="exsl:node-set($rtf)" mode="make.verbatim.mode "/>
353 </xsl:when>
354 <xsl:otherwise>
355 <span style="white-space: pre;">
356 <xsl:copy-of select="$rtf"/>
357 </span>
358 </xsl:otherwise>
359 </xsl:choose>
360 </xsl:template>
361
362 <!-- ======================================================================== -- >
363
364 <xsl:template name="lastLineNumber">
365 <xsl:param name="listings"/>
366 <xsl:param name="number" select="0"/>
367
368 <xsl:variable name="lines">
369 <xsl:call-template name="countLines">
370 <xsl:with-param name="listing" select="string($listings[1])"/>
371 </xsl:call-template>
372 </xsl:variable>
373
374 <xsl:choose>
375 <xsl:when test="not($listings)">
376 <xsl:value-of select="$number"/>
377 </xsl:when>
378 <xsl:when test="$listings[1]/@startinglinenumber">
379 <xsl:value-of select="$number + $listings[1]/@startinglinenumber + $lines - 1"/>
380 </xsl:when>
381 <xsl:when test="$listings[1]/@continuation='continues'">
382 <xsl:call-template name="lastLineNumber">
383 <xsl:with-param name="listings" select="$listings[position() &gt; 1]"/>
384 <xsl:with-param name="number" select="$number + $lines"/>
385 </xsl:call-template>
386 </xsl:when>
387 <xsl:otherwise>
388 <xsl:value-of select="$lines"/>
389 </xsl:otherwise>
390 </xsl:choose>
391 </xsl:template>
392
393 <xsl:template name="countLines">
394 <xsl:param name="listing"/>
395 <xsl:param name="count" select="1"/>
396
397 <xsl:choose>
398 <xsl:when test="contains($listing, '&#10;')">
399 <xsl:call-template name="countLines">
400 <xsl:with-param name="listing" select="substring-after($listing, '&#10;' )"/>
401 <xsl:with-param name="count" select="$count + 1"/>
402 </xsl:call-template>
403 </xsl:when>
404 <xsl:otherwise>
405 <xsl:value-of select="$count"/>
406 </xsl:otherwise>
407 </xsl:choose>
408 </xsl:template>
409
410 </xsl:stylesheet>
OLDNEW
« no previous file with comments | « third_party/docbook-xsl-1.78.0/html/toc.xsl ('k') | third_party/docbook-xsl-1.78.0/html/xref.xsl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698