source: BOOK/stylesheets/clfs-profile.xsl@ 86518ac

Last change on this file since 86518ac was 86518ac, checked in by Joe Ciccone <jciccone@…>, 14 years ago

Use the proper role on the sect2 for package and installation.
Also properly generate the title of the installation sect2.

  • Property mode set to 100644
File size: 52.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:c="http://schema.cross-lfs.org/book"
4 version="1.0">
5
6 <!-- Declare our output type -->
7 <xsl:output method="xml"
8 indent="no"
9 omit-xml-declaration="no"
10 encoding="utf-8"
11 doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
12 doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" />
13
14 <xsl:param name="clfs.arch" select="''" />
15 <xsl:param name="clfs.multilib" select="''" />
16
17 <!-- Apply the other templates -->
18 <xsl:template match="@*|node()" priority="-1">
19 <xsl:copy>
20 <xsl:apply-templates select="@*|node()" />
21 </xsl:copy>
22 </xsl:template>
23
24 <!-- Build the package xml -->
25 <xsl:template match="//c:package">
26 <xsl:param name="id" select="@id" />
27 <xsl:param name="multibuild" select="@c:multibuild" />
28 <xsl:call-template name="package-iterator">
29 <xsl:with-param name="id" select="$id" />
30 <xsl:with-param name="multibuild" select="$multibuild" />
31 <xsl:with-param name="bits" select="$clfs.multilib" />
32 </xsl:call-template>
33 </xsl:template>
34
35 <xsl:template name="package-iterator">
36 <xsl:param name="id" /> <!-- Base ID of the resulting package -->
37 <xsl:param name="multibuild" /> <!-- Do we need to install for each bitsize? -->
38 <xsl:param name="bits" /> <!-- Which bit sizes to create a package for -->
39
40 <xsl:variable name="currentbits" select="substring-before(concat($bits, ','), ',')" />
41 <xsl:variable name="remainingbits" select="substring-after($bits, ',')" />
42
43 <xsl:if test="not(boolean($remainingbits) and $multibuild = 'false')">
44 <xsl:call-template name="package-stub">
45 <xsl:with-param name="id" select="$id" />
46 <xsl:with-param name="idsuffix">
47 <xsl:if test="$remainingbits">
48 <xsl:value-of select="concat('-', $currentbits)" />
49 </xsl:if>
50 </xsl:with-param>
51 <xsl:with-param name="bits" select="substring-before(concat($bits, ','), ',')" />
52 <xsl:with-param name="multibuild" select="$multibuild" />
53 </xsl:call-template>
54 </xsl:if>
55
56 <xsl:if test="$remainingbits">
57 <xsl:text>
58
59 </xsl:text>
60 <xsl:call-template name="package-iterator">
61 <xsl:with-param name="id" select="$id" />
62 <xsl:with-param name="multibuild" select="$multibuild" />
63 <xsl:with-param name="bits" select="$remainingbits" />
64 </xsl:call-template>
65 </xsl:if>
66
67 </xsl:template>
68
69 <xsl:template name="package-stub">
70 <xsl:param name="id" /> <!-- Base ID of the resulting package -->
71 <xsl:param name="idsuffix" /> <!-- Suffix to attach to the end of the ID for this perticular instance -->
72 <xsl:param name="bits" /> <!-- Which bit sizes to create a package for -->
73 <xsl:param name="multibuild" /> <!-- Are there multiple instances of this package? -->
74
75 <!-- Translate the package into a sect1 -->
76 <xsl:element name="sect1">
77
78 <!-- Set the ID of the target Sect1 -->
79 <xsl:attribute name="id">
80 <xsl:value-of select="concat($id, $idsuffix)" />
81 </xsl:attribute>
82
83 <!-- New Line -->
84 <xsl:text>
85</xsl:text>
86
87 <!-- Set the Target Filename -->
88 <xsl:processing-instruction name="dbhtml">
89 <xsl:text>filename=&quot;</xsl:text>
90 <xsl:value-of select="concat($id, $idsuffix)" />
91 <xsl:text>.html&quot;</xsl:text>
92 </xsl:processing-instruction>
93
94 <!-- New Line x2 -->
95 <xsl:text>
96
97</xsl:text>
98
99 <!-- Determine if the title is going to have a suffix or not -->
100 <xsl:variable name="titlesuffix">
101 <xsl:if test="contains($clfs.multilib, ',') and ($multibuild = 'true')">
102 <xsl:choose>
103 <xsl:when test="$bits = '32'">
104 <xsl:text>32Bit</xsl:text>
105 </xsl:when>
106 <xsl:when test="$bits = 'n32'">
107 <xsl:text>N32</xsl:text>
108 </xsl:when>
109 <xsl:when test="$bits = '64'">
110 <xsl:text>64Bit</xsl:text>
111 </xsl:when>
112 </xsl:choose>
113 </xsl:if>
114 </xsl:variable>
115
116 <!-- title: Write out a new title tag -->
117 <xsl:element name="title">
118 <xsl:value-of select="c:title" />
119 <xsl:text>-</xsl:text>
120 <xsl:value-of select="c:version" />
121 <xsl:if test="string-length($titlesuffix) > 0">
122 <xsl:text> - </xsl:text>
123 <xsl:value-of select="$titlesuffix"/>
124 </xsl:if>
125 </xsl:element><!-- title -->
126
127 <!-- New Line x2 -->
128 <xsl:text>
129
130</xsl:text>
131
132 <!-- indexterm: Add the Intex Entry for this package -->
133 <xsl:element name="indexterm">
134 <xsl:attribute name="zone">
135 <xsl:value-of select="concat($id, $idsuffix)" />
136 </xsl:attribute>
137 <xsl:text>
138 </xsl:text>
139 <xsl:element name="primary">
140 <xsl:attribute name="sortas">
141 <xsl:text>a-</xsl:text>
142 <xsl:value-of select="c:title" />
143 </xsl:attribute>
144 <xsl:value-of select="c:title" />
145 </xsl:element>
146 <xsl:if test="string-length($titlesuffix) > 0">
147 <xsl:text>
148 </xsl:text>
149 <xsl:element name="secondary">
150 <xsl:value-of select="$titlesuffix" />
151 </xsl:element>
152 </xsl:if>
153 <xsl:text>
154</xsl:text>
155 </xsl:element><!-- indexterm -->
156
157 <!-- New Line x2 -->
158 <xsl:text>
159
160</xsl:text>
161
162 <!-- sect2[role="installation"]: Add the sect2 for the package header -->
163 <xsl:element name="sect2">
164 <xsl:attribute name="role">
165 <xsl:text>package</xsl:text>
166 </xsl:attribute>
167 <xsl:text>
168 </xsl:text>
169 <xsl:element name="title" />
170 <xsl:text>
171
172 </xsl:text>
173 <xsl:element name="para">
174 <xsl:choose>
175 <xsl:when test="$bits = '32'">
176 <xsl:apply-templates select="c:description/@*|c:description/node()" mode="filter-bits-32" />
177 </xsl:when>
178 <xsl:when test="$bits = 'n32'">
179 <xsl:apply-templates select="c:description/@*|c:description/node()" mode="filter-bits-n32" />
180 </xsl:when>
181 <xsl:when test="$bits = '64'">
182 <xsl:apply-templates select="c:description/@*|c:description/node()" mode="filter-bits-64" />
183 </xsl:when>
184 </xsl:choose>
185 </xsl:element>
186 <xsl:text>
187
188</xsl:text>
189 </xsl:element>
190
191 <!-- New Line x2 -->
192 <xsl:text>
193
194</xsl:text>
195
196 <!-- c:install -> sect2: For each c:install build a sect2 section -->
197 <xsl:for-each select="c:install">
198 <xsl:element name="sect2">
199 <xsl:text>
200 </xsl:text>
201 <xsl:element name="title">
202 <xsl:attribute name="role">
203 <xsl:text>installation</xsl:text>
204 </xsl:attribute>
205 <xsl:text>Installation of </xsl:text>
206 <xsl:value-of select="../c:title" />
207 </xsl:element>
208 <xsl:text>
209
210</xsl:text>
211 <xsl:choose>
212 <xsl:when test="$bits = '32'">
213 <xsl:apply-templates select="@*|node()" mode="filter-bits-32" />
214 </xsl:when>
215 <xsl:when test="$bits = 'n32'">
216 <xsl:apply-templates select="@*|node()" mode="filter-bits-n32" />
217 </xsl:when>
218 <xsl:when test="$bits = '64'">
219 <xsl:apply-templates select="@*|node()" mode="filter-bits-64" />
220 </xsl:when>
221 </xsl:choose>
222 <xsl:text>
223</xsl:text>
224 </xsl:element>
225 </xsl:for-each><!-- c:install -> sect2 -->
226
227 <!-- c:contents -> sect2: Build or reference the contents sect2 -->
228 <xsl:for-each select="c:contents">
229
230 <xsl:text>&#xa;&#xa;</xsl:text>
231
232 <xsl:element name="sect2">
233 <xsl:attribute name="role">
234 <xsl:text>content</xsl:text>
235 </xsl:attribute>
236 <xsl:choose>
237 <xsl:when test="string-length(@c:ref) > 0">
238 <!-- Insert an xref to the actual contents list -->
239 <xsl:text>&#xa; </xsl:text>
240 <xsl:element name="title" />
241 <xsl:text>&#xa;&#xa; </xsl:text>
242 <xsl:element name="para">
243 <xsl:text>Details on this package are located in </xsl:text>
244 <xsl:element name="xref">
245 <xsl:attribute name="linkend">
246 <xsl:value-of select="@c:ref" />
247 <xsl:text>-contents</xsl:text>
248 </xsl:attribute>
249 <xsl:attribute name="role">
250 <xsl:text>.</xsl:text>
251 </xsl:attribute>
252 </xsl:element>
253 </xsl:element>
254 </xsl:when>
255 <xsl:otherwise>
256 <!-- This page gets the contents list -->
257 <xsl:attribute name="id">
258 <xsl:value-of select="$id" />
259 <xsl:text>-contents</xsl:text>
260 </xsl:attribute>
261 <xsl:text>&#xa; </xsl:text>
262 <xsl:element name="title">
263 <xsl:text>Contents of </xsl:text>
264 <xsl:value-of select="../c:title" />
265 </xsl:element>
266 <xsl:text>&#xa;&#xa;</xsl:text>
267 <!-- Begin the Summary List -->
268 <xsl:element name="segmentedlist">
269 <xsl:if test="count(c:program) &gt; 0">
270 <xsl:text>&#xa; </xsl:text>
271 <xsl:element name="segtitle">
272 <xsl:text>Installed Programs</xsl:text>
273 </xsl:element>
274 </xsl:if>
275 <xsl:if test="count(c:library) &gt; 0">
276 <xsl:text>&#xa; </xsl:text>
277 <xsl:element name="segtitle">
278 <xsl:text>Installed Libraries</xsl:text>
279 </xsl:element>
280 </xsl:if>
281 <xsl:if test="count(c:directory) &gt; 0">
282 <xsl:text>&#xa; </xsl:text>
283 <xsl:element name="segtitle">
284 <xsl:text>Installed Directories</xsl:text>
285 </xsl:element>
286 </xsl:if>
287 <xsl:text>&#xa;&#xa; </xsl:text>
288 <xsl:element name="seglistitem">
289
290 <!-- Begin the seg list for Programs -->
291 <xsl:if test="count(c:program) &gt; 0">
292 <xsl:text>&#xa; </xsl:text>
293 <xsl:element name="seg">
294 <xsl:for-each select="c:program">
295 <xsl:value-of select="c:name" />
296 <xsl:if test="count(../c:program) &gt; 1">
297 <xsl:choose>
298 <xsl:when test="position() &lt; (last() - 1)">
299 <xsl:text>, </xsl:text>
300 </xsl:when>
301 <xsl:when test="position() = last() - 1">
302 <xsl:text> and </xsl:text>
303 </xsl:when>
304 </xsl:choose>
305 </xsl:if>
306 </xsl:for-each>
307 </xsl:element>
308 </xsl:if>
309 <!-- End the seg list for Programs -->
310
311 <!-- Begin the seg list for Libraries -->
312 <xsl:if test="count(c:library) &gt; 0">
313 <xsl:text>&#xa; </xsl:text>
314 <xsl:element name="seg">
315 <xsl:for-each select="c:library">
316 <xsl:value-of select="c:name" />
317 <xsl:if test="count(../c:library) &gt; 1">
318 <xsl:choose>
319 <xsl:when test="position() &lt; (last() - 1)">
320 <xsl:text>, </xsl:text>
321 </xsl:when>
322 <xsl:when test="position() = last() - 1">
323 <xsl:text> and </xsl:text>
324 </xsl:when>
325 </xsl:choose>
326 </xsl:if>
327 </xsl:for-each>
328 </xsl:element>
329 </xsl:if>
330 <!-- End the seg list for Libraries -->
331
332 <!-- Begin the seg list for Directories -->
333 <xsl:if test="count(c:directory) &gt; 0">
334 <xsl:text>&#xa; </xsl:text>
335 <xsl:element name="seg">
336 <xsl:for-each select="c:directory">
337 <xsl:value-of select="c:name" />
338 <xsl:if test="count(../c:directory) &gt; 1">
339 <xsl:if test="position() &lt; (last() - 1)">
340 <xsl:text>, </xsl:text>
341 </xsl:if>
342 <xsl:if test="position() = last() - 1">
343 <xsl:text> and </xsl:text>
344 </xsl:if>
345 </xsl:if>
346 </xsl:for-each>
347 </xsl:element>
348 </xsl:if>
349 <!-- End the seg list for Directories -->
350
351 <xsl:text>&#xa; </xsl:text>
352 </xsl:element>
353 <xsl:text>&#xa;</xsl:text>
354 </xsl:element>
355 <xsl:text>&#xa;&#xa;</xsl:text>
356 <!-- End of the Summary List -->
357
358 <!-- Begin Short Desc List -->
359 <xsl:element name="variablelist">
360
361 <!-- Render As -->
362 <xsl:text>&#xa; </xsl:text>
363 <xsl:element name="bridgehead">
364 <xsl:attribute name="renderas">
365 <xsl:text>sect3</xsl:text>
366 </xsl:attribute>
367 <xsl:text>Short Descriptions</xsl:text>
368 </xsl:element>
369
370 <!-- Processing Instructions -->
371 <xsl:text>&#xa; </xsl:text>
372 <xsl:processing-instruction name="dbfo">
373 <xsl:text>list-presentation="list"</xsl:text>
374 </xsl:processing-instruction>
375 <xsl:text>&#xa; </xsl:text>
376 <xsl:processing-instruction name="dbhtml">
377 <xsl:text>list-presentation="table"</xsl:text>
378 </xsl:processing-instruction>
379
380 <!-- Begin the Short Desc For-Each for Programs -->
381 <xsl:for-each select="c:program">
382 <xsl:text>&#xa;&#xa; </xsl:text>
383 <xsl:element name="varlistentry">
384 <xsl:attribute name="id">
385 <xsl:value-of select="c:name" />
386 </xsl:attribute>
387
388 <!-- Term -->
389 <xsl:text>&#xa; </xsl:text>
390 <xsl:element name="term">
391 <xsl:element name="command">
392 <xsl:value-of select="c:name" />
393 </xsl:element>
394 </xsl:element>
395 <!-- End Term -->
396
397 <!-- List Item -->
398 <xsl:text>&#xa; </xsl:text>
399 <xsl:element name="listitem">
400
401 <xsl:text>&#xa; </xsl:text>
402 <xsl:element name="para">
403 <xsl:apply-templates select="c:description/@*|c:description/node()" />
404 </xsl:element>
405
406 <xsl:text>&#xa; </xsl:text>
407 <xsl:element name="indexterm">
408 <xsl:attribute name="zone">
409 <xsl:value-of select="$id" />
410 <xsl:text> </xsl:text>
411 <xsl:value-of select="c:name" />
412 </xsl:attribute>
413 <xsl:text>&#xa; </xsl:text>
414 <xsl:element name="primary">
415 <xsl:attribute name="sortas">
416 <xsl:text>b-</xsl:text>
417 <xsl:value-of select="c:name" />
418 </xsl:attribute>
419 <xsl:value-of select="c:name" />
420 </xsl:element>
421 <xsl:text>&#xa; </xsl:text>
422 </xsl:element>
423
424 <xsl:text>&#xa; </xsl:text>
425 </xsl:element><!-- listitem -->
426 <!-- End List Item -->
427
428 <xsl:text>&#xa; </xsl:text>
429 </xsl:element><!-- varlistentry -->
430 </xsl:for-each>
431 <!-- End the Short Desc For-Each for Programs -->
432
433 <!-- Begin the Short Desc For-Each for Libraries -->
434 <xsl:for-each select="c:library">
435 <xsl:text>&#xa;&#xa; </xsl:text>
436 <xsl:element name="varlistentry">
437 <xsl:attribute name="id">
438 <xsl:value-of select="c:name" />
439 </xsl:attribute>
440
441 <!-- Term -->
442 <xsl:text>&#xa; </xsl:text>
443 <xsl:element name="term">
444 <xsl:element name="filename">
445 <xsl:attribute name="class">
446 <xsl:text>libraryfile</xsl:text>
447 </xsl:attribute>
448 <xsl:value-of select="c:name" />
449 </xsl:element>
450 </xsl:element>
451 <!-- End Term -->
452
453 <!-- List Item -->
454 <xsl:text>&#xa; </xsl:text>
455 <xsl:element name="listitem">
456
457 <xsl:text>&#xa; </xsl:text>
458 <xsl:element name="para">
459 <xsl:apply-templates select="c:description/@*|c:description/node()" />
460 </xsl:element>
461
462 <xsl:text>&#xa; </xsl:text>
463 <xsl:element name="indexterm">
464 <xsl:attribute name="zone">
465 <xsl:value-of select="$id" />
466 <xsl:text> </xsl:text>
467 <xsl:value-of select="c:name" />
468 </xsl:attribute>
469 <xsl:text>&#xa; </xsl:text>
470 <xsl:element name="primary">
471 <xsl:attribute name="sortas">
472 <xsl:text>c-</xsl:text>
473 <xsl:value-of select="c:name" />
474 </xsl:attribute>
475 <xsl:value-of select="c:name" />
476 </xsl:element>
477 <xsl:text>&#xa; </xsl:text>
478 </xsl:element>
479
480 <xsl:text>&#xa; </xsl:text>
481 </xsl:element><!-- listitem -->
482 <!-- End List Item -->
483
484 <xsl:text>&#xa; </xsl:text>
485 </xsl:element><!-- varlistentry -->
486 </xsl:for-each>
487 <!-- End the Short Desc For-Each for Libraries -->
488
489 <!-- Begin the Short Desc For-Each for Directories -->
490 <xsl:for-each select="c:directory">
491 <xsl:text>&#xa;&#xa; </xsl:text>
492 <xsl:element name="varlistentry">
493 <xsl:attribute name="id">
494 <xsl:text>dir</xsl:text>
495 <xsl:value-of select="translate(c:name, '/', '-')" />
496 </xsl:attribute>
497
498 <!-- Term -->
499 <xsl:text>&#xa; </xsl:text>
500 <xsl:element name="term">
501 <xsl:element name="filename">
502 <xsl:attribute name="class">
503 <xsl:text>directory</xsl:text>
504 </xsl:attribute>
505 <xsl:value-of select="c:name" />
506 </xsl:element>
507 </xsl:element>
508 <!-- End Term -->
509
510 <!-- List Item -->
511 <xsl:text>&#xa; </xsl:text>
512 <xsl:element name="listitem">
513
514 <xsl:text>&#xa; </xsl:text>
515 <xsl:element name="para">
516 <xsl:apply-templates select="c:description/@*|c:description/node()" />
517 </xsl:element>
518
519 <xsl:text>&#xa; </xsl:text>
520 <xsl:element name="indexterm">
521 <xsl:attribute name="zone">
522 <xsl:value-of select="$id" />
523 <xsl:text> dir</xsl:text>
524 <xsl:value-of select="translate(c:name, '/', '-')" />
525 </xsl:attribute>
526 <xsl:text>&#xa; </xsl:text>
527 <xsl:element name="primary">
528 <xsl:attribute name="sortas">
529 <xsl:text>e-</xsl:text>
530 <xsl:value-of select="c:name" />
531 </xsl:attribute>
532 <xsl:value-of select="c:name" />
533 </xsl:element>
534 <xsl:text>&#xa; </xsl:text>
535 </xsl:element>
536
537 <xsl:text>&#xa; </xsl:text>
538 </xsl:element><!-- listitem -->
539 <!-- End List Item -->
540
541 <xsl:text>&#xa; </xsl:text>
542 </xsl:element><!-- varlistentry -->
543 </xsl:for-each>
544 <!-- End the Short Desc For-Each for Directories -->
545
546 <xsl:text>&#xa;&#xa;</xsl:text>
547 </xsl:element><!-- variablelist -->
548 <!-- End Short Desc List -->
549 </xsl:otherwise>
550 </xsl:choose>
551
552 <xsl:text>&#xa;&#xa;</xsl:text>
553 </xsl:element><!-- sect2 -->
554 </xsl:for-each><!-- c:contents -> sect2 -->
555
556 <xsl:text>&#xa;&#xa;</xsl:text>
557
558 </xsl:element><!-- Sect1 -->
559
560 </xsl:template><!-- package-stub -->
561
562 <!-- Apply the profile to the 32bit package -->
563
564 <xsl:template match="c:para" mode="filter-bits-32">
565 <xsl:variable name="ismultilib">
566 <xsl:choose>
567 <xsl:when test="contains($clfs.multilib, ',')">
568 <xsl:text>true</xsl:text>
569 </xsl:when>
570 <xsl:otherwise>
571 <xsl:text>false</xsl:text>
572 </xsl:otherwise>
573 </xsl:choose>
574 </xsl:variable>
575 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
576 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
577 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
578 <xsl:element name="para">
579 <xsl:apply-templates select="node()" mode="filter-bits-32" />
580 </xsl:element>
581 </xsl:if>
582 </xsl:if>
583 </xsl:if>
584 </xsl:template>
585
586 <xsl:template match="c:note" mode="filter-bits-32">
587 <xsl:variable name="ismultilib">
588 <xsl:choose>
589 <xsl:when test="contains($clfs.multilib, ',')">
590 <xsl:text>true</xsl:text>
591 </xsl:when>
592 <xsl:otherwise>
593 <xsl:text>false</xsl:text>
594 </xsl:otherwise>
595 </xsl:choose>
596 </xsl:variable>
597 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
598 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
599 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
600 <xsl:element name="note">
601 <xsl:apply-templates select="node()" mode="filter-bits-32" />
602 </xsl:element>
603 </xsl:if>
604 </xsl:if>
605 </xsl:if>
606 </xsl:template>
607
608 <xsl:template match="c:warning" mode="filter-bits-32">
609 <xsl:variable name="ismultilib">
610 <xsl:choose>
611 <xsl:when test="contains($clfs.multilib, ',')">
612 <xsl:text>true</xsl:text>
613 </xsl:when>
614 <xsl:otherwise>
615 <xsl:text>false</xsl:text>
616 </xsl:otherwise>
617 </xsl:choose>
618 </xsl:variable>
619 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
620 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
621 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
622 <xsl:element name="warning">
623 <xsl:apply-templates select="node()" mode="filter-bits-32" />
624 </xsl:element>
625 </xsl:if>
626 </xsl:if>
627 </xsl:if>
628 </xsl:template>
629
630 <xsl:template match="c:install/c:command" mode="filter-bits-32">
631 <xsl:variable name="ismultilib">
632 <xsl:choose>
633 <xsl:when test="contains($clfs.multilib, ',')">
634 <xsl:text>true</xsl:text>
635 </xsl:when>
636 <xsl:otherwise>
637 <xsl:text>false</xsl:text>
638 </xsl:otherwise>
639 </xsl:choose>
640 </xsl:variable>
641 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
642 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
643 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
644 <xsl:element name="screen">
645 <xsl:if test="@c:nodump = 'true'">
646 <xsl:attribute name="role">
647 <xsl:text>nodump</xsl:text>
648 </xsl:attribute>
649 </xsl:if>
650 <xsl:element name="userinput">
651 <xsl:apply-templates select="node()" mode="filter-bits-32" />
652 </xsl:element>
653 </xsl:element>
654 </xsl:if>
655 </xsl:if>
656 </xsl:if>
657 </xsl:template>
658
659 <xsl:template match="c:literal" mode="filter-bits-32">
660 <xsl:variable name="ismultilib">
661 <xsl:choose>
662 <xsl:when test="contains($clfs.multilib, ',')">
663 <xsl:text>true</xsl:text>
664 </xsl:when>
665 <xsl:otherwise>
666 <xsl:text>false</xsl:text>
667 </xsl:otherwise>
668 </xsl:choose>
669 </xsl:variable>
670 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
671 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
672 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
673 <xsl:element name="literal">
674 <xsl:apply-templates select="node()" mode="filter-bits-32" />
675 </xsl:element>
676 </xsl:if>
677 </xsl:if>
678 </xsl:if>
679 </xsl:template>
680
681 <xsl:template match="c:replaceable" mode="filter-bits-32">
682 <xsl:variable name="ismultilib">
683 <xsl:choose>
684 <xsl:when test="contains($clfs.multilib, ',')">
685 <xsl:text>true</xsl:text>
686 </xsl:when>
687 <xsl:otherwise>
688 <xsl:text>false</xsl:text>
689 </xsl:otherwise>
690 </xsl:choose>
691 </xsl:variable>
692 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
693 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
694 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
695 <xsl:element name="replaceable">
696 <xsl:apply-templates select="node()" mode="filter-bits-32" />
697 </xsl:element>
698 </xsl:if>
699 </xsl:if>
700 </xsl:if>
701 </xsl:template>
702
703 <xsl:template match="c:application" mode="filter-bits-32">
704 <xsl:variable name="ismultilib">
705 <xsl:choose>
706 <xsl:when test="contains($clfs.multilib, ',')">
707 <xsl:text>true</xsl:text>
708 </xsl:when>
709 <xsl:otherwise>
710 <xsl:text>false</xsl:text>
711 </xsl:otherwise>
712 </xsl:choose>
713 </xsl:variable>
714 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
715 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
716 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
717 <xsl:element name="application">
718 <xsl:apply-templates select="node()" mode="filter-bits-32" />
719 </xsl:element>
720 </xsl:if>
721 </xsl:if>
722 </xsl:if>
723 </xsl:template>
724
725 <xsl:template match="c:dirname" mode="filter-bits-32">
726 <xsl:variable name="ismultilib">
727 <xsl:choose>
728 <xsl:when test="contains($clfs.multilib, ',')">
729 <xsl:text>true</xsl:text>
730 </xsl:when>
731 <xsl:otherwise>
732 <xsl:text>false</xsl:text>
733 </xsl:otherwise>
734 </xsl:choose>
735 </xsl:variable>
736 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
737 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
738 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
739 <xsl:element name="filename">
740 <xsl:attribute name="class">
741 <xsl:text>directory</xsl:text>
742 </xsl:attribute>
743 <xsl:apply-templates select="node()" mode="filter-bits-32" />
744 </xsl:element>
745 </xsl:if>
746 </xsl:if>
747 </xsl:if>
748 </xsl:template>
749
750 <xsl:template match="c:filename" mode="filter-bits-32">
751 <xsl:variable name="ismultilib">
752 <xsl:choose>
753 <xsl:when test="contains($clfs.multilib, ',')">
754 <xsl:text>true</xsl:text>
755 </xsl:when>
756 <xsl:otherwise>
757 <xsl:text>false</xsl:text>
758 </xsl:otherwise>
759 </xsl:choose>
760 </xsl:variable>
761 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
762 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
763 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
764 <xsl:element name="filename">
765 <xsl:apply-templates select="node()" mode="filter-bits-32" />
766 </xsl:element>
767 </xsl:if>
768 </xsl:if>
769 </xsl:if>
770 </xsl:template>
771
772 <xsl:template match="c:command" mode="filter-bits-32">
773 <xsl:variable name="ismultilib">
774 <xsl:choose>
775 <xsl:when test="contains($clfs.multilib, ',')">
776 <xsl:text>true</xsl:text>
777 </xsl:when>
778 <xsl:otherwise>
779 <xsl:text>false</xsl:text>
780 </xsl:otherwise>
781 </xsl:choose>
782 </xsl:variable>
783 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
784 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
785 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
786 <xsl:element name="command">
787 <xsl:apply-templates select="node()" mode="filter-bits-32" />
788 </xsl:element>
789 </xsl:if>
790 </xsl:if>
791 </xsl:if>
792 </xsl:template>
793
794 <xsl:template match="@c:arch" mode="filter-bits-32" />
795 <xsl:template match="@c:bits" mode="filter-bits-32" />
796 <xsl:template match="@c:multilib" mode="filter-bits-32" />
797
798 <!-- Apply the profile to the n32 package -->
799
800 <xsl:template match="c:para" mode="filter-bits-n32">
801 <xsl:variable name="ismultilib">
802 <xsl:choose>
803 <xsl:when test="contains($clfs.multilib, ',')">
804 <xsl:text>true</xsl:text>
805 </xsl:when>
806 <xsl:otherwise>
807 <xsl:text>false</xsl:text>
808 </xsl:otherwise>
809 </xsl:choose>
810 </xsl:variable>
811 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
812 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
813 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
814 <xsl:element name="para">
815 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
816 </xsl:element>
817 </xsl:if>
818 </xsl:if>
819 </xsl:if>
820 </xsl:template>
821
822 <xsl:template match="c:note" mode="filter-bits-n32">
823 <xsl:variable name="ismultilib">
824 <xsl:choose>
825 <xsl:when test="contains($clfs.multilib, ',')">
826 <xsl:text>true</xsl:text>
827 </xsl:when>
828 <xsl:otherwise>
829 <xsl:text>false</xsl:text>
830 </xsl:otherwise>
831 </xsl:choose>
832 </xsl:variable>
833 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
834 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
835 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
836 <xsl:element name="note">
837 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
838 </xsl:element>
839 </xsl:if>
840 </xsl:if>
841 </xsl:if>
842 </xsl:template>
843
844 <xsl:template match="c:warning" mode="filter-bits-n32">
845 <xsl:variable name="ismultilib">
846 <xsl:choose>
847 <xsl:when test="contains($clfs.multilib, ',')">
848 <xsl:text>true</xsl:text>
849 </xsl:when>
850 <xsl:otherwise>
851 <xsl:text>false</xsl:text>
852 </xsl:otherwise>
853 </xsl:choose>
854 </xsl:variable>
855 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
856 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
857 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
858 <xsl:element name="warning">
859 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
860 </xsl:element>
861 </xsl:if>
862 </xsl:if>
863 </xsl:if>
864 </xsl:template>
865
866 <xsl:template match="c:install/c:command" mode="filter-bits-n32">
867 <xsl:variable name="ismultilib">
868 <xsl:choose>
869 <xsl:when test="contains($clfs.multilib, ',')">
870 <xsl:text>true</xsl:text>
871 </xsl:when>
872 <xsl:otherwise>
873 <xsl:text>false</xsl:text>
874 </xsl:otherwise>
875 </xsl:choose>
876 </xsl:variable>
877 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
878 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
879 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
880 <xsl:element name="screen">
881 <xsl:if test="@c:nodump = 'true'">
882 <xsl:attribute name="role">
883 <xsl:text>nodump</xsl:text>
884 </xsl:attribute>
885 </xsl:if>
886 <xsl:element name="userinput">
887 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
888 </xsl:element>
889 </xsl:element>
890 </xsl:if>
891 </xsl:if>
892 </xsl:if>
893 </xsl:template>
894
895 <xsl:template match="c:literal" mode="filter-bits-n32">
896 <xsl:variable name="ismultilib">
897 <xsl:choose>
898 <xsl:when test="contains($clfs.multilib, ',')">
899 <xsl:text>true</xsl:text>
900 </xsl:when>
901 <xsl:otherwise>
902 <xsl:text>false</xsl:text>
903 </xsl:otherwise>
904 </xsl:choose>
905 </xsl:variable>
906 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
907 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
908 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
909 <xsl:element name="literal">
910 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
911 </xsl:element>
912 </xsl:if>
913 </xsl:if>
914 </xsl:if>
915 </xsl:template>
916
917 <xsl:template match="c:replaceable" mode="filter-bits-n32">
918 <xsl:variable name="ismultilib">
919 <xsl:choose>
920 <xsl:when test="contains($clfs.multilib, ',')">
921 <xsl:text>true</xsl:text>
922 </xsl:when>
923 <xsl:otherwise>
924 <xsl:text>false</xsl:text>
925 </xsl:otherwise>
926 </xsl:choose>
927 </xsl:variable>
928 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
929 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
930 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
931 <xsl:element name="replaceable">
932 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
933 </xsl:element>
934 </xsl:if>
935 </xsl:if>
936 </xsl:if>
937 </xsl:template>
938
939 <xsl:template match="c:application" mode="filter-bits-n32">
940 <xsl:variable name="ismultilib">
941 <xsl:choose>
942 <xsl:when test="contains($clfs.multilib, ',')">
943 <xsl:text>true</xsl:text>
944 </xsl:when>
945 <xsl:otherwise>
946 <xsl:text>false</xsl:text>
947 </xsl:otherwise>
948 </xsl:choose>
949 </xsl:variable>
950 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
951 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
952 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
953 <xsl:element name="application">
954 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
955 </xsl:element>
956 </xsl:if>
957 </xsl:if>
958 </xsl:if>
959 </xsl:template>
960
961 <xsl:template match="c:dirname" mode="filter-bits-n32">
962 <xsl:variable name="ismultilib">
963 <xsl:choose>
964 <xsl:when test="contains($clfs.multilib, ',')">
965 <xsl:text>true</xsl:text>
966 </xsl:when>
967 <xsl:otherwise>
968 <xsl:text>false</xsl:text>
969 </xsl:otherwise>
970 </xsl:choose>
971 </xsl:variable>
972 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
973 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
974 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
975 <xsl:element name="filename">
976 <xsl:attribute name="class">
977 <xsl:text>directory</xsl:text>
978 </xsl:attribute>
979 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
980 </xsl:element>
981 </xsl:if>
982 </xsl:if>
983 </xsl:if>
984 </xsl:template>
985
986 <xsl:template match="c:filename" mode="filter-bits-n32">
987 <xsl:variable name="ismultilib">
988 <xsl:choose>
989 <xsl:when test="contains($clfs.multilib, ',')">
990 <xsl:text>true</xsl:text>
991 </xsl:when>
992 <xsl:otherwise>
993 <xsl:text>false</xsl:text>
994 </xsl:otherwise>
995 </xsl:choose>
996 </xsl:variable>
997 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
998 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
999 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
1000 <xsl:element name="filename">
1001 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
1002 </xsl:element>
1003 </xsl:if>
1004 </xsl:if>
1005 </xsl:if>
1006 </xsl:template>
1007
1008 <xsl:template match="c:command" mode="filter-bits-n32">
1009 <xsl:variable name="ismultilib">
1010 <xsl:choose>
1011 <xsl:when test="contains($clfs.multilib, ',')">
1012 <xsl:text>true</xsl:text>
1013 </xsl:when>
1014 <xsl:otherwise>
1015 <xsl:text>false</xsl:text>
1016 </xsl:otherwise>
1017 </xsl:choose>
1018 </xsl:variable>
1019 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1020 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1021 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
1022 <xsl:element name="command">
1023 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
1024 </xsl:element>
1025 </xsl:if>
1026 </xsl:if>
1027 </xsl:if>
1028 </xsl:template>
1029
1030 <xsl:template match="@c:arch" mode="filter-bits-n32" />
1031 <xsl:template match="@c:bits" mode="filter-bits-n32" />
1032 <xsl:template match="@c:multilib" mode="filter-bits-n32" />
1033
1034 <!-- Apply the profile to the 64bit package -->
1035
1036 <xsl:template match="c:para" mode="filter-bits-64">
1037 <xsl:variable name="ismultilib">
1038 <xsl:choose>
1039 <xsl:when test="contains($clfs.multilib, ',')">
1040 <xsl:text>true</xsl:text>
1041 </xsl:when>
1042 <xsl:otherwise>
1043 <xsl:text>false</xsl:text>
1044 </xsl:otherwise>
1045 </xsl:choose>
1046 </xsl:variable>
1047 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1048 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1049 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1050 <xsl:element name="para">
1051 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1052 </xsl:element>
1053 </xsl:if>
1054 </xsl:if>
1055 </xsl:if>
1056 </xsl:template>
1057
1058 <xsl:template match="c:note" mode="filter-bits-64">
1059 <xsl:variable name="ismultilib">
1060 <xsl:choose>
1061 <xsl:when test="contains($clfs.multilib, ',')">
1062 <xsl:text>true</xsl:text>
1063 </xsl:when>
1064 <xsl:otherwise>
1065 <xsl:text>false</xsl:text>
1066 </xsl:otherwise>
1067 </xsl:choose>
1068 </xsl:variable>
1069 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1070 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1071 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1072 <xsl:element name="note">
1073 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1074 </xsl:element>
1075 </xsl:if>
1076 </xsl:if>
1077 </xsl:if>
1078 </xsl:template>
1079
1080 <xsl:template match="c:warning" mode="filter-bits-64">
1081 <xsl:variable name="ismultilib">
1082 <xsl:choose>
1083 <xsl:when test="contains($clfs.multilib, ',')">
1084 <xsl:text>true</xsl:text>
1085 </xsl:when>
1086 <xsl:otherwise>
1087 <xsl:text>false</xsl:text>
1088 </xsl:otherwise>
1089 </xsl:choose>
1090 </xsl:variable>
1091 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1092 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1093 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1094 <xsl:element name="warning">
1095 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1096 </xsl:element>
1097 </xsl:if>
1098 </xsl:if>
1099 </xsl:if>
1100 </xsl:template>
1101
1102 <xsl:template match="c:install/c:command" mode="filter-bits-64">
1103 <xsl:variable name="ismultilib">
1104 <xsl:choose>
1105 <xsl:when test="contains($clfs.multilib, ',')">
1106 <xsl:text>true</xsl:text>
1107 </xsl:when>
1108 <xsl:otherwise>
1109 <xsl:text>false</xsl:text>
1110 </xsl:otherwise>
1111 </xsl:choose>
1112 </xsl:variable>
1113 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1114 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1115 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1116 <xsl:element name="screen">
1117 <xsl:if test="@c:nodump = 'true'">
1118 <xsl:attribute name="role">
1119 <xsl:text>nodump</xsl:text>
1120 </xsl:attribute>
1121 </xsl:if>
1122 <xsl:element name="userinput">
1123 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1124 </xsl:element>
1125 </xsl:element>
1126 </xsl:if>
1127 </xsl:if>
1128 </xsl:if>
1129 </xsl:template>
1130
1131 <xsl:template match="c:literal" mode="filter-bits-64">
1132 <xsl:variable name="ismultilib">
1133 <xsl:choose>
1134 <xsl:when test="contains($clfs.multilib, ',')">
1135 <xsl:text>true</xsl:text>
1136 </xsl:when>
1137 <xsl:otherwise>
1138 <xsl:text>false</xsl:text>
1139 </xsl:otherwise>
1140 </xsl:choose>
1141 </xsl:variable>
1142 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1143 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1144 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1145 <xsl:element name="literal">
1146 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1147 </xsl:element>
1148 </xsl:if>
1149 </xsl:if>
1150 </xsl:if>
1151 </xsl:template>
1152
1153 <xsl:template match="c:replaceable" mode="filter-bits-64">
1154 <xsl:variable name="ismultilib">
1155 <xsl:choose>
1156 <xsl:when test="contains($clfs.multilib, ',')">
1157 <xsl:text>true</xsl:text>
1158 </xsl:when>
1159 <xsl:otherwise>
1160 <xsl:text>false</xsl:text>
1161 </xsl:otherwise>
1162 </xsl:choose>
1163 </xsl:variable>
1164 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1165 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1166 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1167 <xsl:element name="replaceable">
1168 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1169 </xsl:element>
1170 </xsl:if>
1171 </xsl:if>
1172 </xsl:if>
1173 </xsl:template>
1174
1175 <xsl:template match="c:application" mode="filter-bits-64">
1176 <xsl:variable name="ismultilib">
1177 <xsl:choose>
1178 <xsl:when test="contains($clfs.multilib, ',')">
1179 <xsl:text>true</xsl:text>
1180 </xsl:when>
1181 <xsl:otherwise>
1182 <xsl:text>false</xsl:text>
1183 </xsl:otherwise>
1184 </xsl:choose>
1185 </xsl:variable>
1186 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1187 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1188 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1189 <xsl:element name="application">
1190 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1191 </xsl:element>
1192 </xsl:if>
1193 </xsl:if>
1194 </xsl:if>
1195 </xsl:template>
1196
1197 <xsl:template match="c:dirname" mode="filter-bits-64">
1198 <xsl:variable name="ismultilib">
1199 <xsl:choose>
1200 <xsl:when test="contains($clfs.multilib, ',')">
1201 <xsl:text>true</xsl:text>
1202 </xsl:when>
1203 <xsl:otherwise>
1204 <xsl:text>false</xsl:text>
1205 </xsl:otherwise>
1206 </xsl:choose>
1207 </xsl:variable>
1208 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1209 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1210 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1211 <xsl:element name="filename">
1212 <xsl:attribute name="class">
1213 <xsl:text>directory</xsl:text>
1214 </xsl:attribute>
1215 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1216 </xsl:element>
1217 </xsl:if>
1218 </xsl:if>
1219 </xsl:if>
1220 </xsl:template>
1221
1222 <xsl:template match="c:filename" mode="filter-bits-64">
1223 <xsl:variable name="ismultilib">
1224 <xsl:choose>
1225 <xsl:when test="contains($clfs.multilib, ',')">
1226 <xsl:text>true</xsl:text>
1227 </xsl:when>
1228 <xsl:otherwise>
1229 <xsl:text>false</xsl:text>
1230 </xsl:otherwise>
1231 </xsl:choose>
1232 </xsl:variable>
1233 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1234 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1235 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1236 <xsl:element name="filename">
1237 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1238 </xsl:element>
1239 </xsl:if>
1240 </xsl:if>
1241 </xsl:if>
1242 </xsl:template>
1243
1244 <xsl:template match="c:command" mode="filter-bits-64">
1245 <xsl:variable name="ismultilib">
1246 <xsl:choose>
1247 <xsl:when test="contains($clfs.multilib, ',')">
1248 <xsl:text>true</xsl:text>
1249 </xsl:when>
1250 <xsl:otherwise>
1251 <xsl:text>false</xsl:text>
1252 </xsl:otherwise>
1253 </xsl:choose>
1254 </xsl:variable>
1255 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1256 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1257 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1258 <xsl:element name="command">
1259 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1260 </xsl:element>
1261 </xsl:if>
1262 </xsl:if>
1263 </xsl:if>
1264 </xsl:template>
1265
1266 <xsl:template match="@c:arch" mode="filter-bits-64" />
1267 <xsl:template match="@c:bits" mode="filter-bits-64" />
1268 <xsl:template match="@c:multilib" mode="filter-bits-64" />
1269
1270 <!-- Templates for the Inline Elements outside of the build filter -->
1271
1272 <xsl:template match="c:literal">
1273 <xsl:element name="literal">
1274 <xsl:apply-templates select="node()" />
1275 </xsl:element>
1276 </xsl:template>
1277
1278 <xsl:template match="c:replaceable">
1279 <xsl:element name="replaceable">
1280 <xsl:apply-templates select="node()" />
1281 </xsl:element>
1282 </xsl:template>
1283
1284 <xsl:template match="c:application">
1285 <xsl:element name="application">
1286 <xsl:apply-templates select="node()" />
1287 </xsl:element>
1288 </xsl:template>
1289
1290 <xsl:template match="c:dirname">
1291 <xsl:element name="filename">
1292 <xsl:attribute name="class">
1293 <xsl:text>directory</xsl:text>
1294 </xsl:attribute>
1295 <xsl:apply-templates select="node()" />
1296 </xsl:element>
1297 </xsl:template>
1298
1299 <xsl:template match="c:filename">
1300 <xsl:element name="filename">
1301 <xsl:apply-templates select="node()" />
1302 </xsl:element>
1303 </xsl:template>
1304
1305 <xsl:template match="c:command">
1306 <xsl:element name="command">
1307 <xsl:apply-templates select="node()" />
1308 </xsl:element>
1309 </xsl:template>
1310
1311 <!-- Apply the profile filter to the entire document -->
1312 <xsl:template match="//*[@c:arch]|//*[@c:multilib]">
1313 <xsl:variable name="ismultilib">
1314 <xsl:choose>
1315 <xsl:when test="contains($clfs.multilib, ',')">
1316 <xsl:text>true</xsl:text>
1317 </xsl:when>
1318 <xsl:otherwise>
1319 <xsl:text>false</xsl:text>
1320 </xsl:otherwise>
1321 </xsl:choose>
1322 </xsl:variable>
1323 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1324 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1325 <xsl:copy>
1326 <xsl:apply-templates select="@*|node()" />
1327 </xsl:copy>
1328 </xsl:if>
1329 </xsl:if>
1330 </xsl:template>
1331
1332 <!-- Remove the profileing attributes for the remaining objects -->
1333 <xsl:template match="@c:arch" />
1334 <xsl:template match="@c:bits" />
1335 <xsl:template match="@c:multilib" />
1336
1337</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.