~todd-deshane/openstack-manuals/working

« back to all changes in this revision

Viewing changes to doc/build/docbook-xsl-1.76.1/htmlhelp/profile-htmlhelp-common.xsl

  • Committer: Anne Gentle
  • Date: 2011-04-04 17:54:52 UTC
  • Revision ID: anne@openstack.org-20110404175452-gtth3hfrniqhpp5o
Switching from Ant builds to Maven, still working out kinks but should be functional

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="US-ASCII"?>
2
 
<!--This file was created automatically by xsl2profile-->
3
 
<!--from the DocBook XSL stylesheets.-->
4
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns:exsl="http://exslt.org/common" xmlns:set="http://exslt.org/sets" xmlns:h="urn:x-hex" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exslt="http://exslt.org/common" exslt:dummy="dummy" ng:dummy="dummy" db:dummy="dummy" extension-element-prefixes="exslt" version="1.0" exclude-result-prefixes="doc exsl set h db ng exslt">
5
 
 
6
 
<!-- ********************************************************************
7
 
     $Id: htmlhelp-common.xsl 8400 2009-04-08 07:44:54Z bobstayton $
8
 
     ******************************************************************** -->
9
 
 
10
 
<!-- ==================================================================== -->
11
 
<!-- Customizations of standard HTML stylesheet parameters -->
12
 
 
13
 
<!-- no navigation on pages by default, HTML Help provides its own navigation controls -->
14
 
<xsl:param name="suppress.navigation" select="1"/>
15
 
 
16
 
<!-- no separate HTML page with index, index is built inside CHM index pane -->
17
 
<xsl:param name="generate.index" select="0"/>
18
 
 
19
 
<!-- ==================================================================== -->
20
 
 
21
 
<xsl:param name="htmlhelp.generate.index" select="//indexterm[1]|//db:indexterm[1]|//ng:indexterm[1]"/>
22
 
  
23
 
<!-- Set up HTML Help flag -->
24
 
<xsl:variable name="htmlhelp.output" select="1"/>
25
 
 
26
 
<!-- ==================================================================== -->
27
 
 
28
 
<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="/">
29
 
 
30
 
  <!-- * Get a title for current doc so that we let the user -->
31
 
  <!-- * know what document we are processing at this point. -->
32
 
  <xsl:variable name="doc.title">
33
 
    <xsl:call-template name="get.doc.title"/>
34
 
  </xsl:variable>
35
 
  <xsl:choose>
36
 
    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
37
 
         toss the namespace and continue.  Use the docbook5 namespaced
38
 
         stylesheets for DocBook5 if you don't want to use this feature.-->
39
 
    <xsl:when test="false()"/>
40
 
    <xsl:otherwise>
41
 
  <xsl:if test="$htmlhelp.only != 1">
42
 
    <xsl:choose>
43
 
      <xsl:when test="$rootid != ''">
44
 
        <xsl:choose>
45
 
          <xsl:when test="count($profiled-nodes//*[@id=$rootid]) = 0">
46
 
            <xsl:message terminate="yes">
47
 
              <xsl:text>ID '</xsl:text>
48
 
              <xsl:value-of select="$rootid"/>
49
 
              <xsl:text>' not found in document.</xsl:text>
50
 
            </xsl:message>
51
 
          </xsl:when>
52
 
          <xsl:otherwise>
53
 
            <xsl:message>Formatting from <xsl:value-of select="$rootid"/></xsl:message>
54
 
            <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="process.root"/>
55
 
          </xsl:otherwise>
56
 
        </xsl:choose>
57
 
      </xsl:when>
58
 
      <xsl:otherwise>
59
 
        <xsl:if test="$collect.xref.targets = 'yes' or                       $collect.xref.targets = 'only'">
60
 
          <xsl:apply-templates select="$profiled-nodes" mode="collect.targets"/>
61
 
        </xsl:if>
62
 
        <xsl:if test="$collect.xref.targets != 'only'">
63
 
          <xsl:apply-templates select="$profiled-nodes" mode="process.root"/>
64
 
        </xsl:if>
65
 
      </xsl:otherwise>
66
 
    </xsl:choose>
67
 
  </xsl:if>
68
 
 
69
 
 
70
 
  <xsl:if test="$collect.xref.targets != 'only'">
71
 
    <xsl:call-template name="hhp"/>
72
 
    <xsl:call-template name="hhc"/>
73
 
    <xsl:if test="($rootid = '' and //processing-instruction('dbhh')) or                   ($rootid != '' and $profiled-nodes//*[@id=$rootid]//processing-instruction('dbhh'))">
74
 
      <xsl:call-template name="hh-map"/>
75
 
      <xsl:call-template name="hh-alias"/>
76
 
    </xsl:if>
77
 
    <xsl:if test="$htmlhelp.generate.index">
78
 
      <xsl:call-template name="hhk"/>
79
 
    </xsl:if>
80
 
  </xsl:if>
81
 
</xsl:otherwise>
82
 
</xsl:choose>
83
 
</xsl:template>
84
 
 
85
 
<!-- ==================================================================== -->
86
 
 
87
 
<xsl:template name="hhp">
88
 
  <xsl:call-template name="write.text.chunk">
89
 
    <xsl:with-param name="filename">
90
 
      <xsl:if test="$manifest.in.base.dir != 0">
91
 
        <xsl:value-of select="$base.dir"/>
92
 
      </xsl:if>
93
 
      <xsl:value-of select="$htmlhelp.hhp"/>
94
 
    </xsl:with-param>
95
 
    <xsl:with-param name="method" select="'text'"/>
96
 
    <xsl:with-param name="content">
97
 
      <xsl:call-template name="hhp-main"/>
98
 
    </xsl:with-param>
99
 
    <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
100
 
    <xsl:with-param name="quiet" select="$chunk.quietly"/>
101
 
  </xsl:call-template>
102
 
</xsl:template>
103
 
 
104
 
<!-- ==================================================================== -->
105
 
<xsl:template name="hhp-main">
106
 
 
107
 
  <xsl:variable name="raw.help.title">
108
 
    <xsl:choose>
109
 
      <xsl:when test="$htmlhelp.title = ''">
110
 
        <xsl:choose>
111
 
          <xsl:when test="$rootid != ''">
112
 
            <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="title.markup"/>
113
 
          </xsl:when>
114
 
          <xsl:otherwise>
115
 
            <xsl:apply-templates select="$profiled-nodes/*" mode="title.markup"/>
116
 
          </xsl:otherwise>
117
 
        </xsl:choose>
118
 
      </xsl:when>
119
 
      <xsl:otherwise>
120
 
        <xsl:value-of select="$htmlhelp.title"/>
121
 
      </xsl:otherwise>
122
 
    </xsl:choose>
123
 
  </xsl:variable>
124
 
 
125
 
  <xsl:variable name="help.title" select="normalize-space($raw.help.title)"/>
126
 
  
127
 
<xsl:variable name="default.topic">
128
 
  <xsl:choose>
129
 
    <xsl:when test="$htmlhelp.default.topic != ''">
130
 
      <xsl:value-of select="$htmlhelp.default.topic"/>
131
 
    </xsl:when>
132
 
    <xsl:otherwise>
133
 
      <xsl:call-template name="make-relative-filename">
134
 
        <xsl:with-param name="base.dir">
135
 
          <xsl:if test="$manifest.in.base.dir = 0">
136
 
            <xsl:value-of select="$base.dir"/>
137
 
          </xsl:if>
138
 
        </xsl:with-param>
139
 
        <xsl:with-param name="base.name">
140
 
          <xsl:choose>
141
 
            <xsl:when test="$rootid != ''">
142
 
              <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="chunk-filename"/>
143
 
            </xsl:when>
144
 
            <xsl:otherwise>
145
 
              <xsl:apply-templates select="$profiled-nodes" mode="chunk-filename"/>
146
 
            </xsl:otherwise>
147
 
          </xsl:choose>
148
 
        </xsl:with-param>
149
 
      </xsl:call-template>
150
 
    </xsl:otherwise>
151
 
  </xsl:choose>
152
 
</xsl:variable>
153
 
<xsl:variable name="xnavigation">
154
 
  <xsl:text>0x</xsl:text>
155
 
  <xsl:call-template name="toHex">
156
 
    <xsl:with-param name="n" select="9504 + $htmlhelp.show.menu * 65536                                           + $htmlhelp.show.advanced.search * 131072                                           + $htmlhelp.show.favorities * 4096                                           + (1 - $htmlhelp.show.toolbar.text) * 64                                           + $htmlhelp.remember.window.position * 262144"/>
157
 
  </xsl:call-template>
158
 
</xsl:variable>
159
 
<xsl:variable name="xbuttons">
160
 
  <xsl:text>0x</xsl:text>
161
 
  <xsl:call-template name="toHex">
162
 
    <xsl:with-param name="n" select="0 + $htmlhelp.button.hideshow * 2                                        + $htmlhelp.button.back * 4                                        + $htmlhelp.button.forward * 8                                        + $htmlhelp.button.stop * 16                                        + $htmlhelp.button.refresh * 32                                        + $htmlhelp.button.home * 64                                        + $htmlhelp.button.options * 4096                                        + $htmlhelp.button.print * 8192                                        + $htmlhelp.button.locate * 2048                                        + $htmlhelp.button.jump1 * 262144                                        + $htmlhelp.button.jump2 * 524288                                        + $htmlhelp.button.next * 2097152                                        + $htmlhelp.button.prev * 4194304                                        + $htmlhelp.button.zoom * 1048576"/>
163
 
  </xsl:call-template>
164
 
</xsl:variable>
165
 
<xsl:text>[OPTIONS]
166
 
</xsl:text>
167
 
<xsl:if test="$htmlhelp.generate.index">
168
 
<xsl:text>Auto Index=Yes
169
 
</xsl:text></xsl:if>
170
 
<xsl:if test="$htmlhelp.hhc.binary != 0">
171
 
<xsl:text>Binary TOC=Yes
172
 
</xsl:text></xsl:if>
173
 
<xsl:text>Compatibility=1.1 or later
174
 
Compiled file=</xsl:text><xsl:value-of select="$htmlhelp.chm"/><xsl:text>
175
 
Contents file=</xsl:text><xsl:value-of select="$htmlhelp.hhc"/><xsl:text>
176
 
</xsl:text>
177
 
<xsl:if test="$htmlhelp.hhp.window != ''">
178
 
<xsl:text>Default Window=</xsl:text><xsl:value-of select="$htmlhelp.hhp.window"/><xsl:text>
179
 
</xsl:text></xsl:if>
180
 
<xsl:text>Default topic=</xsl:text><xsl:value-of select="$default.topic"/>
181
 
<xsl:text>
182
 
Display compile progress=</xsl:text>
183
 
  <xsl:choose>
184
 
    <xsl:when test="$htmlhelp.display.progress != 1">
185
 
      <xsl:text>No</xsl:text>
186
 
    </xsl:when>
187
 
    <xsl:otherwise>
188
 
      <xsl:text>Yes</xsl:text>
189
 
    </xsl:otherwise>
190
 
  </xsl:choose>
191
 
<xsl:text>
192
 
Full-text search=Yes
193
 
</xsl:text>
194
 
<xsl:if test="$htmlhelp.generate.index">
195
 
<xsl:text>Index file=</xsl:text><xsl:value-of select="$htmlhelp.hhk"/><xsl:text>
196
 
</xsl:text></xsl:if>
197
 
<xsl:text>Language=</xsl:text>
198
 
<xsl:for-each select="*">   <!-- Change context from / to root element -->
199
 
  <xsl:call-template name="gentext.template">
200
 
    <xsl:with-param name="context" select="'htmlhelp'"/>
201
 
    <xsl:with-param name="name" select="'langcode'"/>
202
 
  </xsl:call-template>
203
 
</xsl:for-each>
204
 
<xsl:text>
205
 
Title=</xsl:text>
206
 
  <xsl:value-of select="$help.title"/>
207
 
<xsl:text>
208
 
Enhanced decompilation=</xsl:text>
209
 
  <xsl:choose>
210
 
    <xsl:when test="$htmlhelp.enhanced.decompilation != 0">
211
 
      <xsl:text>Yes</xsl:text>
212
 
    </xsl:when>
213
 
    <xsl:otherwise>
214
 
      <xsl:text>No</xsl:text>
215
 
    </xsl:otherwise>
216
 
  </xsl:choose>
217
 
 
218
 
<xsl:if test="$htmlhelp.hhp.window != ''">
219
 
  <xsl:text>
220
 
 
221
 
[WINDOWS]
222
 
</xsl:text>
223
 
<xsl:value-of select="$htmlhelp.hhp.window"/>
224
 
<xsl:text>="</xsl:text>
225
 
<xsl:value-of select="$help.title"/>
226
 
<xsl:text>","</xsl:text><xsl:value-of select="$htmlhelp.hhc"/>
227
 
<xsl:text>",</xsl:text>
228
 
<xsl:if test="$htmlhelp.generate.index">
229
 
  <xsl:text>"</xsl:text>
230
 
  <xsl:value-of select="$htmlhelp.hhk"/>
231
 
  <xsl:text>"</xsl:text>
232
 
</xsl:if>
233
 
<xsl:text>,"</xsl:text>
234
 
<xsl:value-of select="$default.topic"/>
235
 
<xsl:text>",</xsl:text>
236
 
<xsl:text>"</xsl:text>
237
 
<xsl:choose>
238
 
  <xsl:when test="$htmlhelp.button.home != 0">
239
 
    <xsl:value-of select="$htmlhelp.button.home.url"/>
240
 
  </xsl:when>
241
 
  <xsl:otherwise>
242
 
    <xsl:value-of select="$default.topic"/>
243
 
  </xsl:otherwise>
244
 
</xsl:choose>
245
 
<xsl:text>"</xsl:text>
246
 
<xsl:text>,</xsl:text>
247
 
<xsl:if test="$htmlhelp.button.jump1 != 0">
248
 
  <xsl:text>"</xsl:text>
249
 
  <xsl:value-of select="$htmlhelp.button.jump1.url"/>
250
 
  <xsl:text>"</xsl:text>
251
 
</xsl:if>
252
 
<xsl:text>,</xsl:text>
253
 
<xsl:if test="$htmlhelp.button.jump1 != 0">
254
 
  <xsl:text>"</xsl:text>
255
 
  <xsl:value-of select="$htmlhelp.button.jump1.title"/>
256
 
  <xsl:text>"</xsl:text>
257
 
</xsl:if>
258
 
<xsl:text>,</xsl:text>
259
 
<xsl:if test="$htmlhelp.button.jump2 != 0">
260
 
  <xsl:text>"</xsl:text>
261
 
  <xsl:value-of select="$htmlhelp.button.jump2.url"/>
262
 
  <xsl:text>"</xsl:text>
263
 
</xsl:if>
264
 
<xsl:text>,</xsl:text>
265
 
<xsl:if test="$htmlhelp.button.jump2 != 0">
266
 
  <xsl:text>"</xsl:text>
267
 
  <xsl:value-of select="$htmlhelp.button.jump2.title"/>
268
 
  <xsl:text>"</xsl:text>
269
 
</xsl:if>
270
 
<xsl:text>,</xsl:text>
271
 
<xsl:value-of select="$xnavigation"/>
272
 
<xsl:text>,</xsl:text><xsl:value-of select="$htmlhelp.hhc.width"/><xsl:text>,</xsl:text>
273
 
<xsl:value-of select="$xbuttons"/>
274
 
<xsl:text>,</xsl:text><xsl:value-of select="$htmlhelp.window.geometry"/><xsl:text>,,,,,,,0
275
 
</xsl:text>
276
 
</xsl:if>
277
 
 
278
 
<!-- 
279
 
  Needs more investigation to generate propetly all fields 
280
 
<xsl:text>search="</xsl:text>
281
 
<xsl:value-of select="normalize-space(//title[1])"/>
282
 
<xsl:text>","toc.hhc","index.hhk","</xsl:text>
283
 
<xsl:value-of select="$root.filename"/>
284
 
<xsl:text>.html","</xsl:text>
285
 
<xsl:value-of select="$root.filename"/>
286
 
<xsl:text>.html",,,,,</xsl:text>
287
 
<xsl:value-of select="$xnavigation"/>
288
 
<xsl:text>,</xsl:text>
289
 
<xsl:value-of select="$htmlhelp.hhc.width"/>
290
 
<xsl:text>,</xsl:text>
291
 
<xsl:value-of select="$xbuttons"/>
292
 
<xsl:text>,</xsl:text>
293
 
<xsl:value-of select="$htmlhelp.window.geometry"/>
294
 
<xsl:text>,,,,,2,,0
295
 
</xsl:text>
296
 
-->
297
 
 
298
 
<xsl:if test="$htmlhelp.hhp.windows">
299
 
  <xsl:value-of select="$htmlhelp.hhp.windows"/>
300
 
</xsl:if>
301
 
<xsl:text>
302
 
 
303
 
[FILES]
304
 
</xsl:text>
305
 
 
306
 
<xsl:choose>
307
 
  <xsl:when test="$rootid != ''">
308
 
    <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="enumerate-files"/>
309
 
  </xsl:when>
310
 
  <xsl:otherwise>
311
 
    <xsl:apply-templates select="$profiled-nodes" mode="enumerate-files"/>
312
 
  </xsl:otherwise>
313
 
</xsl:choose>
314
 
 
315
 
<xsl:if test="$htmlhelp.enumerate.images">
316
 
  <xsl:variable name="imagelist">
317
 
    <xsl:choose>
318
 
      <xsl:when test="$rootid != ''">
319
 
        <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="enumerate-images"/>
320
 
      </xsl:when>
321
 
      <xsl:otherwise>
322
 
        <xsl:apply-templates select="$profiled-nodes" mode="enumerate-images"/>
323
 
      </xsl:otherwise>
324
 
    </xsl:choose>
325
 
  </xsl:variable>
326
 
  <xsl:choose>
327
 
    <xsl:when test="$exsl.node.set.available != 0                     and function-available('set:distinct')">
328
 
      <xsl:for-each select="set:distinct(exsl:node-set($imagelist)/filename)">
329
 
        <xsl:value-of select="."/>
330
 
        <xsl:text>
331
 
</xsl:text>
332
 
      </xsl:for-each>
333
 
    </xsl:when>
334
 
    <xsl:otherwise>
335
 
      <xsl:value-of select="$imagelist"/>
336
 
    </xsl:otherwise>
337
 
  </xsl:choose>
338
 
</xsl:if>
339
 
 
340
 
<xsl:if test="($htmlhelp.force.map.and.alias != 0) or                ($rootid = '' and //processing-instruction('dbhh')) or               ($rootid != '' and $profiled-nodes//*[@id=$rootid]//processing-instruction('dbhh'))">
341
 
  <xsl:text>
342
 
[ALIAS]
343
 
#include </xsl:text><xsl:value-of select="$htmlhelp.alias.file"/><xsl:text>
344
 
 
345
 
[MAP]
346
 
#include </xsl:text><xsl:value-of select="$htmlhelp.map.file"/><xsl:text>
347
 
</xsl:text>
348
 
</xsl:if>
349
 
 
350
 
<xsl:value-of select="$htmlhelp.hhp.tail"/>
351
 
</xsl:template>
352
 
 
353
 
<!-- ==================================================================== -->
354
 
 
355
 
<xsl:template match="graphic|inlinegraphic[@format!='linespecific']" mode="enumerate-images">
356
 
  <xsl:call-template name="write.filename.enumerate-images">
357
 
    <xsl:with-param name="filename">
358
 
      <xsl:call-template name="mediaobject.filename.enumerate-images">
359
 
        <xsl:with-param name="object" select="."/>
360
 
      </xsl:call-template>  
361
 
    </xsl:with-param>
362
 
  </xsl:call-template>
363
 
</xsl:template>
364
 
 
365
 
<xsl:template match="mediaobject|inlinemediaobject" mode="enumerate-images">
366
 
  <xsl:call-template name="select.mediaobject.enumerate-images"/>
367
 
</xsl:template>
368
 
 
369
 
<xsl:template name="select.mediaobject.enumerate-images">
370
 
  <xsl:param name="olist" select="imageobject|imageobjectco                      |videoobject|audioobject|textobject"/>
371
 
  <xsl:param name="count">1</xsl:param>
372
 
 
373
 
  <xsl:if test="$count &lt;= count($olist)">
374
 
    <xsl:variable name="object" select="$olist[position()=$count]"/>
375
 
 
376
 
    <xsl:variable name="useobject">
377
 
      <xsl:choose>
378
 
        <!-- The phrase is never used -->
379
 
        <xsl:when test="name($object)='textobject' and $object/phrase">
380
 
          <xsl:text>0</xsl:text>
381
 
        </xsl:when>
382
 
        <!-- The first textobject is a reasonable fallback (but not for image in HH) -->
383
 
        <xsl:when test="name($object)='textobject'">
384
 
          <xsl:text>0</xsl:text>
385
 
        </xsl:when>
386
 
        <!-- If there's only one object, use it -->
387
 
        <xsl:when test="$count = 1 and count($olist) = 1">
388
 
          <xsl:text>1</xsl:text>
389
 
        </xsl:when>
390
 
        <!-- Otherwise, see if this one is a useable graphic -->
391
 
        <xsl:otherwise>
392
 
          <xsl:choose>
393
 
            <!-- peek inside imageobjectco to simplify the test -->
394
 
            <xsl:when test="local-name($object) = 'imageobjectco'">
395
 
              <xsl:call-template name="is.acceptable.mediaobject">
396
 
                <xsl:with-param name="object" select="$object/imageobject"/>
397
 
              </xsl:call-template>
398
 
            </xsl:when>
399
 
            <xsl:otherwise>
400
 
              <xsl:call-template name="is.acceptable.mediaobject">
401
 
                <xsl:with-param name="object" select="$object"/>
402
 
              </xsl:call-template>
403
 
            </xsl:otherwise>
404
 
          </xsl:choose>
405
 
        </xsl:otherwise>
406
 
      </xsl:choose>
407
 
    </xsl:variable>
408
 
 
409
 
    <xsl:choose>
410
 
      <xsl:when test="$useobject='1' and $object[not(*/@format='linespecific')]">
411
 
        <xsl:call-template name="write.filename.enumerate-images">
412
 
          <xsl:with-param name="filename">
413
 
            <xsl:call-template name="mediaobject.filename.enumerate-images">
414
 
              <xsl:with-param name="object" select="$object"/>
415
 
            </xsl:call-template>
416
 
          </xsl:with-param>
417
 
        </xsl:call-template>
418
 
      </xsl:when>
419
 
      <xsl:otherwise>
420
 
        <xsl:call-template name="select.mediaobject.enumerate-images">
421
 
          <xsl:with-param name="olist" select="$olist"/>
422
 
          <xsl:with-param name="count" select="$count + 1"/>
423
 
        </xsl:call-template>
424
 
      </xsl:otherwise>
425
 
    </xsl:choose>
426
 
  </xsl:if>
427
 
</xsl:template>
428
 
 
429
 
<xsl:template name="mediaobject.filename.enumerate-images">
430
 
  <xsl:param name="object"/>
431
 
 
432
 
  <xsl:variable name="urifilename">
433
 
    <xsl:call-template name="mediaobject.filename">
434
 
      <xsl:with-param name="object" select="$object"/>
435
 
    </xsl:call-template>
436
 
  </xsl:variable>
437
 
 
438
 
  <xsl:variable name="filename">
439
 
    <xsl:choose>
440
 
      <xsl:when test="starts-with($urifilename, 'file:/')">
441
 
        <xsl:value-of select="substring-after($urifilename, 'file:/')"/>
442
 
      </xsl:when>
443
 
      <xsl:otherwise>
444
 
        <xsl:value-of select="$urifilename"/>
445
 
      </xsl:otherwise>
446
 
    </xsl:choose>
447
 
  </xsl:variable>
448
 
 
449
 
  <xsl:value-of select="translate($filename, '/', '\')"/>
450
 
 
451
 
</xsl:template>
452
 
 
453
 
<xsl:template match="text()" mode="enumerate-images">
454
 
</xsl:template>
455
 
 
456
 
<xsl:template name="write.filename.enumerate-images">
457
 
  <xsl:param name="filename"/>
458
 
  <xsl:choose>
459
 
    <xsl:when test="function-available('exsl:node-set') and function-available('set:distinct')">
460
 
      <filename><xsl:value-of select="$filename"/></filename>
461
 
    </xsl:when>
462
 
    <xsl:otherwise>
463
 
      <xsl:value-of select="$filename"/>
464
 
      <xsl:text>
465
 
</xsl:text>
466
 
    </xsl:otherwise>
467
 
  </xsl:choose>
468
 
</xsl:template>
469
 
 
470
 
<!-- ==================================================================== -->
471
 
 
472
 
<!-- HHC and HHK files are processed by compiler line by line
473
 
     and therefore are very sensitive to whitespaces (linefeeds for sure).  -->
474
 
 
475
 
<xsl:template name="hhc">
476
 
  <xsl:call-template name="write.chunk">
477
 
    <xsl:with-param name="filename">
478
 
      <xsl:if test="$manifest.in.base.dir != 0">
479
 
        <xsl:value-of select="$base.dir"/>
480
 
      </xsl:if>
481
 
      <xsl:value-of select="$htmlhelp.hhc"/>
482
 
    </xsl:with-param>
483
 
    <xsl:with-param name="indent" select="'no'"/>
484
 
    <xsl:with-param name="content">
485
 
      <xsl:call-template name="hhc-main"/>
486
 
    </xsl:with-param>
487
 
    <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
488
 
    <xsl:with-param name="quiet" select="$chunk.quietly"/>
489
 
  </xsl:call-template>
490
 
</xsl:template>
491
 
 
492
 
<xsl:template name="hhc-main">
493
 
<HTML><xsl:text>
494
 
</xsl:text>
495
 
 <HEAD/><xsl:text>
496
 
</xsl:text>
497
 
 <BODY><xsl:text>
498
 
</xsl:text>
499
 
  <xsl:if test="$htmlhelp.hhc.folders.instead.books != 0">
500
 
   <OBJECT type="text/site properties"><xsl:text>
501
 
</xsl:text>
502
 
     <param name="ImageType" value="Folder"/><xsl:text>
503
 
</xsl:text>
504
 
   </OBJECT><xsl:text>
505
 
</xsl:text>
506
 
  </xsl:if>
507
 
  <xsl:variable name="content">
508
 
    <xsl:choose>
509
 
      <xsl:when test="$rootid != ''">
510
 
        <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hhc"/>
511
 
      </xsl:when>
512
 
      <xsl:otherwise>
513
 
        <xsl:apply-templates select="$profiled-nodes" mode="hhc"/>
514
 
      </xsl:otherwise>
515
 
    </xsl:choose>
516
 
  </xsl:variable>
517
 
 
518
 
  <xsl:choose>
519
 
    <xsl:when test="$htmlhelp.hhc.show.root != 0">
520
 
      <UL><xsl:text>
521
 
</xsl:text>
522
 
        <xsl:copy-of select="$content"/>
523
 
      </UL><xsl:text>
524
 
</xsl:text>
525
 
    </xsl:when>
526
 
    <xsl:otherwise>
527
 
    <xsl:copy-of select="$content"/>
528
 
    </xsl:otherwise>
529
 
  </xsl:choose>
530
 
 
531
 
 </BODY>
532
 
</HTML>
533
 
</xsl:template>
534
 
 
535
 
<xsl:template name="hhc.entry">
536
 
  <xsl:param name="title">
537
 
    <xsl:if test="$htmlhelp.autolabel=1">
538
 
      <xsl:variable name="label.markup">
539
 
        <xsl:apply-templates select="." mode="label.markup"/>
540
 
      </xsl:variable>
541
 
      <xsl:if test="normalize-space($label.markup)">
542
 
        <xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
543
 
      </xsl:if>
544
 
    </xsl:if>
545
 
    <xsl:apply-templates select="." mode="title.markup"/>
546
 
  </xsl:param>
547
 
 
548
 
  <LI><OBJECT type="text/sitemap"><xsl:text>
549
 
</xsl:text>
550
 
    <param name="Name">
551
 
      <xsl:attribute name="value">
552
 
          <xsl:value-of select="normalize-space($title)"/>
553
 
      </xsl:attribute>
554
 
    </param><xsl:text>
555
 
</xsl:text>
556
 
    <param name="Local">
557
 
      <xsl:attribute name="value">
558
 
          <xsl:call-template name="href.target.with.base.dir"/>
559
 
      </xsl:attribute>
560
 
    </param>
561
 
  </OBJECT></LI><xsl:text>
562
 
</xsl:text>
563
 
</xsl:template>
564
 
 
565
 
<xsl:template match="set" mode="hhc">
566
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0">
567
 
    <xsl:call-template name="hhc.entry"/>
568
 
  </xsl:if>
569
 
  <xsl:if test="book">
570
 
    <xsl:variable name="toc.params">
571
 
      <xsl:call-template name="find.path.params">
572
 
        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
573
 
      </xsl:call-template>
574
 
    </xsl:variable>
575
 
    <UL>
576
 
      <xsl:if test="contains($toc.params, 'toc') and $htmlhelp.hhc.show.root = 0">
577
 
      <LI><OBJECT type="text/sitemap"><xsl:text>
578
 
</xsl:text>
579
 
          <param name="Name">
580
 
            <xsl:attribute name="value">
581
 
            <xsl:call-template name="gentext">
582
 
              <xsl:with-param name="key" select="'TableofContents'"/>
583
 
            </xsl:call-template>
584
 
            </xsl:attribute>
585
 
          </param><xsl:text>
586
 
</xsl:text>
587
 
          <param name="Local">
588
 
            <xsl:attribute name="value">
589
 
              <xsl:choose>
590
 
                <xsl:when test="$chunk.tocs.and.lots != 0">
591
 
                  <xsl:apply-templates select="." mode="recursive-chunk-filename">
592
 
                    <xsl:with-param name="recursive" select="true()"/>
593
 
                  </xsl:apply-templates>
594
 
                  <xsl:text>-toc</xsl:text>
595
 
                  <xsl:value-of select="$html.ext"/>
596
 
                </xsl:when>
597
 
                <xsl:otherwise>
598
 
                  <xsl:call-template name="href.target.with.base.dir"/>
599
 
                </xsl:otherwise>
600
 
              </xsl:choose>
601
 
            </xsl:attribute>
602
 
          </param>
603
 
      </OBJECT></LI><xsl:text>
604
 
</xsl:text>
605
 
      </xsl:if>
606
 
      <xsl:apply-templates select="book" mode="hhc"/>
607
 
    </UL><xsl:text>
608
 
</xsl:text>
609
 
  </xsl:if>
610
 
</xsl:template>
611
 
 
612
 
<xsl:template match="book" mode="hhc">
613
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
614
 
    <xsl:call-template name="hhc.entry"/>
615
 
  </xsl:if>
616
 
  <xsl:if test="part|reference|preface|chapter|appendix|bibliography|article|colophon|glossary">
617
 
    <xsl:variable name="toc.params">
618
 
      <xsl:call-template name="find.path.params">
619
 
        <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
620
 
      </xsl:call-template>
621
 
    </xsl:variable>
622
 
    <UL>
623
 
      <xsl:if test="contains($toc.params, 'toc') and $htmlhelp.hhc.show.root = 0 and not(parent::*)">
624
 
        <LI><OBJECT type="text/sitemap"><xsl:text>
625
 
</xsl:text>
626
 
            <param name="Name">
627
 
              <xsl:attribute name="value">
628
 
                <xsl:call-template name="gentext">
629
 
                  <xsl:with-param name="key" select="'TableofContents'"/>
630
 
                </xsl:call-template>
631
 
              </xsl:attribute>
632
 
            </param><xsl:text>
633
 
</xsl:text>
634
 
            <param name="Local">
635
 
              <xsl:attribute name="value">
636
 
                <xsl:choose>
637
 
                  <xsl:when test="$chunk.tocs.and.lots != 0">
638
 
                    <xsl:apply-templates select="." mode="recursive-chunk-filename">
639
 
                      <xsl:with-param name="recursive" select="true()"/>
640
 
                    </xsl:apply-templates>
641
 
                    <xsl:text>-toc</xsl:text>
642
 
                    <xsl:value-of select="$html.ext"/>
643
 
                  </xsl:when>
644
 
                  <xsl:otherwise>
645
 
                    <xsl:call-template name="href.target.with.base.dir"/>
646
 
                  </xsl:otherwise>
647
 
                </xsl:choose>
648
 
              </xsl:attribute>
649
 
            </param>
650
 
        </OBJECT></LI><xsl:text>
651
 
</xsl:text>
652
 
      </xsl:if>
653
 
      <xsl:apply-templates select="part|reference|preface|chapter|bibliography|appendix|article|colophon|glossary" mode="hhc"/>
654
 
    </UL><xsl:text>
655
 
</xsl:text>
656
 
  </xsl:if>
657
 
</xsl:template>
658
 
 
659
 
<xsl:template match="part|reference|preface|chapter|bibliography|appendix|article|glossary" mode="hhc">
660
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
661
 
    <xsl:call-template name="hhc.entry"/>
662
 
  </xsl:if>
663
 
  <xsl:if test="article|reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv">
664
 
    <UL><xsl:text>
665
 
</xsl:text>
666
 
      <xsl:apply-templates select="article|reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv" mode="hhc"/>
667
 
    </UL>
668
 
  </xsl:if>
669
 
</xsl:template>
670
 
 
671
 
<xsl:template match="section" mode="hhc">
672
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
673
 
    <xsl:call-template name="hhc.entry"/>
674
 
  </xsl:if>
675
 
  <xsl:if test="section[count(ancestor::section) &lt; $htmlhelp.hhc.section.depth]|refentry">
676
 
    <UL><xsl:text>
677
 
</xsl:text>
678
 
      <xsl:apply-templates select="section|refentry" mode="hhc"/>
679
 
    </UL>
680
 
  </xsl:if>
681
 
</xsl:template>
682
 
 
683
 
<xsl:template match="sect1" mode="hhc">
684
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
685
 
    <xsl:call-template name="hhc.entry"/>
686
 
  </xsl:if>
687
 
  <xsl:if test="sect2[$htmlhelp.hhc.section.depth &gt; 1]|refentry">
688
 
    <UL><xsl:text>
689
 
</xsl:text>
690
 
      <xsl:apply-templates select="sect2|refentry" mode="hhc"/>
691
 
    </UL>
692
 
  </xsl:if>
693
 
</xsl:template>
694
 
 
695
 
<xsl:template match="sect2" mode="hhc">
696
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
697
 
    <xsl:call-template name="hhc.entry"/>
698
 
  </xsl:if>
699
 
  <xsl:if test="sect3[$htmlhelp.hhc.section.depth &gt; 2]|refentry">
700
 
    <UL><xsl:text>
701
 
</xsl:text>
702
 
      <xsl:apply-templates select="sect3|refentry" mode="hhc"/>
703
 
    </UL>
704
 
  </xsl:if>
705
 
</xsl:template>
706
 
 
707
 
<xsl:template match="sect3" mode="hhc">
708
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
709
 
    <xsl:call-template name="hhc.entry"/>
710
 
  </xsl:if>
711
 
  <xsl:if test="sect4[$htmlhelp.hhc.section.depth &gt; 3]|refentry">
712
 
    <UL><xsl:text>
713
 
</xsl:text>
714
 
      <xsl:apply-templates select="sect4|refentry" mode="hhc"/>
715
 
    </UL>
716
 
  </xsl:if>
717
 
</xsl:template>
718
 
 
719
 
<xsl:template match="sect4" mode="hhc">
720
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
721
 
    <xsl:call-template name="hhc.entry"/>
722
 
  </xsl:if>
723
 
  <xsl:if test="sect5[$htmlhelp.hhc.section.depth &gt; 4]|refentry">
724
 
    <UL><xsl:text>
725
 
</xsl:text>
726
 
      <xsl:apply-templates select="sect5|refentry" mode="hhc"/>
727
 
    </UL>
728
 
  </xsl:if>
729
 
</xsl:template>
730
 
 
731
 
<xsl:template match="sect5|refentry|colophon|bibliodiv" mode="hhc">
732
 
  <xsl:if test="$htmlhelp.hhc.show.root != 0 or parent::*">
733
 
    <xsl:call-template name="hhc.entry"/>
734
 
  </xsl:if>
735
 
  <xsl:if test="refentry">
736
 
    <UL><xsl:text>
737
 
</xsl:text>
738
 
      <xsl:apply-templates select="refentry" mode="hhc"/>
739
 
    </UL>
740
 
  </xsl:if>
741
 
</xsl:template>
742
 
 
743
 
<!-- ==================================================================== -->
744
 
 
745
 
<xsl:template match="indexterm">
746
 
  <xsl:choose>
747
 
    <xsl:when test="$htmlhelp.use.hhk = 0">
748
 
  
749
 
      <xsl:variable name="primary" select="normalize-space(primary)"/>
750
 
      <xsl:variable name="secondary" select="normalize-space(secondary)"/>
751
 
      <xsl:variable name="tertiary" select="normalize-space(tertiary)"/>
752
 
      
753
 
      <xsl:variable name="text">
754
 
        <xsl:value-of select="$primary"/>
755
 
        <xsl:if test="secondary">
756
 
          <xsl:text>, </xsl:text>
757
 
          <xsl:value-of select="$secondary"/>
758
 
        </xsl:if>
759
 
        <xsl:if test="tertiary">
760
 
          <xsl:text>, </xsl:text>
761
 
          <xsl:value-of select="$tertiary"/>
762
 
        </xsl:if>
763
 
      </xsl:variable>
764
 
      
765
 
      <xsl:if test="secondary">
766
 
        <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and not(secondary)])">
767
 
          <xsl:call-template name="write.indexterm">
768
 
            <xsl:with-param name="text" select="$primary"/>
769
 
          </xsl:call-template>
770
 
        </xsl:if>
771
 
      </xsl:if>
772
 
 
773
 
      <xsl:if test="tertiary">
774
 
        <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and                                        normalize-space(secondary)=$secondary and not(tertiary)])">
775
 
          <xsl:call-template name="write.indexterm">
776
 
            <xsl:with-param name="text" select="concat($primary, ', ', $secondary)"/>
777
 
          </xsl:call-template>
778
 
        </xsl:if>
779
 
      </xsl:if>
780
 
      
781
 
      <xsl:call-template name="write.indexterm">
782
 
        <xsl:with-param name="text" select="$text"/>
783
 
      </xsl:call-template>
784
 
      
785
 
    </xsl:when>
786
 
    <xsl:otherwise>
787
 
      <a>
788
 
        <xsl:attribute name="name">
789
 
          <xsl:call-template name="object.id"/>
790
 
        </xsl:attribute>
791
 
      </a>
792
 
    </xsl:otherwise>
793
 
    
794
 
  </xsl:choose>
795
 
</xsl:template>
796
 
 
797
 
<xsl:template name="write.indexterm">
798
 
  <xsl:param name="text"/>
799
 
  <OBJECT type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
800
 
    <param name="Keyword" value="{$text}"/>
801
 
  </OBJECT>
802
 
</xsl:template>
803
 
 
804
 
<!-- ==================================================================== -->
805
 
 
806
 
<xsl:template name="hhk">
807
 
  <xsl:call-template name="write.chunk">
808
 
    <xsl:with-param name="filename">
809
 
      <xsl:if test="$manifest.in.base.dir != 0">
810
 
        <xsl:value-of select="$base.dir"/>
811
 
      </xsl:if>
812
 
      <xsl:value-of select="$htmlhelp.hhk"/>
813
 
    </xsl:with-param>
814
 
    <xsl:with-param name="indent" select="'no'"/>
815
 
    <xsl:with-param name="content"><xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
816
 
&lt;HTML&gt;
817
 
&lt;HEAD&gt;
818
 
&lt;meta name="GENERATOR" content="Microsoft&amp;reg; HTML Help Workshop 4.1"&gt;
819
 
&lt;!-- Sitemap 1.0 --&gt;
820
 
&lt;/HEAD&gt;&lt;BODY&gt;
821
 
&lt;OBJECT type="text/site properties"&gt;
822
 
&lt;/OBJECT&gt;
823
 
&lt;UL&gt;
824
 
</xsl:text>
825
 
<xsl:if test="($htmlhelp.use.hhk != 0) and $htmlhelp.generate.index">
826
 
  <xsl:choose>
827
 
    <xsl:when test="$rootid != ''">
828
 
      <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hhk"/>
829
 
    </xsl:when>
830
 
    <xsl:otherwise>
831
 
      <xsl:apply-templates select="$profiled-nodes" mode="hhk"/>
832
 
    </xsl:otherwise>
833
 
  </xsl:choose>
834
 
</xsl:if>
835
 
<xsl:text disable-output-escaping="yes">&lt;/UL&gt;
836
 
&lt;/BODY&gt;&lt;/HTML&gt;
837
 
</xsl:text></xsl:with-param>
838
 
    <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
839
 
    <xsl:with-param name="quiet" select="$chunk.quietly"/>
840
 
  </xsl:call-template>
841
 
</xsl:template>
842
 
 
843
 
<xsl:template match="indexterm[@class='endofrange']" mode="hhk"/>
844
 
 
845
 
<xsl:template match="indexterm" mode="hhk">
846
 
  <xsl:variable name="primary" select="normalize-space(primary)"/>
847
 
  <xsl:variable name="secondary" select="normalize-space(secondary)"/>
848
 
  <xsl:variable name="tertiary" select="normalize-space(tertiary)"/>
849
 
 
850
 
  <xsl:call-template name="write.indexterm.hhk">
851
 
    <xsl:with-param name="text" select="$primary"/>
852
 
    <xsl:with-param name="seealso" select="seealso"/>
853
 
  </xsl:call-template>
854
 
 
855
 
  <xsl:if test="secondary">
856
 
    <xsl:if test="not(//indexterm[normalize-space(primary)=$primary and not(secondary)])">
857
 
      <xsl:call-template name="write.indexterm.hhk">
858
 
        <!-- We must create fake entry when there is secondary without primary --> 
859
 
        <xsl:with-param name="text" select="$primary"/>
860
 
        <xsl:with-param name="seealso" select="$primary"/>
861
 
      </xsl:call-template>
862
 
    </xsl:if>
863
 
    <UL>
864
 
    <xsl:call-template name="write.indexterm.hhk">
865
 
      <xsl:with-param name="text" select="$secondary"/>
866
 
      <xsl:with-param name="seealso" select="secondary/seealso"/>
867
 
    </xsl:call-template>
868
 
    <xsl:if test="tertiary">
869
 
      <UL><xsl:text>
870
 
</xsl:text>
871
 
      <xsl:call-template name="write.indexterm.hhk">
872
 
        <xsl:with-param name="text" select="$tertiary"/>
873
 
        <xsl:with-param name="seealso" select="tertiary/seealso"/>
874
 
      </xsl:call-template>
875
 
      </UL>
876
 
    </xsl:if>
877
 
    </UL>
878
 
  </xsl:if>
879
 
 
880
 
</xsl:template>
881
 
 
882
 
<xsl:template name="write.indexterm.hhk">
883
 
  <xsl:param name="text"/>
884
 
  <xsl:param name="seealso"/>
885
 
 
886
 
  <LI> <OBJECT type="text/sitemap"><xsl:text>
887
 
</xsl:text>
888
 
    <param name="Name">
889
 
      <xsl:attribute name="value">
890
 
        <xsl:value-of select="$text"/>
891
 
      </xsl:attribute>
892
 
    </param><xsl:text>
893
 
</xsl:text>
894
 
 
895
 
      <xsl:if test="not(seealso)">
896
 
        <xsl:variable name="href">
897
 
          <xsl:call-template name="href.target.with.base.dir"/>
898
 
        </xsl:variable>
899
 
        <xsl:variable name="title">
900
 
          <xsl:call-template name="nearest.title">
901
 
            <xsl:with-param name="object" select=".."/>
902
 
          </xsl:call-template>
903
 
        </xsl:variable>
904
 
 
905
 
        <param name="Name">
906
 
          <xsl:attribute name="value">
907
 
          <xsl:value-of select="$title"/>
908
 
          </xsl:attribute>
909
 
        </param><xsl:text>
910
 
</xsl:text>
911
 
        <param name="Local">
912
 
          <xsl:attribute name="value">
913
 
          <xsl:value-of select="$href"/>
914
 
          </xsl:attribute>
915
 
        </param><xsl:text>
916
 
</xsl:text>
917
 
      </xsl:if>
918
 
 
919
 
      <xsl:if test="seealso">
920
 
        <param name="See Also">
921
 
          <xsl:attribute name="value">
922
 
          <xsl:value-of select="$seealso"/>
923
 
          </xsl:attribute>
924
 
        </param><xsl:text>
925
 
</xsl:text>
926
 
      </xsl:if>
927
 
      </OBJECT></LI>
928
 
</xsl:template>
929
 
 
930
 
<xsl:template match="text()" mode="hhk"/>
931
 
 
932
 
<xsl:template name="nearest.title">
933
 
  <xsl:param name="object"/>
934
 
  <xsl:apply-templates select="$object/ancestor-or-self::*[title][1]" mode="title.markup"/>
935
 
</xsl:template>
936
 
 
937
 
<!-- ==================================================================== -->
938
 
 
939
 
<xsl:template name="hh-map">
940
 
  <xsl:call-template name="write.text.chunk">
941
 
    <xsl:with-param name="filename">
942
 
      <xsl:if test="$manifest.in.base.dir != 0">
943
 
        <xsl:value-of select="$base.dir"/>
944
 
      </xsl:if>
945
 
      <xsl:value-of select="$htmlhelp.map.file"/>
946
 
    </xsl:with-param>
947
 
    <xsl:with-param name="method" select="'text'"/>
948
 
    <xsl:with-param name="content">
949
 
     <xsl:choose>
950
 
       <xsl:when test="$rootid != ''">
951
 
         <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hh-map"/>
952
 
       </xsl:when>
953
 
       <xsl:otherwise>
954
 
         <xsl:apply-templates select="$profiled-nodes" mode="hh-map"/>
955
 
       </xsl:otherwise>
956
 
     </xsl:choose>
957
 
    </xsl:with-param>
958
 
    <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
959
 
    <xsl:with-param name="quiet" select="$chunk.quietly"/>
960
 
  </xsl:call-template>
961
 
</xsl:template>
962
 
 
963
 
<xsl:template match="processing-instruction('dbhh')" mode="hh-map">
964
 
  <xsl:variable name="topicname">
965
 
    <xsl:call-template name="pi-attribute">
966
 
      <xsl:with-param name="pis" select="."/>
967
 
      <xsl:with-param name="attribute" select="'topicname'"/>
968
 
    </xsl:call-template>
969
 
  </xsl:variable>
970
 
  <xsl:variable name="topicid">
971
 
    <xsl:call-template name="pi-attribute">
972
 
      <xsl:with-param name="pis" select="."/>
973
 
      <xsl:with-param name="attribute" select="'topicid'"/>
974
 
    </xsl:call-template>
975
 
  </xsl:variable>
976
 
  <xsl:text>#define </xsl:text>
977
 
  <xsl:value-of select="$topicname"/>
978
 
  <xsl:text>    </xsl:text>
979
 
  <xsl:value-of select="$topicid"/>
980
 
  <xsl:text>
981
 
</xsl:text>
982
 
</xsl:template>
983
 
 
984
 
<xsl:template match="text()" mode="hh-map"/>
985
 
 
986
 
<!-- ==================================================================== -->
987
 
 
988
 
<xsl:template name="hh-alias">
989
 
  <xsl:call-template name="write.text.chunk">
990
 
    <xsl:with-param name="filename">
991
 
      <xsl:if test="$manifest.in.base.dir != 0">
992
 
        <xsl:value-of select="$base.dir"/>
993
 
      </xsl:if>
994
 
      <xsl:value-of select="$htmlhelp.alias.file"/>
995
 
    </xsl:with-param>
996
 
    <xsl:with-param name="method" select="'text'"/>
997
 
    <xsl:with-param name="content">
998
 
     <xsl:choose>
999
 
       <xsl:when test="$rootid != ''">
1000
 
         <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid]" mode="hh-alias"/>
1001
 
       </xsl:when>
1002
 
       <xsl:otherwise>
1003
 
         <xsl:apply-templates select="$profiled-nodes" mode="hh-alias"/>
1004
 
       </xsl:otherwise>
1005
 
     </xsl:choose>
1006
 
    </xsl:with-param>
1007
 
    <xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
1008
 
    <xsl:with-param name="quiet" select="$chunk.quietly"/>
1009
 
  </xsl:call-template>
1010
 
</xsl:template>
1011
 
 
1012
 
<xsl:template match="processing-instruction('dbhh')" mode="hh-alias">
1013
 
  <xsl:variable name="topicname">
1014
 
    <xsl:call-template name="pi-attribute">
1015
 
      <xsl:with-param name="pis" select="."/>
1016
 
      <xsl:with-param name="attribute" select="'topicname'"/>
1017
 
    </xsl:call-template>
1018
 
  </xsl:variable>
1019
 
  <xsl:variable name="href">
1020
 
    <xsl:call-template name="href.target.with.base.dir">
1021
 
      <xsl:with-param name="object" select=".."/>
1022
 
    </xsl:call-template>
1023
 
  </xsl:variable>
1024
 
  <xsl:value-of select="$topicname"/>
1025
 
  <xsl:text>=</xsl:text>
1026
 
  <!-- Some versions of HH doesn't like fragment identifires, but some does. -->
1027
 
  <!-- <xsl:value-of select="substring-before(concat($href, '#'), '#')"/> -->
1028
 
  <xsl:value-of select="$href"/>
1029
 
  <xsl:text>
1030
 
</xsl:text>
1031
 
</xsl:template>
1032
 
 
1033
 
<xsl:template match="text()" mode="hh-alias"/>
1034
 
 
1035
 
<!-- ==================================================================== -->
1036
 
<!-- This code can be used to convert any number to hexadecimal format -->
1037
 
 
1038
 
  <h:hex>
1039
 
    <d>0</d>
1040
 
    <d>1</d>
1041
 
    <d>2</d>
1042
 
    <d>3</d>
1043
 
    <d>4</d>
1044
 
    <d>5</d>
1045
 
    <d>6</d>
1046
 
    <d>7</d>
1047
 
    <d>8</d>
1048
 
    <d>9</d>
1049
 
    <d>A</d>
1050
 
    <d>B</d>
1051
 
    <d>C</d>
1052
 
    <d>D</d>
1053
 
    <d>E</d>
1054
 
    <d>F</d>
1055
 
  </h:hex>
1056
 
 
1057
 
  <xsl:template name="toHex">
1058
 
    <xsl:param name="n" select="0"/>
1059
 
    <xsl:param name="digit" select="$n mod 16"/>
1060
 
    <xsl:param name="rest" select="floor($n div 16)"/>
1061
 
    <xsl:if test="$rest &gt; 0">
1062
 
      <xsl:call-template name="toHex">
1063
 
        <xsl:with-param name="n" select="$rest"/>
1064
 
      </xsl:call-template>
1065
 
    </xsl:if>
1066
 
    <xsl:value-of select="document('')//h:hex/d[$digit+1]"/>
1067
 
  </xsl:template>
1068
 
 
1069
 
<!-- ==================================================================== -->
1070
 
<!-- Modification to standard HTML stylesheets -->
1071
 
 
1072
 
<!-- There are links from ToC pane to bibliodivs, so there must be anchor -->
1073
 
<xsl:template match="bibliodiv/title">
1074
 
  <h3 class="{name(.)}">
1075
 
    <xsl:call-template name="anchor">
1076
 
      <xsl:with-param name="node" select=".."/>
1077
 
      <xsl:with-param name="conditional" select="0"/>
1078
 
    </xsl:call-template>
1079
 
    <xsl:apply-templates/>
1080
 
  </h3>
1081
 
</xsl:template>
1082
 
 
1083
 
</xsl:stylesheet>