bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / tomcat-connectors-1.2.32-src / xdocs / style.xsl
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!--
3   Licensed to the Apache Software Foundation (ASF) under one or more
4   contributor license agreements.  See the NOTICE file distributed with
5   this work for additional information regarding copyright ownership.
6   The ASF licenses this file to You under the Apache License, Version 2.0
7   (the "License"); you may not use this file except in compliance with
8   the License.  You may obtain a copy of the License at
9
10       http://www.apache.org/licenses/LICENSE-2.0
11
12   Unless required by applicable law or agreed to in writing, software
13   distributed under the License is distributed on an "AS IS" BASIS,
14   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   See the License for the specific language governing permissions and
16   limitations under the License.
17 -->
18 <!-- Content Stylesheet for "tomcat-docs" Documentation -->
19
20 <!-- $Id: style.xsl 1054603 2011-01-03 13:03:43Z rjung $ -->
21
22 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
23   version="1.0">
24
25
26   <!-- Output method -->
27   <xsl:output method="html"
28             encoding="iso-8859-1"
29               indent="no"/>
30
31
32   <!-- Defined parameters (overrideable) -->
33   <xsl:param    name="home-name"        select="'Apache Tomcat'"/>
34   <xsl:param    name="home-href"        select="'http://tomcat.apache.org/'"/>
35   <xsl:param    name="home-logo"        select="'/images/tomcat.gif'"/>
36   <xsl:param    name="printer-logo"     select="'/images/printer.gif'"/>
37   <xsl:param    name="relative-path"    select="'.'"/>
38   <xsl:param    name="void-image"       select="'/images/void.gif'"/>
39   <xsl:param    name="project-menu"     select="'menu'"/>
40   <xsl:param    name="standalone"       select="''"/>
41   <xsl:param    name="buglink"          select="'http://issues.apache.org/bugzilla/show_bug.cgi?id='"/>
42
43   <!-- Defined variables (non-overrideable) -->
44   <xsl:variable name="body-bg"          select="'#ffffff'"/>
45   <xsl:variable name="body-fg"          select="'#000000'"/>
46   <xsl:variable name="body-link"        select="'#525D76'"/>
47   <xsl:variable name="banner-bg"        select="'#525D76'"/>
48   <xsl:variable name="banner-fg"        select="'#ffffff'"/>
49   <xsl:variable name="sub-banner-bg"    select="'#828DA6'"/>
50   <xsl:variable name="sub-banner-fg"    select="'#ffffff'"/>
51   <xsl:variable name="source-color"     select="'#023264'"/>
52   <xsl:variable name="attributes-color" select="'#023264'"/>
53   <xsl:variable name="table-th-bg"      select="'#039acc'"/>
54   <xsl:variable name="table-td-bg"      select="'#a0ddf0'"/>
55
56   <!-- Process an entire document into an HTML page -->
57   <xsl:template match="document">
58     <html>
59     <head>
60     <title><xsl:value-of select="project/title"/> - <xsl:value-of select="properties/title"/></title>
61     <xsl:for-each select="properties/author">
62       <xsl:variable name="name">
63         <xsl:value-of select="."/>
64       </xsl:variable>
65       <xsl:variable name="email">
66         <xsl:value-of select="@email"/>
67       </xsl:variable>
68       <meta name="author" value="{$name}"/>
69       <meta name="email" value="{$email}"/>
70     </xsl:for-each>
71     <link href="{$relative-path}/style.css" type="text/css" rel="stylesheet"/>
72     </head>
73
74     <body bgcolor="{$body-bg}" text="{$body-fg}" link="{$body-link}"
75           alink="{$body-link}" vlink="{$body-link}">
76
77     <table border="0" width="100%" cellspacing="4">
78
79       <xsl:comment>PAGE HEADER</xsl:comment>
80       <tr><td colspan="2">
81
82         <xsl:comment>TOMCAT LOGO</xsl:comment>
83         <xsl:variable name="alt">
84           <xsl:value-of select="$home-name"/>
85         </xsl:variable>
86         <xsl:variable name="href">
87           <xsl:value-of select="$home-href"/>
88         </xsl:variable>
89         <xsl:variable name="src">
90           <xsl:value-of select="$relative-path"/><xsl:value-of select="$home-logo"/>
91         </xsl:variable>
92         <a href="{$href}">
93           <img src="{$src}" align="left" alt="{$alt}" border="0"/>
94         </a>
95         <xsl:if test="project/logo">
96           <xsl:variable name="alt">
97             <xsl:value-of select="project/logo"/>
98           </xsl:variable>
99           <xsl:variable name="home">
100             <xsl:value-of select="project/@href"/>
101           </xsl:variable>
102           <xsl:variable name="src">
103             <xsl:value-of select="$relative-path"/><xsl:value-of select="project/logo/@href"/>
104           </xsl:variable>
105
106           <xsl:comment>APACHE LOGO</xsl:comment>
107           <a href="http://www.apache.org/">
108             <img src="http://www.apache.org/images/asf-logo.gif"
109                  align="right" alt="Apache Logo" border="0"/>
110           </a>
111
112         </xsl:if>
113
114       </td></tr>
115
116       <xsl:comment>HEADER SEPARATOR</xsl:comment>
117       <tr>
118         <td colspan="2">
119           <hr noshade="noshade" size="1"/>
120         </td>
121       </tr>
122
123       <tr>
124
125         <!-- Don't generate a menu if styling printer friendly docs -->
126         <xsl:if test="$project-menu = 'menu'">
127           <xsl:comment>LEFT SIDE NAVIGATION</xsl:comment>
128           <td width="20%" valign="top" nowrap="true">
129             <xsl:apply-templates select="project/body/menu"/>
130           </td>
131         </xsl:if>
132
133         <xsl:comment>RIGHT SIDE MAIN BODY</xsl:comment>
134         <td width="80%" valign="top" align="left">
135           <table border="0" width="100%" cellspacing="4">
136             <tr>
137               <td align="left" valign="top">
138                 <h1><xsl:value-of select="project/title"/></h1>
139                 <h2><xsl:value-of select="properties/title"/></h2>
140               </td>
141               <td align="right" valign="top" nowrap="true">
142                 <!-- Add the printer friendly link for docs with a menu -->
143                 <xsl:if test="$project-menu = 'menu'">
144                   <xsl:variable name="src">
145                     <xsl:value-of select="$relative-path"/><xsl:value-of select="$printer-logo"/>
146                   </xsl:variable>
147                   <xsl:variable name="url">
148                     <xsl:value-of select="/document/@url"/>
149                   </xsl:variable>
150                   <small>
151                     <a href="printer/{$url}">
152                       <img src="{$src}" border="0" alt="Printer Friendly Version"/>
153                       <br />print-friendly<br />version
154                     </a>
155                   </small>
156                 </xsl:if>
157                 <xsl:if test="$project-menu != 'menu'">
158                   <xsl:variable name="void">
159                     <xsl:value-of select="$relative-path"/><xsl:value-of select="$void-image"/>
160                     </xsl:variable>
161                   <img src="{$void}" width="1" height="1" vspace="0" hspace="0" border="0"/>
162                 </xsl:if>
163               </td>
164             </tr>
165           </table>
166           <xsl:apply-templates select="body/section"/>
167         </td>
168
169       </tr>
170
171       <xsl:comment>FOOTER SEPARATOR</xsl:comment>
172       <tr>
173         <td colspan="2">
174           <hr noshade="noshade" size="1"/>
175         </td>
176       </tr>
177
178       <xsl:comment>PAGE FOOTER</xsl:comment>
179       <tr><td colspan="2">
180         <div align="center"><font color="{$body-link}" size="-1"><em>
181         Copyright &#169; 1999-2011, Apache Software Foundation
182         </em></font></div>
183       </td></tr>
184
185     </table>
186     </body>
187     </html>
188
189   </xsl:template>
190
191
192   <!-- Process a menu for the navigation bar -->
193   <xsl:template match="menu">
194     <p><strong><xsl:value-of select="@name"/></strong></p>
195     <ul>
196       <xsl:apply-templates select="item"/>
197     </ul>
198   </xsl:template>
199
200
201   <!-- Process a menu item for the navigation bar -->
202   <xsl:template match="item">
203     <xsl:variable name="href">
204       <xsl:value-of select="@href"/>
205     </xsl:variable>
206     <li><a href="{$href}"><xsl:value-of select="@name"/></a></li>
207   </xsl:template>
208
209
210   <!-- Process a documentation section -->
211   <xsl:template match="section">
212     <xsl:variable name="name">
213       <xsl:value-of select="@name"/>
214     </xsl:variable>
215     <table border="0" cellspacing="0" cellpadding="2" width="100%">
216       <!-- Section heading -->
217       <tr><td bgcolor="{$banner-bg}">
218           <font color="{$banner-fg}" face="arial,helvetica.sanserif">
219           <a name="{$name}">
220           <strong><xsl:value-of select="@name"/></strong></a></font>
221       </td></tr>
222       <!-- Section body -->
223       <tr><td><blockquote>
224         <xsl:apply-templates/>
225       </blockquote></td></tr>
226     </table>
227   </xsl:template>
228
229
230   <!-- Process a documentation subsection -->
231   <xsl:template match="subsection">
232     <xsl:variable name="name">
233       <xsl:value-of select="@name"/>
234     </xsl:variable>
235     <table border="0" cellspacing="0" cellpadding="2" width="100%">
236       <!-- Subsection heading -->
237       <tr><td bgcolor="{$sub-banner-bg}">
238           <font color="{$sub-banner-fg}" face="arial,helvetica.sanserif">
239           <a name="{$name}">
240           <strong><xsl:value-of select="@name"/></strong></a></font>
241       </td></tr>
242       <!-- Subsection body -->
243       <tr><td><blockquote>
244         <xsl:apply-templates/>
245       </blockquote></td></tr>
246     </table>
247   </xsl:template>
248
249
250   <!-- Process a source code example -->
251   <xsl:template match="source">
252     <xsl:variable name="void">
253       <xsl:value-of select="$relative-path"/><xsl:value-of select="$void-image"/>
254     </xsl:variable>
255     <div class="example"><pre>
256         <xsl:value-of select="."/>
257         </pre>
258     </div>
259   </xsl:template>
260
261
262   <!-- Process an attributes list with nested attribute elements -->
263   <xsl:template match="attributes">
264     <table border="1" cellpadding="5">
265       <tr>
266         <th width="20%" bgcolor="{$attributes-color}">
267           <xsl:choose>
268             <xsl:when test="@name != ''">
269                <font color="#ffffff"><xsl:value-of select="@name"/></font>
270             </xsl:when>
271             <xsl:otherwise>
272                <font color="#ffffff">Attribute</font>
273             </xsl:otherwise>
274           </xsl:choose>
275         </th>
276         <th width="80%" bgcolor="{$attributes-color}">
277           <font color="#ffffff">Description</font>
278         </th>
279       </tr>
280       <xsl:for-each select="attribute">
281         <tr>
282           <td align="left" valign="center">
283             <xsl:if test="@required = 'true'">
284               <strong><code><xsl:value-of select="@name"/></code></strong>
285             </xsl:if>
286             <xsl:if test="@required != 'true'">
287               <code><xsl:value-of select="@name"/></code>
288             </xsl:if>
289           </td>
290           <td align="left" valign="center">
291             <xsl:apply-templates/>
292           </td>
293         </tr>
294       </xsl:for-each>
295     </table>
296   </xsl:template>
297
298   <!-- Process a directives list with nested directive elements -->
299   <xsl:template match="directives">
300     <table border="1" cellpadding="5">
301       <tr>
302         <th width="15%" bgcolor="{$attributes-color}">
303           <font color="#ffffff">Directive</font>
304         </th>
305         <th width="10%" bgcolor="{$attributes-color}">
306           <font color="#ffffff">Default</font>
307         </th>
308         <th width="75%" bgcolor="{$attributes-color}">
309           <font color="#ffffff">Description</font>
310         </th>
311       </tr>
312       <xsl:for-each select="directive">
313         <tr>
314           <td align="left" valign="center">
315             <xsl:if test="@required = 'true'">
316               <strong><code><xsl:value-of select="@name"/></code></strong>
317             </xsl:if>
318             <xsl:if test="@required != 'true'">
319               <code><xsl:value-of select="@name"/></code>
320             </xsl:if>
321           </td>
322             <xsl:choose>
323             <xsl:when test="@default != ''">
324                <td align="center" valign="center">
325                <code><xsl:value-of select="@default"/></code>
326               </td>
327             </xsl:when>
328             <xsl:otherwise>
329               <td align="center" valign="center">
330               <code>-</code>
331               </td>
332             </xsl:otherwise>
333           </xsl:choose>
334           <td align="left" valign="center">
335             <xsl:apply-templates/>
336           </td>
337         </tr>
338       </xsl:for-each>
339     </table>
340   </xsl:template>
341
342   <!-- Process an advanced directives list with nested directive elements -->
343   <xsl:template match="advanceddirectives">
344     <table border="1" cellpadding="5">
345       <tr>
346         <th width="10%" bgcolor="{$attributes-color}">
347           <font color="#ffffff">Directive</font>
348         </th>
349         <th width="10%" bgcolor="{$attributes-color}">
350           <font color="#ffffff">Worker Type</font>
351         </th>
352         <th width="8%" bgcolor="{$attributes-color}">
353           <font color="#ffffff">Default</font>
354         </th>
355         <th width="72%" bgcolor="{$attributes-color}">
356           <font color="#ffffff">Description</font>
357         </th>
358       </tr>
359       <xsl:for-each select="directive">
360         <tr>
361           <td align="left" valign="center">
362             <xsl:if test="@required = 'true'">
363               <strong><code><xsl:value-of select="@name"/></code></strong>
364             </xsl:if>
365             <xsl:if test="@required != 'true'">
366               <code><xsl:value-of select="@name"/></code>
367             </xsl:if>
368           </td>
369           <xsl:choose>
370             <xsl:when test="@workers != ''">
371                <td align="left" valign="center">
372                <code><xsl:value-of select="@workers"/></code>
373               </td>
374             </xsl:when>
375             <xsl:otherwise>
376               <td align="left" valign="center">
377               <code>?</code>
378               </td>
379             </xsl:otherwise>
380           </xsl:choose>
381           <xsl:choose>
382             <xsl:when test="@default != ''">
383                <td align="center" valign="center">
384                <code><xsl:value-of select="@default"/></code>
385               </td>
386             </xsl:when>
387             <xsl:otherwise>
388               <td align="center" valign="center">
389               <code>-</code>
390               </td>
391             </xsl:otherwise>
392           </xsl:choose>
393           <td align="left" valign="center">
394             <xsl:apply-templates/>
395           </td>
396         </tr>
397       </xsl:for-each>
398     </table>
399   </xsl:template>
400
401   <!-- Process a deprecations list with nested directive elements -->
402   <xsl:template match="deprecations">
403     <table border="1" cellpadding="5">
404       <tr>
405         <th width="15%" bgcolor="{$attributes-color}">
406           <font color="#ffffff">Directive</font>
407         </th>
408         <th width="15%" bgcolor="{$attributes-color}">
409           <font color="#ffffff">Successor</font>
410         </th>
411         <th width="10%" bgcolor="{$attributes-color}">
412           <font color="#ffffff">Default</font>
413         </th>
414         <th width="60%" bgcolor="{$attributes-color}">
415           <font color="#ffffff">Description</font>
416         </th>
417       </tr>
418       <xsl:for-each select="directive">
419         <tr>
420           <td align="left" valign="center">
421             <code><xsl:value-of select="@name"/></code>
422           </td>
423           <xsl:choose>
424             <xsl:when test="@successor != ''">
425                <td align="center" valign="center">
426                <code><xsl:value-of select="@successor"/></code>
427               </td>
428             </xsl:when>
429             <xsl:otherwise>
430               <td align="center" valign="center">
431               <code>-</code>
432               </td>
433             </xsl:otherwise>
434           </xsl:choose>
435           <xsl:choose>
436             <xsl:when test="@default != ''">
437                <td align="center" valign="center">
438                <code><xsl:value-of select="@default"/></code>
439               </td>
440             </xsl:when>
441             <xsl:otherwise>
442               <td align="center" valign="center">
443               <code>-</code>
444               </td>
445             </xsl:otherwise>
446           </xsl:choose>
447           <td align="left" valign="center">
448             <xsl:apply-templates/>
449           </td>
450         </tr>
451       </xsl:for-each>
452     </table>
453   </xsl:template>
454
455   <!-- Fix relative links in printer friendly versions of the docs -->
456   <xsl:template match="a">
457     <xsl:variable name="href" select="@href"/>
458     <xsl:choose>
459       <xsl:when test="$standalone = 'standalone'">
460         <xsl:apply-templates/>
461       </xsl:when>
462       <xsl:when test="$project-menu != 'menu' and starts-with(@href,'../')">
463         <a href="../{$href}"><xsl:apply-templates/></a>
464       </xsl:when>
465       <xsl:when test="$project-menu != 'menu' and starts-with(@href,'./') and contains(substring(@href,3),'/')">
466         <a href=".{$href}"><xsl:apply-templates/></a>
467       </xsl:when>
468       <xsl:when test="$project-menu != 'menu' and not(contains(@href,'//')) and not(starts-with(@href,'/')) and not(starts-with(@href,'#')) and contains(@href,'/')">
469         <a href="../{$href}"><xsl:apply-templates/></a>
470       </xsl:when>
471       <xsl:when test="$href != ''">
472         <a href="{$href}"><xsl:apply-templates/></a>
473       </xsl:when>
474       <xsl:otherwise>
475         <xsl:variable name="name" select="@name"/>
476         <a name="{$name}"><xsl:apply-templates/></a>
477       </xsl:otherwise>
478     </xsl:choose>
479   </xsl:template>
480
481   <!-- Warning -->
482   <xsl:template match="warn">
483     <p>
484     <font color="#ff0000">
485     <xsl:apply-templates/>
486     </font>
487     </p>
488   </xsl:template>
489
490   <!-- Changelog related tags -->
491   <xsl:template match="changelog">
492     <table border="0" cellpadding="2" cellspacing="2">
493       <xsl:apply-templates/>
494     </table>
495   </xsl:template>
496
497   <xsl:template match="changelog/add">
498     <tr>
499       <xsl:variable name="src"><xsl:value-of select="$relative-path"/>/images/add.gif</xsl:variable>
500       <td valign="top"><img alt="add" class="icon" src="{$src}"/></td>
501       <td><xsl:apply-templates/></td>
502     </tr>
503   </xsl:template>
504
505   <xsl:template match="changelog/update">
506     <tr>
507       <xsl:variable name="src"><xsl:value-of select="$relative-path"/>/images/update.gif</xsl:variable>
508       <td valign="top"><img alt="update" class="icon" src="{$src}"/></td>
509       <td><xsl:apply-templates/></td>
510     </tr>
511   </xsl:template>
512
513   <xsl:template match="changelog/design">
514     <tr>
515       <xsl:variable name="src"><xsl:value-of select="$relative-path"/>/images/design.gif</xsl:variable>
516       <td valign="top"><img alt="design" class="icon" src="{$src}"/></td>
517       <td><xsl:apply-templates/></td>
518     </tr>
519   </xsl:template>
520
521   <xsl:template match="changelog/docs">
522     <tr>
523       <xsl:variable name="src"><xsl:value-of select="$relative-path"/>/images/docs.gif</xsl:variable>
524       <td valign="top"><img alt="docs" class="icon" src="{$src}"/></td>
525       <td><xsl:apply-templates/></td>
526     </tr>
527   </xsl:template>
528
529   <xsl:template match="changelog/fix">
530     <tr>
531       <xsl:variable name="src"><xsl:value-of select="$relative-path"/>/images/fix.gif</xsl:variable>
532       <td valign="top"><img alt="fix" class="icon" src="{$src}"/></td>
533       <td><xsl:apply-templates/></td>
534     </tr>
535   </xsl:template>
536
537   <xsl:template match="changelog/scode">
538     <tr>
539       <xsl:variable name="src"><xsl:value-of select="$relative-path"/>/images/code.gif</xsl:variable>
540       <td valign="top"><img alt="code" class="icon" src="{$src}"/></td>
541       <td><xsl:apply-templates/></td>
542     </tr>
543   </xsl:template>
544
545   <!-- Process an attributes list with nested attribute elements -->
546   <xsl:template match="status">
547     <table border="1" cellpadding="5">
548       <tr>
549         <th width="15%" bgcolor="{$attributes-color}">
550           <font color="#ffffff">Priority</font>
551         </th>
552         <th width="50%" bgcolor="{$attributes-color}">
553           <font color="#ffffff">Action Item</font>
554         </th>
555         <th width="25%" bgcolor="{$attributes-color}">
556           <font color="#ffffff">Volunteers</font>
557         </th>
558         <xsl:for-each select="item">
559         <tr>
560           <td align="left" valign="center">
561             <xsl:value-of select="@priority"/>
562           </td>
563           <td align="left" valign="center">
564             <xsl:apply-templates/>
565           </td>
566           <td align="left" valign="center">
567             <xsl:value-of select="@owner"/>
568           </td>
569         </tr>
570         </xsl:for-each>
571       </tr>
572     </table>
573   </xsl:template>
574
575   <!-- Link to a bug report -->
576   <xsl:template match="bug">
577       <xsl:variable name="link"><xsl:value-of select="$buglink"/><xsl:value-of select="text()"/></xsl:variable>
578       <a href="{$link}"><xsl:apply-templates/></a>
579   </xsl:template>
580
581
582   <xsl:template match="code">
583     <b class="code"><xsl:apply-templates select="text()"/></b>
584   </xsl:template>
585
586   <xsl:template match="todo">
587     <p class="todo">
588       This paragraph has not been written yet, but <b>you</b> can contribute to it.
589       <xsl:if test="string-length(@note) > 0">
590         The original author left a note attached to this TO-DO item:
591         <b><xsl:value-of select="@note"/></b>
592       </xsl:if>
593     </p>
594   </xsl:template>
595
596   <!-- Screens -->
597
598   <xsl:template match="screen">
599     <p class="screen">
600       <div align="left">
601         <table width="80%" border="1" cellspacing="0" cellpadding="2" bgcolor="#000000">
602           <tr>
603             <td bgcolor="#000000" align="left">
604               <xsl:apply-templates select="note|wait|type|typedos|type5250|typenext|read"/>
605             </td>
606           </tr>
607         </table>
608       </div>
609     </p>
610   </xsl:template>
611
612   <xsl:template match="note">
613     <div class="screen">
614       <xsl:value-of select="text()"/>
615     </div>
616   </xsl:template>
617
618   <xsl:template match="wait">
619     <div class="screen">[...]</div>
620   </xsl:template>
621
622   <xsl:template match="type">
623     <code>
624       <nobr>
625         <em class="screen">
626           <xsl:text>[user@host] ~</xsl:text>
627           <xsl:if test="string-length(@dir) > 0">
628             <xsl:text>/</xsl:text>
629             <xsl:value-of select="@dir"/>
630           </xsl:if>
631           <xsl:text> $ </xsl:text>
632         </em>
633         <xsl:if test="string-length(text()) > 0">
634           <b class="screen"><xsl:value-of select="text()"/></b>
635         </xsl:if>
636       </nobr>
637     </code>
638     <br/>
639   </xsl:template>
640
641   <xsl:template match="typedos">
642     <code>
643       <nobr>
644         <em class="screen">
645           <xsl:text>c:\</xsl:text>
646           <xsl:if test="string-length(@dir) > 0">
647             <xsl:text>/</xsl:text>
648             <xsl:value-of select="@dir"/>
649           </xsl:if>
650           <xsl:text>></xsl:text>
651         </em>
652         <xsl:if test="string-length(text()) > 0">
653           <b class="screen"><xsl:value-of select="text()"/></b>
654         </xsl:if>
655       </nobr>
656     </code>
657     <br/>
658   </xsl:template>
659
660   <xsl:template match="type5250">
661     <code>
662       <nobr>
663         <em class="screen">
664           <xsl:text>===></xsl:text>
665         </em>
666         <xsl:if test="string-length(text()) > 0">
667           <b class="screen"><xsl:value-of select="text()"/></b>
668         </xsl:if>
669       </nobr>
670     </code>
671     <br/>
672   </xsl:template>
673
674   <xsl:template match="typenext">
675     <code>
676       <nobr>
677         <em class="screen">
678           <xsl:text> </xsl:text>
679         </em>
680         <xsl:if test="string-length(text()) > 0">
681           <b class="screen"><xsl:value-of select="text()"/></b>
682         </xsl:if>
683       </nobr>
684     </code>
685     <br/>
686   </xsl:template>
687
688   <xsl:template match="read">
689     <code class="screen">
690       <nobr>
691         <xsl:apply-templates select="text()|enter"/>
692       </nobr>
693     </code>
694     <br/>
695   </xsl:template>
696
697   <xsl:template match="enter">
698     <b class="screen"><xsl:value-of select="text()"/></b>
699   </xsl:template>
700
701
702
703   <!-- Process everything else by just passing it through -->
704   <xsl:template match="*|@*">
705     <xsl:copy>
706       <xsl:apply-templates select="@*|*|text()"/>
707     </xsl:copy>
708   </xsl:template>
709
710 </xsl:stylesheet>