Skip to content

Commit 6feb69f

Browse files
committed
doc: Port page header customizations to XSLT
1 parent c8ead2a commit 6feb69f

File tree

1 file changed

+138
-0
lines changed

1 file changed

+138
-0
lines changed

doc/src/sgml/stylesheet.xsl

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,4 +246,142 @@ set toc,title
246246
</xsl:if>
247247
</xsl:template>
248248

249+
250+
<!--
251+
Customization of header
252+
- add Up and Home links
253+
- add tool tips to links
254+
255+
(overrides html/chunk-common.xsl)
256+
-->
257+
<xsl:template name="header.navigation">
258+
<xsl:param name="prev" select="/foo"/>
259+
<xsl:param name="next" select="/foo"/>
260+
<xsl:param name="nav.context"/>
261+
262+
<xsl:variable name="home" select="/*[1]"/>
263+
<xsl:variable name="up" select="parent::*"/>
264+
265+
<xsl:variable name="row1" select="$navig.showtitles != 0"/>
266+
<xsl:variable name="row2" select="count($prev) &gt; 0
267+
or (count($up) &gt; 0
268+
and generate-id($up) != generate-id($home)
269+
and $navig.showtitles != 0)
270+
or count($next) &gt; 0"/>
271+
272+
<xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'">
273+
<div class="navheader">
274+
<xsl:if test="$row1 or $row2">
275+
<table width="100%" summary="Navigation header">
276+
<xsl:if test="$row1">
277+
<tr>
278+
<th colspan="5" align="center">
279+
<xsl:apply-templates select="." mode="object.title.markup"/>
280+
</th>
281+
</tr>
282+
</xsl:if>
283+
284+
<xsl:if test="$row2">
285+
<tr>
286+
<td width="10%" align="{$direction.align.start}">
287+
<xsl:if test="count($prev)>0">
288+
<a accesskey="p">
289+
<xsl:attribute name="href">
290+
<xsl:call-template name="href.target">
291+
<xsl:with-param name="object" select="$prev"/>
292+
</xsl:call-template>
293+
</xsl:attribute>
294+
<xsl:attribute name="title">
295+
<xsl:apply-templates select="$prev" mode="object.title.markup"/>
296+
</xsl:attribute>
297+
<xsl:call-template name="navig.content">
298+
<xsl:with-param name="direction" select="'prev'"/>
299+
</xsl:call-template>
300+
</a>
301+
</xsl:if>
302+
<xsl:text>&#160;</xsl:text>
303+
</td>
304+
<td width="10%" align="{$direction.align.start}">
305+
<xsl:choose>
306+
<xsl:when test="count($up)&gt;0
307+
and generate-id($up) != generate-id($home)">
308+
<a accesskey="u">
309+
<xsl:attribute name="href">
310+
<xsl:call-template name="href.target">
311+
<xsl:with-param name="object" select="$up"/>
312+
</xsl:call-template>
313+
</xsl:attribute>
314+
<xsl:attribute name="title">
315+
<xsl:apply-templates select="$up" mode="object.title.markup"/>
316+
</xsl:attribute>
317+
<xsl:call-template name="navig.content">
318+
<xsl:with-param name="direction" select="'up'"/>
319+
</xsl:call-template>
320+
</a>
321+
</xsl:when>
322+
<xsl:otherwise>&#160;</xsl:otherwise>
323+
</xsl:choose>
324+
</td>
325+
<th width="60%" align="center">
326+
<xsl:choose>
327+
<xsl:when test="count($up) > 0
328+
and generate-id($up) != generate-id($home)
329+
and $navig.showtitles != 0">
330+
<xsl:apply-templates select="$up" mode="object.title.markup"/>
331+
</xsl:when>
332+
<xsl:otherwise>&#160;</xsl:otherwise>
333+
</xsl:choose>
334+
</th>
335+
<td width="10%" align="{$direction.align.end}">
336+
<xsl:choose>
337+
<xsl:when test="$home != . or $nav.context = 'toc'">
338+
<a accesskey="h">
339+
<xsl:attribute name="href">
340+
<xsl:call-template name="href.target">
341+
<xsl:with-param name="object" select="$home"/>
342+
</xsl:call-template>
343+
</xsl:attribute>
344+
<xsl:attribute name="title">
345+
<xsl:apply-templates select="$home" mode="object.title.markup"/>
346+
</xsl:attribute>
347+
<xsl:call-template name="navig.content">
348+
<xsl:with-param name="direction" select="'home'"/>
349+
</xsl:call-template>
350+
</a>
351+
<xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
352+
<xsl:text>&#160;|&#160;</xsl:text>
353+
</xsl:if>
354+
</xsl:when>
355+
<xsl:otherwise>&#160;</xsl:otherwise>
356+
</xsl:choose>
357+
</td>
358+
<td width="10%" align="{$direction.align.end}">
359+
<xsl:text>&#160;</xsl:text>
360+
<xsl:if test="count($next)>0">
361+
<a accesskey="n">
362+
<xsl:attribute name="href">
363+
<xsl:call-template name="href.target">
364+
<xsl:with-param name="object" select="$next"/>
365+
</xsl:call-template>
366+
</xsl:attribute>
367+
<xsl:attribute name="title">
368+
<xsl:apply-templates select="$next" mode="object.title.markup"/>
369+
</xsl:attribute>
370+
<xsl:call-template name="navig.content">
371+
<xsl:with-param name="direction" select="'next'"/>
372+
</xsl:call-template>
373+
</a>
374+
</xsl:if>
375+
</td>
376+
</tr>
377+
</xsl:if>
378+
</table>
379+
</xsl:if>
380+
<xsl:if test="$header.rule != 0">
381+
<hr/>
382+
</xsl:if>
383+
</div>
384+
</xsl:if>
385+
</xsl:template>
386+
249387
</xsl:stylesheet>

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy