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