source: BOOK/stylesheets/xhtml/lfs-navigational.xsl @ 55ab27c

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 55ab27c was 1972107, checked in by Jim Gifford <clfs@…>, 18 years ago

r639@server (orig r637): manuel | 2005-11-06 04:27:17 -0800
Fixed navigational links.

  • Property mode set to 100644
File size: 14.9 KB
Line 
1<?xml version='1.0' encoding='ISO-8859-1'?>
2
3<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4                xmlns="http://www.w3.org/1999/xhtml"
5                version="1.0">
6
7    <!-- Dropping the HEAD links -->
8  <xsl:template name="html.head">
9    <head>
10      <xsl:call-template name="system.head.content"/>
11      <xsl:call-template name="head.content"/>
12      <xsl:call-template name="user.head.content"/>
13    </head>
14  </xsl:template>
15
16    <!-- Header Navigation-->
17  <xsl:template name="header.navigation">
18    <xsl:param name="prev" select="/foo"/>
19    <xsl:param name="next" select="/foo"/>
20    <xsl:param name="nav.context"/>
21    <xsl:variable name="home" select="/*[1]"/>
22    <xsl:variable name="up" select="parent::*"/>
23    <xsl:variable name="row" select="count($prev) &gt; 0 or (count($up) &gt; 0
24            and generate-id($up) != generate-id($home)) or count($next) &gt; 0"/>
25    <!--Header titles-->
26    <xsl:if test="$row and $home != .">
27      <div class="navheader">
28        <xsl:if test="$home != .">
29          <div class="headertitles">
30            <h4>
31              <xsl:apply-templates select="$home" mode="object.title.markup"/>
32              <xsl:text> - </xsl:text>
33              <xsl:apply-templates select="$home" mode="object.subtitle.markup"/>
34            </h4>
35            <xsl:if test="$up != $home">
36              <h3>
37                <xsl:apply-templates select="$up" mode="object.title.markup"/>
38              </h3>
39            </xsl:if>
40          </div>
41        </xsl:if>
42        <ul class="headerlinks">
43          <!--Prev-->
44          <xsl:if test="count($prev)&gt;0 and $prev != $home">
45            <li class="prev">
46              <xsl:choose>
47                <xsl:when test="$prev[@id='ch-chroot-devices']
48                        or $prev[@id='ch-boot-whatnext']">
49                  <a accesskey="p">
50                    <xsl:attribute name="href">
51                      <xsl:call-template name="href.target">
52                        <xsl:with-param name="object"
53                                select="//sect1[@id='ch-temp-system-choose']"/>
54                      </xsl:call-template>
55                    </xsl:attribute>
56                    <xsl:attribute name="title">
57                      <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
58                    </xsl:attribute>
59                    <xsl:call-template name="navig.content">
60                      <xsl:with-param name="direction" select="'prev'"/>
61                    </xsl:call-template>
62                  </a>
63                  <p>
64                    <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
65                  </p>
66                </xsl:when>
67                <xsl:otherwise>
68                  <a accesskey="p">
69                    <xsl:attribute name="href">
70                      <xsl:call-template name="href.target">
71                        <xsl:with-param name="object" select="$prev"/>
72                      </xsl:call-template>
73                    </xsl:attribute>
74                    <xsl:attribute name="title">
75                      <xsl:value-of select="$prev/title"/>
76                    </xsl:attribute>
77                    <xsl:call-template name="navig.content">
78                      <xsl:with-param name="direction" select="'prev'"/>
79                    </xsl:call-template>
80                  </a>
81                  <p>
82                    <xsl:value-of select="$prev/title"/>
83                  </p>
84                </xsl:otherwise>
85              </xsl:choose>
86            </li>
87          </xsl:if>
88          <!--Next-->
89          <xsl:if test="count($next)&gt;0 and @id!='ch-temp-system-choose'">
90            <li class="next">
91              <xsl:choose>
92                <xsl:when test="$next[@id='chapter-chroot'] or
93                        $next[@id='chapter-boot']">
94                  <a accesskey="n">
95                    <xsl:attribute name="href">
96                      <xsl:call-template name="href.target">
97                        <xsl:with-param name="object"
98                                select="//part[@id='part5']"/>
99                      </xsl:call-template>
100                    </xsl:attribute>
101                    <xsl:attribute name="title">
102                      <xsl:value-of select="//part[@id='part5']/title"/>
103                    </xsl:attribute>
104                    <xsl:call-template name="navig.content">
105                      <xsl:with-param name="direction" select="'next'"/>
106                    </xsl:call-template>
107                  </a>
108                  <p>
109                    <xsl:value-of select="//part[@id='part5']/title"/>
110                  </p>
111                </xsl:when>
112                <xsl:otherwise>
113                  <a accesskey="n">
114                    <xsl:attribute name="href">
115                      <xsl:call-template name="href.target">
116                        <xsl:with-param name="object" select="$next"/>
117                      </xsl:call-template>
118                    </xsl:attribute>
119                    <xsl:attribute name="title">
120                      <xsl:choose>
121                        <xsl:when test="local-name($next)='index'">
122                          <xsl:call-template name="gentext">
123                            <xsl:with-param name="key">Index</xsl:with-param>
124                          </xsl:call-template>
125                        </xsl:when>
126                        <xsl:otherwise>
127                          <xsl:value-of select="$next/title"/>
128                        </xsl:otherwise>
129                      </xsl:choose>
130                    </xsl:attribute>
131                    <xsl:call-template name="navig.content">
132                      <xsl:with-param name="direction" select="'next'"/>
133                    </xsl:call-template>
134                  </a>
135                  <p>
136                    <xsl:choose>
137                      <xsl:when test="local-name($next)='index'">
138                        <xsl:call-template name="gentext">
139                          <xsl:with-param name="key">Index</xsl:with-param>
140                        </xsl:call-template>
141                      </xsl:when>
142                      <xsl:otherwise>
143                        <xsl:value-of select="$next/title"/>
144                      </xsl:otherwise>
145                    </xsl:choose>
146                  </p>
147                </xsl:otherwise>
148              </xsl:choose>
149            </li>
150          </xsl:if>
151          <!--Up-->
152          <li class="up">
153            <xsl:if test="count($up)&gt;0 and $up != $home">
154              <a accesskey="u">
155                <xsl:attribute name="href">
156                  <xsl:call-template name="href.target">
157                    <xsl:with-param name="object" select="$up"/>
158                  </xsl:call-template>
159                </xsl:attribute>
160                <xsl:attribute name="title">
161                  <xsl:apply-templates select="$up" mode="object.title.markup"/>
162                </xsl:attribute>
163                <xsl:call-template name="navig.content">
164                  <xsl:with-param name="direction" select="'up'"/>
165                </xsl:call-template>
166              </a>
167            </xsl:if>
168            <xsl:text>.</xsl:text>
169          </li>
170          <!--Home-->
171          <li class="home">
172            <a accesskey="h">
173              <xsl:attribute name="href">
174                <xsl:call-template name="href.target">
175                  <xsl:with-param name="object" select="$home"/>
176                </xsl:call-template>
177              </xsl:attribute>
178                <xsl:attribute name="title">
179                  <xsl:value-of select="$home/bookinfo/title"/>
180                  <xsl:text> - </xsl:text>
181                  <xsl:value-of select="$home/bookinfo/subtitle"/>
182                </xsl:attribute>
183                <xsl:call-template name="navig.content">
184                  <xsl:with-param name="direction" select="'home'"/>
185                </xsl:call-template>
186            </a>
187          </li>
188        </ul>
189      </div>
190    </xsl:if>
191  </xsl:template>
192
193    <!-- Footer Navigation-->
194  <xsl:template name="footer.navigation">
195    <xsl:param name="prev" select="/foo"/>
196    <xsl:param name="next" select="/foo"/>
197    <xsl:param name="nav.context"/>
198    <xsl:variable name="home" select="/*[1]"/>
199    <xsl:variable name="up" select="parent::*"/>
200    <xsl:variable name="row" select="count($prev) &gt; 0 or count($up) &gt; 0
201            or count($next) &gt; 0 or generate-id($home) != generate-id(.)"/>
202    <xsl:if test="$row">
203      <div class="navfooter">
204        <ul>
205          <!--Prev-->
206          <xsl:if test="count($prev)&gt;0 and $prev != $home">
207            <li class="prev">
208              <xsl:choose>
209                <xsl:when test="$prev[@id='ch-chroot-devices']
210                        or $prev[@id='ch-boot-whatnext']">
211                  <a accesskey="p">
212                    <xsl:attribute name="href">
213                      <xsl:call-template name="href.target">
214                        <xsl:with-param name="object"
215                                select="//sect1[@id='ch-temp-system-choose']"/>
216                      </xsl:call-template>
217                    </xsl:attribute>
218                    <xsl:attribute name="title">
219                      <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
220                    </xsl:attribute>
221                    <xsl:call-template name="navig.content">
222                      <xsl:with-param name="direction" select="'prev'"/>
223                    </xsl:call-template>
224                  </a>
225                  <p>
226                    <xsl:value-of select="//sect1[@id='ch-temp-system-choose']/title"/>
227                  </p>
228                </xsl:when>
229                <xsl:otherwise>
230                  <a accesskey="p">
231                    <xsl:attribute name="href">
232                      <xsl:call-template name="href.target">
233                        <xsl:with-param name="object" select="$prev"/>
234                      </xsl:call-template>
235                    </xsl:attribute>
236                    <xsl:attribute name="title">
237                      <xsl:value-of select="$prev/title"/>
238                    </xsl:attribute>
239                    <xsl:call-template name="navig.content">
240                      <xsl:with-param name="direction" select="'prev'"/>
241                    </xsl:call-template>
242                  </a>
243                  <p>
244                    <xsl:value-of select="$prev/title"/>
245                  </p>
246                </xsl:otherwise>
247              </xsl:choose>
248            </li>
249          </xsl:if>
250          <!--Next-->
251          <xsl:if test="(count($next)&gt;0 and @id!='ch-temp-system-choose')
252                  or generate-id($home) = generate-id(.)">
253            <li class="next">
254              <xsl:choose>
255                <xsl:when test="$next[@id='chapter-chroot'] or
256                        $next[@id='chapter-boot']">
257                  <a accesskey="n">
258                    <xsl:attribute name="href">
259                      <xsl:call-template name="href.target">
260                        <xsl:with-param name="object"
261                                select="//part[@id='part5']"/>
262                      </xsl:call-template>
263                    </xsl:attribute>
264                    <xsl:attribute name="title">
265                      <xsl:value-of select="//part[@id='part5']/title"/>
266                    </xsl:attribute>
267                    <xsl:call-template name="navig.content">
268                      <xsl:with-param name="direction" select="'next'"/>
269                    </xsl:call-template>
270                  </a>
271                  <p>
272                    <xsl:value-of select="//part[@id='part5']/title"/>
273                  </p>
274                </xsl:when>
275                <xsl:otherwise>
276                  <a accesskey="n">
277                    <xsl:attribute name="href">
278                      <xsl:call-template name="href.target">
279                        <xsl:with-param name="object" select="$next"/>
280                      </xsl:call-template>
281                    </xsl:attribute>
282                    <xsl:attribute name="title">
283                      <xsl:choose>
284                        <xsl:when test="local-name($next)='index'">
285                          <xsl:call-template name="gentext">
286                            <xsl:with-param name="key">Index</xsl:with-param>
287                          </xsl:call-template>
288                        </xsl:when>
289                        <xsl:otherwise>
290                          <xsl:value-of select="$next/title"/>
291                        </xsl:otherwise>
292                      </xsl:choose>
293                    </xsl:attribute>
294                    <xsl:call-template name="navig.content">
295                      <xsl:with-param name="direction" select="'next'"/>
296                    </xsl:call-template>
297                  </a>
298                  <p>
299                    <xsl:choose>
300                      <xsl:when test="local-name($next)='index'">
301                        <xsl:call-template name="gentext">
302                          <xsl:with-param name="key">Index</xsl:with-param>
303                        </xsl:call-template>
304                      </xsl:when>
305                      <xsl:otherwise>
306                        <xsl:value-of select="$next/title"/>
307                      </xsl:otherwise>
308                    </xsl:choose>
309                  </p>
310                </xsl:otherwise>
311              </xsl:choose>
312            </li>
313          </xsl:if>
314          <!--Up-->
315          <li class="up">
316            <xsl:if test="count($up)&gt;0 and $up != $home">
317              <a accesskey="u">
318                <xsl:attribute name="href">
319                  <xsl:call-template name="href.target">
320                    <xsl:with-param name="object" select="$up"/>
321                  </xsl:call-template>
322                </xsl:attribute>
323                <xsl:attribute name="title">
324                  <xsl:apply-templates select="$up" mode="object.title.markup"/>
325                </xsl:attribute>
326                <xsl:call-template name="navig.content">
327                  <xsl:with-param name="direction" select="'up'"/>
328                </xsl:call-template>
329              </a>
330            </xsl:if>
331            <xsl:text>.</xsl:text>
332          </li>
333          <!--Home-->
334          <li class="home">
335            <xsl:if  test="$home != .">
336              <a accesskey="h">
337                <xsl:attribute name="href">
338                  <xsl:call-template name="href.target">
339                    <xsl:with-param name="object" select="$home"/>
340                  </xsl:call-template>
341                </xsl:attribute>
342                <xsl:attribute name="title">
343                  <xsl:value-of select="$home/bookinfo/title"/>
344                  <xsl:text> - </xsl:text>
345                  <xsl:value-of select="$home/bookinfo/subtitle"/>
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>
352            <xsl:text>.</xsl:text>
353          </li>
354        </ul>
355      </div>
356    </xsl:if>
357  </xsl:template>
358
359</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.