]> git.evergreen-ils.org Git - working/Evergreen.git/blob - stylesheets/evergreen_docbook_files/docbook-xsl-1.75.2/html/chunk-code.xsl
Capitalized the start of a sentence in the bucket section of cataloging.
[working/Evergreen.git] / stylesheets / evergreen_docbook_files / docbook-xsl-1.75.2 / html / chunk-code.xsl
1 <?xml version="1.0"?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                 xmlns:exsl="http://exslt.org/common"
4                 xmlns:cf="http://docbook.sourceforge.net/xmlns/chunkfast/1.0"
5                 xmlns:ng="http://docbook.org/docbook-ng"
6                 xmlns:db="http://docbook.org/ns/docbook"
7                 exclude-result-prefixes="exsl cf ng db"
8                 version="1.0">
9
10 <!-- ********************************************************************
11      $Id: chunk-code.xsl 8345 2009-03-16 06:44:07Z bobstayton $
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 <!-- ==================================================================== -->
21
22
23 <xsl:template match="*" mode="chunk-filename">
24   <!-- returns the filename of a chunk -->
25   <xsl:variable name="ischunk">
26     <xsl:call-template name="chunk"/>
27   </xsl:variable>
28
29   <xsl:variable name="fn">
30     <xsl:apply-templates select="." mode="recursive-chunk-filename"/>
31   </xsl:variable>
32
33   <!--
34   <xsl:message>
35     <xsl:value-of select="$ischunk"/>
36     <xsl:text> (</xsl:text>
37     <xsl:value-of select="local-name(.)"/>
38     <xsl:text>) </xsl:text>
39     <xsl:value-of select="$fn"/>
40     <xsl:text>, </xsl:text>
41     <xsl:call-template name="dbhtml-dir"/>
42   </xsl:message>
43   -->
44
45   <!-- 2003-11-25 by ndw:
46        The following test used to read test="$ischunk != 0 and $fn != ''"
47        I've removed the ischunk part of the test so that href.to.uri and
48        href.from.uri will be fully qualified even if the source or target
49        isn't a chunk. I *think* that if $fn != '' then it's appropriate
50        to put the directory on the front, even if the element isn't a
51        chunk. I could be wrong. -->
52
53   <xsl:if test="$fn != ''">
54     <xsl:call-template name="dbhtml-dir"/>
55   </xsl:if>
56
57   <xsl:value-of select="$fn"/>
58   <!-- You can't add the html.ext here because dbhtml filename= may already -->
59   <!-- have added it. It really does have to be handled in the recursive template -->
60 </xsl:template>
61
62 <xsl:template match="*" mode="recursive-chunk-filename">
63   <xsl:param name="recursive" select="false()"/>
64
65   <!-- returns the filename of a chunk -->
66   <xsl:variable name="ischunk">
67     <xsl:call-template name="chunk"/>
68   </xsl:variable>
69
70   <xsl:variable name="dbhtml-filename">
71     <xsl:call-template name="pi.dbhtml_filename"/>
72   </xsl:variable>
73
74   <xsl:variable name="filename">
75     <xsl:choose>
76       <xsl:when test="$dbhtml-filename != ''">
77         <xsl:value-of select="$dbhtml-filename"/>
78       </xsl:when>
79       <!-- if this is the root element, use the root.filename -->
80       <xsl:when test="not(parent::*) and $root.filename != ''">
81         <xsl:value-of select="$root.filename"/>
82         <xsl:value-of select="$html.ext"/>
83       </xsl:when>
84       <!-- Special case -->
85       <xsl:when test="self::legalnotice and not($generate.legalnotice.link = 0)">
86         <xsl:choose>
87           <xsl:when test="(@id or @xml:id) and not($use.id.as.filename = 0)">
88             <!-- * if this legalnotice has an ID, then go ahead and use -->
89             <!-- * just the value of that ID as the basename for the file -->
90             <!-- * (that is, without prepending an "ln-" too it) -->
91             <xsl:value-of select="(@id|@xml:id)[1]"/>
92             <xsl:value-of select="$html.ext"/>
93           </xsl:when>
94           <xsl:otherwise>
95             <!-- * otherwise, if this legalnotice does not have an ID, -->
96             <!-- * then we generate an ID... -->
97             <xsl:variable name="id">
98               <xsl:call-template name="object.id"/>
99             </xsl:variable>
100             <!-- * ...and then we take that generated ID, prepend an -->
101             <!-- * "ln-" to it, and use that as the basename for the file -->
102             <xsl:value-of select="concat('ln-',$id,$html.ext)"/>
103           </xsl:otherwise>
104         </xsl:choose>
105       </xsl:when>
106       <!-- if there's no dbhtml filename, and if we're to use IDs as -->
107       <!-- filenames, then use the ID to generate the filename. -->
108       <xsl:when test="(@id or @xml:id) and $use.id.as.filename != 0">
109         <xsl:value-of select="(@id|@xml:id)[1]"/>
110         <xsl:value-of select="$html.ext"/>
111       </xsl:when>
112       <xsl:otherwise></xsl:otherwise>
113     </xsl:choose>
114   </xsl:variable>
115
116   <xsl:choose>
117     <xsl:when test="$ischunk='0'">
118       <!-- if called on something that isn't a chunk, walk up... -->
119       <xsl:choose>
120         <xsl:when test="count(parent::*)>0">
121           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
122             <xsl:with-param name="recursive" select="$recursive"/>
123           </xsl:apply-templates>
124         </xsl:when>
125         <!-- unless there is no up, in which case return "" -->
126         <xsl:otherwise></xsl:otherwise>
127       </xsl:choose>
128     </xsl:when>
129
130     <xsl:when test="not($recursive) and $filename != ''">
131       <!-- if this chunk has an explicit name, use it -->
132       <xsl:value-of select="$filename"/>
133     </xsl:when>
134
135     <xsl:when test="self::set">
136       <xsl:value-of select="$root.filename"/>
137       <xsl:if test="not($recursive)">
138         <xsl:value-of select="$html.ext"/>
139       </xsl:if>
140     </xsl:when>
141
142     <xsl:when test="self::book">
143       <xsl:text>bk</xsl:text>
144       <xsl:number level="any" format="01"/>
145       <xsl:if test="not($recursive)">
146         <xsl:value-of select="$html.ext"/>
147       </xsl:if>
148     </xsl:when>
149
150     <xsl:when test="self::article">
151       <xsl:if test="/set">
152         <!-- in a set, make sure we inherit the right book info... -->
153         <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
154           <xsl:with-param name="recursive" select="true()"/>
155         </xsl:apply-templates>
156       </xsl:if>
157
158       <xsl:text>ar</xsl:text>
159       <xsl:number level="any" format="01" from="book"/>
160       <xsl:if test="not($recursive)">
161         <xsl:value-of select="$html.ext"/>
162       </xsl:if>
163     </xsl:when>
164
165     <xsl:when test="self::preface">
166       <xsl:if test="/set">
167         <!-- in a set, make sure we inherit the right book info... -->
168         <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
169           <xsl:with-param name="recursive" select="true()"/>
170         </xsl:apply-templates>
171       </xsl:if>
172
173       <xsl:text>pr</xsl:text>
174       <xsl:number level="any" format="01" from="book"/>
175       <xsl:if test="not($recursive)">
176         <xsl:value-of select="$html.ext"/>
177       </xsl:if>
178     </xsl:when>
179
180     <xsl:when test="self::chapter">
181       <xsl:if test="/set">
182         <!-- in a set, make sure we inherit the right book info... -->
183         <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
184           <xsl:with-param name="recursive" select="true()"/>
185         </xsl:apply-templates>
186       </xsl:if>
187
188       <xsl:text>ch</xsl:text>
189       <xsl:number level="any" format="01" from="book"/>
190       <xsl:if test="not($recursive)">
191         <xsl:value-of select="$html.ext"/>
192       </xsl:if>
193     </xsl:when>
194
195     <xsl:when test="self::appendix">
196       <xsl:if test="/set">
197         <!-- in a set, make sure we inherit the right book info... -->
198         <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
199           <xsl:with-param name="recursive" select="true()"/>
200         </xsl:apply-templates>
201       </xsl:if>
202
203       <xsl:text>ap</xsl:text>
204       <xsl:number level="any" format="a" from="book"/>
205       <xsl:if test="not($recursive)">
206         <xsl:value-of select="$html.ext"/>
207       </xsl:if>
208     </xsl:when>
209
210     <xsl:when test="self::part">
211       <xsl:choose>
212         <xsl:when test="/set">
213           <!-- in a set, make sure we inherit the right book info... -->
214           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
215             <xsl:with-param name="recursive" select="true()"/>
216           </xsl:apply-templates>
217         </xsl:when>
218         <xsl:otherwise>
219         </xsl:otherwise>
220       </xsl:choose>
221
222       <xsl:text>pt</xsl:text>
223       <xsl:number level="any" format="01" from="book"/>
224       <xsl:if test="not($recursive)">
225         <xsl:value-of select="$html.ext"/>
226       </xsl:if>
227     </xsl:when>
228
229     <xsl:when test="self::reference">
230       <xsl:choose>
231         <xsl:when test="/set">
232           <!-- in a set, make sure we inherit the right book info... -->
233           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
234             <xsl:with-param name="recursive" select="true()"/>
235           </xsl:apply-templates>
236         </xsl:when>
237         <xsl:otherwise>
238         </xsl:otherwise>
239       </xsl:choose>
240
241       <xsl:text>rn</xsl:text>
242       <xsl:number level="any" format="01" from="book"/>
243       <xsl:if test="not($recursive)">
244         <xsl:value-of select="$html.ext"/>
245       </xsl:if>
246     </xsl:when>
247
248     <xsl:when test="self::refentry">
249       <xsl:choose>
250         <xsl:when test="parent::reference">
251           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
252             <xsl:with-param name="recursive" select="true()"/>
253           </xsl:apply-templates>
254         </xsl:when>
255         <xsl:otherwise>
256         </xsl:otherwise>
257       </xsl:choose>
258
259       <xsl:text>re</xsl:text>
260       <xsl:number level="any" format="01" from="book"/>
261       <xsl:if test="not($recursive)">
262         <xsl:value-of select="$html.ext"/>
263       </xsl:if>
264     </xsl:when>
265
266     <xsl:when test="self::colophon">
267       <xsl:choose>
268         <xsl:when test="/set">
269           <!-- in a set, make sure we inherit the right book info... -->
270           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
271             <xsl:with-param name="recursive" select="true()"/>
272           </xsl:apply-templates>
273         </xsl:when>
274         <xsl:otherwise>
275         </xsl:otherwise>
276       </xsl:choose>
277
278       <xsl:text>co</xsl:text>
279       <xsl:number level="any" format="01" from="book"/>
280       <xsl:if test="not($recursive)">
281         <xsl:value-of select="$html.ext"/>
282       </xsl:if>
283     </xsl:when>
284
285     <xsl:when test="self::sect1
286                     or self::sect2
287                     or self::sect3
288                     or self::sect4
289                     or self::sect5
290                     or self::section">
291       <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
292         <xsl:with-param name="recursive" select="true()"/>
293       </xsl:apply-templates>
294       <xsl:text>s</xsl:text>
295       <xsl:number format="01"/>
296       <xsl:if test="not($recursive)">
297         <xsl:value-of select="$html.ext"/>
298       </xsl:if>
299     </xsl:when>
300
301     <xsl:when test="self::bibliography">
302       <xsl:choose>
303         <xsl:when test="/set">
304           <!-- in a set, make sure we inherit the right book info... -->
305           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
306             <xsl:with-param name="recursive" select="true()"/>
307           </xsl:apply-templates>
308         </xsl:when>
309         <xsl:otherwise>
310         </xsl:otherwise>
311       </xsl:choose>
312
313       <xsl:text>bi</xsl:text>
314       <xsl:number level="any" format="01" from="book"/>
315       <xsl:if test="not($recursive)">
316         <xsl:value-of select="$html.ext"/>
317       </xsl:if>
318     </xsl:when>
319
320     <xsl:when test="self::glossary">
321       <xsl:choose>
322         <xsl:when test="/set">
323           <!-- in a set, make sure we inherit the right book info... -->
324           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
325             <xsl:with-param name="recursive" select="true()"/>
326           </xsl:apply-templates>
327         </xsl:when>
328         <xsl:otherwise>
329         </xsl:otherwise>
330       </xsl:choose>
331
332       <xsl:text>go</xsl:text>
333       <xsl:number level="any" format="01" from="book"/>
334       <xsl:if test="not($recursive)">
335         <xsl:value-of select="$html.ext"/>
336       </xsl:if>
337     </xsl:when>
338
339     <xsl:when test="self::index">
340       <xsl:choose>
341         <xsl:when test="/set">
342           <!-- in a set, make sure we inherit the right book info... -->
343           <xsl:apply-templates mode="recursive-chunk-filename" select="parent::*">
344             <xsl:with-param name="recursive" select="true()"/>
345           </xsl:apply-templates>
346         </xsl:when>
347         <xsl:otherwise>
348         </xsl:otherwise>
349       </xsl:choose>
350
351       <xsl:text>ix</xsl:text>
352       <xsl:number level="any" format="01" from="book"/>
353       <xsl:if test="not($recursive)">
354         <xsl:value-of select="$html.ext"/>
355       </xsl:if>
356     </xsl:when>
357
358     <xsl:when test="self::setindex">
359       <xsl:text>si</xsl:text>
360       <xsl:number level="any" format="01" from="set"/>
361       <xsl:if test="not($recursive)">
362         <xsl:value-of select="$html.ext"/>
363       </xsl:if>
364     </xsl:when>
365
366     <xsl:otherwise>
367       <xsl:text>chunk-filename-error-</xsl:text>
368       <xsl:value-of select="name(.)"/>
369       <xsl:number level="any" format="01" from="set"/>
370       <xsl:if test="not($recursive)">
371         <xsl:value-of select="$html.ext"/>
372       </xsl:if>
373     </xsl:otherwise>
374   </xsl:choose>
375 </xsl:template>
376
377 <!-- ==================================================================== -->
378
379
380
381 <xsl:template match="processing-instruction('dbhtml')">
382   <!-- nop -->
383 </xsl:template>
384
385 <!-- ==================================================================== -->
386
387
388 <xsl:template match="*" mode="find.chunks">
389   <xsl:variable name="chunk">
390     <xsl:call-template name="chunk"/>
391   </xsl:variable>
392
393   <xsl:choose>
394     <xsl:when test="$chunk != 0">
395       <cf:div id="{generate-id()}">
396         <xsl:apply-templates select="." mode="class.attribute"/>
397         <xsl:apply-templates select="*" mode="find.chunks"/>
398       </cf:div>
399     </xsl:when>
400     <xsl:otherwise>
401       <xsl:apply-templates select="*" mode="find.chunks"/>
402     </xsl:otherwise>
403   </xsl:choose>
404 </xsl:template>
405
406 <xsl:template match="/">
407   <!-- * Get a title for current doc so that we let the user -->
408   <!-- * know what document we are processing at this point. -->
409   <xsl:variable name="doc.title">
410     <xsl:call-template name="get.doc.title"/>
411   </xsl:variable>
412   <xsl:choose>
413     <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
414          toss the namespace and continue.  Use the docbook5 namespaced
415          stylesheets for DocBook5 if you don't want to use this feature.-->
416     <xsl:when test="$exsl.node.set.available != 0 
417                     and (*/self::ng:* or */self::db:*)">
418       <xsl:call-template name="log.message">
419         <xsl:with-param name="level">Note</xsl:with-param>
420         <xsl:with-param name="source" select="$doc.title"/>
421         <xsl:with-param name="context-desc">
422           <xsl:text>namesp. cut</xsl:text>
423         </xsl:with-param>
424         <xsl:with-param name="message">
425           <xsl:text>stripped namespace before processing</xsl:text>
426         </xsl:with-param>
427       </xsl:call-template>
428       <xsl:variable name="nons">
429         <xsl:apply-templates mode="stripNS"/>
430       </xsl:variable>
431       <xsl:call-template name="log.message">
432         <xsl:with-param name="level">Note</xsl:with-param>
433         <xsl:with-param name="source" select="$doc.title"/>
434         <xsl:with-param name="context-desc">
435           <xsl:text>namesp. cut</xsl:text>
436         </xsl:with-param>
437         <xsl:with-param name="message">
438           <xsl:text>processing stripped document</xsl:text>
439         </xsl:with-param>
440       </xsl:call-template>
441       <xsl:apply-templates select="exsl:node-set($nons)"/>
442     </xsl:when>
443     <!-- Can't process unless namespace removed -->
444     <xsl:when test="*/self::ng:* or */self::db:*">
445       <xsl:message terminate="yes">
446         <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>
447         <xsl:text> cannot proceed.</xsl:text>
448       </xsl:message>
449     </xsl:when>
450     <xsl:otherwise>
451       <xsl:choose>
452         <xsl:when test="$rootid != ''">
453           <xsl:choose>
454             <xsl:when test="count(key('id',$rootid)) = 0">
455               <xsl:message terminate="yes">
456                 <xsl:text>ID '</xsl:text>
457                 <xsl:value-of select="$rootid"/>
458                 <xsl:text>' not found in document.</xsl:text>
459               </xsl:message>
460             </xsl:when>
461             <xsl:otherwise>
462               <xsl:if test="$collect.xref.targets = 'yes' or
463                             $collect.xref.targets = 'only'">
464                 <xsl:apply-templates select="key('id', $rootid)"
465                                      mode="collect.targets"/>
466               </xsl:if>
467               <xsl:if test="$collect.xref.targets != 'only'">
468                 <xsl:apply-templates select="key('id',$rootid)"
469                                      mode="process.root"/>
470                 <xsl:if test="$tex.math.in.alt != ''">
471                   <xsl:apply-templates select="key('id',$rootid)"
472                                        mode="collect.tex.math"/>
473                 </xsl:if>
474                 <xsl:if test="$generate.manifest != 0">
475                   <xsl:call-template name="generate.manifest">
476                     <xsl:with-param name="node" select="key('id',$rootid)"/>
477                   </xsl:call-template>
478                 </xsl:if>
479               </xsl:if>
480             </xsl:otherwise>
481           </xsl:choose>
482         </xsl:when>
483         <xsl:otherwise>
484           <xsl:if test="$collect.xref.targets = 'yes' or
485                         $collect.xref.targets = 'only'">
486             <xsl:apply-templates select="/" mode="collect.targets"/>
487           </xsl:if>
488           <xsl:if test="$collect.xref.targets != 'only'">
489             <xsl:apply-templates select="/" mode="process.root"/>
490             <xsl:if test="$tex.math.in.alt != ''">
491               <xsl:apply-templates select="/" mode="collect.tex.math"/>
492             </xsl:if>
493             <xsl:if test="$generate.manifest != 0">
494               <xsl:call-template name="generate.manifest">
495                 <xsl:with-param name="node" select="/"/>
496               </xsl:call-template>
497             </xsl:if>
498           </xsl:if>
499         </xsl:otherwise>
500       </xsl:choose>
501     </xsl:otherwise>
502   </xsl:choose>
503 </xsl:template>
504
505 <xsl:template match="*" mode="process.root">
506   <xsl:apply-templates select="."/>
507 </xsl:template>
508
509 <!-- ====================================================================== -->
510
511 <xsl:template match="set|book|part|preface|chapter|appendix
512                      |article
513                      |reference|refentry
514                      |book/glossary|article/glossary|part/glossary
515                      |book/bibliography|article/bibliography|part/bibliography
516                      |colophon">
517   <xsl:choose>
518     <xsl:when test="$onechunk != 0 and parent::*">
519       <xsl:apply-imports/>
520     </xsl:when>
521     <xsl:otherwise>
522       <xsl:call-template name="process-chunk-element"/>
523     </xsl:otherwise>
524   </xsl:choose>
525 </xsl:template>
526
527 <xsl:template match="sect1|sect2|sect3|sect4|sect5|section">
528   <xsl:variable name="ischunk">
529     <xsl:call-template name="chunk"/>
530   </xsl:variable>
531
532   <xsl:choose>
533     <xsl:when test="not(parent::*)">
534       <xsl:call-template name="process-chunk-element"/>
535     </xsl:when>
536     <xsl:when test="$ischunk = 0">
537       <xsl:apply-imports/>
538     </xsl:when>
539     <xsl:otherwise>
540       <xsl:call-template name="process-chunk-element"/>
541     </xsl:otherwise>
542   </xsl:choose>
543 </xsl:template>
544
545 <xsl:template match="setindex
546                      |book/index
547                      |article/index
548                      |part/index">
549   <!-- some implementations use completely empty index tags to indicate -->
550   <!-- where an automatically generated index should be inserted. so -->
551   <!-- if the index is completely empty, skip it. -->
552   <xsl:if test="count(*)>0 or $generate.index != '0'">
553     <xsl:call-template name="process-chunk-element"/>
554   </xsl:if>
555 </xsl:template>
556
557 <!-- Resolve xml:base attributes -->
558 <xsl:template match="@fileref">
559   <!-- need a check for absolute urls -->
560   <xsl:choose>
561     <xsl:when test="contains(., ':')">
562       <!-- it has a uri scheme so it is an absolute uri -->
563       <xsl:value-of select="."/>
564     </xsl:when>
565     <xsl:when test="$keep.relative.image.uris != 0">
566       <!-- leave it alone -->
567       <xsl:value-of select="."/>
568     </xsl:when>
569     <xsl:otherwise>
570       <!-- its a relative uri -->
571       <xsl:call-template name="relative-uri">
572         <xsl:with-param name="destdir">
573           <xsl:call-template name="dbhtml-dir">
574             <xsl:with-param name="context" select=".."/>
575           </xsl:call-template>
576         </xsl:with-param>
577       </xsl:call-template>
578     </xsl:otherwise>
579   </xsl:choose>
580 </xsl:template>
581
582 <!-- ==================================================================== -->
583 <xsl:template match="set|book|part|preface|chapter|appendix
584                      |article
585                      |reference|refentry
586                      |sect1|sect2|sect3|sect4|sect5
587                      |section
588                      |book/glossary|article/glossary|part/glossary
589                      |book/bibliography|article/bibliography|part/bibliography
590                      |colophon"
591               mode="enumerate-files">
592   <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
593   <xsl:if test="$ischunk='1'">
594     <xsl:call-template name="make-relative-filename">
595       <xsl:with-param name="base.dir">
596         <xsl:if test="$manifest.in.base.dir = 0">
597           <xsl:value-of select="$base.dir"/>
598         </xsl:if>
599       </xsl:with-param>
600       <xsl:with-param name="base.name">
601         <xsl:apply-templates mode="chunk-filename" select="."/>
602       </xsl:with-param>
603     </xsl:call-template>
604     <xsl:text>&#10;</xsl:text>
605   </xsl:if>
606   <xsl:apply-templates select="*" mode="enumerate-files"/>
607 </xsl:template>
608
609 <xsl:template match="book/index|article/index|part/index"
610               mode="enumerate-files">
611   <xsl:if test="$htmlhelp.output != 1">
612     <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
613     <xsl:if test="$ischunk='1'">
614       <xsl:call-template name="make-relative-filename">
615         <xsl:with-param name="base.dir">
616           <xsl:if test="$manifest.in.base.dir = 0">
617             <xsl:value-of select="$base.dir"/>
618           </xsl:if>
619         </xsl:with-param>
620         <xsl:with-param name="base.name">
621           <xsl:apply-templates mode="chunk-filename" select="."/>
622         </xsl:with-param>
623       </xsl:call-template>
624       <xsl:text>&#10;</xsl:text>
625     </xsl:if>
626     <xsl:apply-templates select="*" mode="enumerate-files"/>
627   </xsl:if>
628 </xsl:template>
629
630 <xsl:template match="legalnotice" mode="enumerate-files">
631   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
632   <xsl:if test="$generate.legalnotice.link != 0">
633     <xsl:call-template name="make-relative-filename">
634       <xsl:with-param name="base.dir">
635         <xsl:if test="$manifest.in.base.dir = 0">
636           <xsl:value-of select="$base.dir"/>
637         </xsl:if>
638       </xsl:with-param>
639       <xsl:with-param name="base.name">
640         <xsl:apply-templates mode="chunk-filename" select="."/>
641       </xsl:with-param>
642     </xsl:call-template>
643     <xsl:text>&#10;</xsl:text>
644   </xsl:if>
645 </xsl:template>
646
647 <xsl:template match="mediaobject[imageobject] | inlinemediaobject[imageobject]" mode="enumerate-files">
648   <xsl:variable name="longdesc.uri">
649     <xsl:call-template name="longdesc.uri">
650       <xsl:with-param name="mediaobject"
651                       select="."/>
652     </xsl:call-template>
653   </xsl:variable>
654   <xsl:variable name="mediaobject" select="."/>
655
656   <xsl:if test="$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]">
657     <xsl:call-template name="longdesc.uri">
658       <xsl:with-param name="mediaobject" select="$mediaobject"/>
659     </xsl:call-template>
660     <xsl:text>&#10;</xsl:text>
661   </xsl:if>
662 </xsl:template>
663
664 <xsl:template match="text()" mode="enumerate-files">
665 </xsl:template>
666
667 </xsl:stylesheet>