source: BOOK/stylesheets/clfs-profile.xsl@ a8c30a5

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

Also parse a c:config section after a c:install section.

  • Property mode set to 100644
File size: 53.6 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:config -> sect2: For each c:config build a sect2 section -->
228 <xsl:for-each select="c:config">
229 <xsl:element name="sect2">
230 <xsl:attribute name="id">
231 <xsl:value-of select="$id"/>
232 <xsl:text>-conf</xsl:text>
233 </xsl:attribute>
234 <xsl:text>
235 </xsl:text>
236 <xsl:element name="title">
237 <xsl:attribute name="role">
238 <xsl:text>configuration</xsl:text>
239 </xsl:attribute>
240 <xsl:text>Configuring </xsl:text>
241 <xsl:value-of select="../c:title" />
242 </xsl:element>
243 <xsl:text>
244
245</xsl:text>
246 <xsl:choose>
247 <xsl:when test="$bits = '32'">
248 <xsl:apply-templates select="@*|node()" mode="filter-bits-32" />
249 </xsl:when>
250 <xsl:when test="$bits = 'n32'">
251 <xsl:apply-templates select="@*|node()" mode="filter-bits-n32" />
252 </xsl:when>
253 <xsl:when test="$bits = '64'">
254 <xsl:apply-templates select="@*|node()" mode="filter-bits-64" />
255 </xsl:when>
256 </xsl:choose>
257 <xsl:text>
258</xsl:text>
259 </xsl:element>
260 </xsl:for-each><!-- c:config -> sect2 -->
261
262 <!-- c:contents -> sect2: Build or reference the contents sect2 -->
263 <xsl:for-each select="c:contents">
264
265 <xsl:text>&#xa;&#xa;</xsl:text>
266
267 <xsl:element name="sect2">
268 <xsl:attribute name="role">
269 <xsl:text>content</xsl:text>
270 </xsl:attribute>
271 <xsl:choose>
272 <xsl:when test="string-length(@c:ref) > 0">
273 <!-- Insert an xref to the actual contents list -->
274 <xsl:text>&#xa; </xsl:text>
275 <xsl:element name="title" />
276 <xsl:text>&#xa;&#xa; </xsl:text>
277 <xsl:element name="para">
278 <xsl:text>Details on this package are located in </xsl:text>
279 <xsl:element name="xref">
280 <xsl:attribute name="linkend">
281 <xsl:value-of select="@c:ref" />
282 <xsl:text>-contents</xsl:text>
283 </xsl:attribute>
284 <xsl:attribute name="role">
285 <xsl:text>.</xsl:text>
286 </xsl:attribute>
287 </xsl:element>
288 </xsl:element>
289 </xsl:when>
290 <xsl:otherwise>
291 <!-- This page gets the contents list -->
292 <xsl:attribute name="id">
293 <xsl:value-of select="$id" />
294 <xsl:text>-contents</xsl:text>
295 </xsl:attribute>
296 <xsl:text>&#xa; </xsl:text>
297 <xsl:element name="title">
298 <xsl:text>Contents of </xsl:text>
299 <xsl:value-of select="../c:title" />
300 </xsl:element>
301 <xsl:text>&#xa;&#xa;</xsl:text>
302 <!-- Begin the Summary List -->
303 <xsl:element name="segmentedlist">
304 <xsl:if test="count(c:program) &gt; 0">
305 <xsl:text>&#xa; </xsl:text>
306 <xsl:element name="segtitle">
307 <xsl:text>Installed Programs</xsl:text>
308 </xsl:element>
309 </xsl:if>
310 <xsl:if test="count(c:library) &gt; 0">
311 <xsl:text>&#xa; </xsl:text>
312 <xsl:element name="segtitle">
313 <xsl:text>Installed Libraries</xsl:text>
314 </xsl:element>
315 </xsl:if>
316 <xsl:if test="count(c:directory) &gt; 0">
317 <xsl:text>&#xa; </xsl:text>
318 <xsl:element name="segtitle">
319 <xsl:text>Installed Directories</xsl:text>
320 </xsl:element>
321 </xsl:if>
322 <xsl:text>&#xa;&#xa; </xsl:text>
323 <xsl:element name="seglistitem">
324
325 <!-- Begin the seg list for Programs -->
326 <xsl:if test="count(c:program) &gt; 0">
327 <xsl:text>&#xa; </xsl:text>
328 <xsl:element name="seg">
329 <xsl:for-each select="c:program">
330 <xsl:value-of select="c:name" />
331 <xsl:if test="count(../c:program) &gt; 1">
332 <xsl:choose>
333 <xsl:when test="position() &lt; (last() - 1)">
334 <xsl:text>, </xsl:text>
335 </xsl:when>
336 <xsl:when test="position() = last() - 1">
337 <xsl:text> and </xsl:text>
338 </xsl:when>
339 </xsl:choose>
340 </xsl:if>
341 </xsl:for-each>
342 </xsl:element>
343 </xsl:if>
344 <!-- End the seg list for Programs -->
345
346 <!-- Begin the seg list for Libraries -->
347 <xsl:if test="count(c:library) &gt; 0">
348 <xsl:text>&#xa; </xsl:text>
349 <xsl:element name="seg">
350 <xsl:for-each select="c:library">
351 <xsl:value-of select="c:name" />
352 <xsl:if test="count(../c:library) &gt; 1">
353 <xsl:choose>
354 <xsl:when test="position() &lt; (last() - 1)">
355 <xsl:text>, </xsl:text>
356 </xsl:when>
357 <xsl:when test="position() = last() - 1">
358 <xsl:text> and </xsl:text>
359 </xsl:when>
360 </xsl:choose>
361 </xsl:if>
362 </xsl:for-each>
363 </xsl:element>
364 </xsl:if>
365 <!-- End the seg list for Libraries -->
366
367 <!-- Begin the seg list for Directories -->
368 <xsl:if test="count(c:directory) &gt; 0">
369 <xsl:text>&#xa; </xsl:text>
370 <xsl:element name="seg">
371 <xsl:for-each select="c:directory">
372 <xsl:value-of select="c:name" />
373 <xsl:if test="count(../c:directory) &gt; 1">
374 <xsl:if test="position() &lt; (last() - 1)">
375 <xsl:text>, </xsl:text>
376 </xsl:if>
377 <xsl:if test="position() = last() - 1">
378 <xsl:text> and </xsl:text>
379 </xsl:if>
380 </xsl:if>
381 </xsl:for-each>
382 </xsl:element>
383 </xsl:if>
384 <!-- End the seg list for Directories -->
385
386 <xsl:text>&#xa; </xsl:text>
387 </xsl:element>
388 <xsl:text>&#xa;</xsl:text>
389 </xsl:element>
390 <xsl:text>&#xa;&#xa;</xsl:text>
391 <!-- End of the Summary List -->
392
393 <!-- Begin Short Desc List -->
394 <xsl:element name="variablelist">
395
396 <!-- Render As -->
397 <xsl:text>&#xa; </xsl:text>
398 <xsl:element name="bridgehead">
399 <xsl:attribute name="renderas">
400 <xsl:text>sect3</xsl:text>
401 </xsl:attribute>
402 <xsl:text>Short Descriptions</xsl:text>
403 </xsl:element>
404
405 <!-- Processing Instructions -->
406 <xsl:text>&#xa; </xsl:text>
407 <xsl:processing-instruction name="dbfo">
408 <xsl:text>list-presentation="list"</xsl:text>
409 </xsl:processing-instruction>
410 <xsl:text>&#xa; </xsl:text>
411 <xsl:processing-instruction name="dbhtml">
412 <xsl:text>list-presentation="table"</xsl:text>
413 </xsl:processing-instruction>
414
415 <!-- Begin the Short Desc For-Each for Programs -->
416 <xsl:for-each select="c:program">
417 <xsl:text>&#xa;&#xa; </xsl:text>
418 <xsl:element name="varlistentry">
419 <xsl:attribute name="id">
420 <xsl:value-of select="c:name" />
421 </xsl:attribute>
422
423 <!-- Term -->
424 <xsl:text>&#xa; </xsl:text>
425 <xsl:element name="term">
426 <xsl:element name="command">
427 <xsl:value-of select="c:name" />
428 </xsl:element>
429 </xsl:element>
430 <!-- End Term -->
431
432 <!-- List Item -->
433 <xsl:text>&#xa; </xsl:text>
434 <xsl:element name="listitem">
435
436 <xsl:text>&#xa; </xsl:text>
437 <xsl:element name="para">
438 <xsl:apply-templates select="c:description/@*|c:description/node()" />
439 </xsl:element>
440
441 <xsl:text>&#xa; </xsl:text>
442 <xsl:element name="indexterm">
443 <xsl:attribute name="zone">
444 <xsl:value-of select="$id" />
445 <xsl:text> </xsl:text>
446 <xsl:value-of select="c:name" />
447 </xsl:attribute>
448 <xsl:text>&#xa; </xsl:text>
449 <xsl:element name="primary">
450 <xsl:attribute name="sortas">
451 <xsl:text>b-</xsl:text>
452 <xsl:value-of select="c:name" />
453 </xsl:attribute>
454 <xsl:value-of select="c:name" />
455 </xsl:element>
456 <xsl:text>&#xa; </xsl:text>
457 </xsl:element>
458
459 <xsl:text>&#xa; </xsl:text>
460 </xsl:element><!-- listitem -->
461 <!-- End List Item -->
462
463 <xsl:text>&#xa; </xsl:text>
464 </xsl:element><!-- varlistentry -->
465 </xsl:for-each>
466 <!-- End the Short Desc For-Each for Programs -->
467
468 <!-- Begin the Short Desc For-Each for Libraries -->
469 <xsl:for-each select="c:library">
470 <xsl:text>&#xa;&#xa; </xsl:text>
471 <xsl:element name="varlistentry">
472 <xsl:attribute name="id">
473 <xsl:value-of select="c:name" />
474 </xsl:attribute>
475
476 <!-- Term -->
477 <xsl:text>&#xa; </xsl:text>
478 <xsl:element name="term">
479 <xsl:element name="filename">
480 <xsl:attribute name="class">
481 <xsl:text>libraryfile</xsl:text>
482 </xsl:attribute>
483 <xsl:value-of select="c:name" />
484 </xsl:element>
485 </xsl:element>
486 <!-- End Term -->
487
488 <!-- List Item -->
489 <xsl:text>&#xa; </xsl:text>
490 <xsl:element name="listitem">
491
492 <xsl:text>&#xa; </xsl:text>
493 <xsl:element name="para">
494 <xsl:apply-templates select="c:description/@*|c:description/node()" />
495 </xsl:element>
496
497 <xsl:text>&#xa; </xsl:text>
498 <xsl:element name="indexterm">
499 <xsl:attribute name="zone">
500 <xsl:value-of select="$id" />
501 <xsl:text> </xsl:text>
502 <xsl:value-of select="c:name" />
503 </xsl:attribute>
504 <xsl:text>&#xa; </xsl:text>
505 <xsl:element name="primary">
506 <xsl:attribute name="sortas">
507 <xsl:text>c-</xsl:text>
508 <xsl:value-of select="c:name" />
509 </xsl:attribute>
510 <xsl:value-of select="c:name" />
511 </xsl:element>
512 <xsl:text>&#xa; </xsl:text>
513 </xsl:element>
514
515 <xsl:text>&#xa; </xsl:text>
516 </xsl:element><!-- listitem -->
517 <!-- End List Item -->
518
519 <xsl:text>&#xa; </xsl:text>
520 </xsl:element><!-- varlistentry -->
521 </xsl:for-each>
522 <!-- End the Short Desc For-Each for Libraries -->
523
524 <!-- Begin the Short Desc For-Each for Directories -->
525 <xsl:for-each select="c:directory">
526 <xsl:text>&#xa;&#xa; </xsl:text>
527 <xsl:element name="varlistentry">
528 <xsl:attribute name="id">
529 <xsl:text>dir</xsl:text>
530 <xsl:value-of select="translate(c:name, '/', '-')" />
531 </xsl:attribute>
532
533 <!-- Term -->
534 <xsl:text>&#xa; </xsl:text>
535 <xsl:element name="term">
536 <xsl:element name="filename">
537 <xsl:attribute name="class">
538 <xsl:text>directory</xsl:text>
539 </xsl:attribute>
540 <xsl:value-of select="c:name" />
541 </xsl:element>
542 </xsl:element>
543 <!-- End Term -->
544
545 <!-- List Item -->
546 <xsl:text>&#xa; </xsl:text>
547 <xsl:element name="listitem">
548
549 <xsl:text>&#xa; </xsl:text>
550 <xsl:element name="para">
551 <xsl:apply-templates select="c:description/@*|c:description/node()" />
552 </xsl:element>
553
554 <xsl:text>&#xa; </xsl:text>
555 <xsl:element name="indexterm">
556 <xsl:attribute name="zone">
557 <xsl:value-of select="$id" />
558 <xsl:text> dir</xsl:text>
559 <xsl:value-of select="translate(c:name, '/', '-')" />
560 </xsl:attribute>
561 <xsl:text>&#xa; </xsl:text>
562 <xsl:element name="primary">
563 <xsl:attribute name="sortas">
564 <xsl:text>e-</xsl:text>
565 <xsl:value-of select="c:name" />
566 </xsl:attribute>
567 <xsl:value-of select="c:name" />
568 </xsl:element>
569 <xsl:text>&#xa; </xsl:text>
570 </xsl:element>
571
572 <xsl:text>&#xa; </xsl:text>
573 </xsl:element><!-- listitem -->
574 <!-- End List Item -->
575
576 <xsl:text>&#xa; </xsl:text>
577 </xsl:element><!-- varlistentry -->
578 </xsl:for-each>
579 <!-- End the Short Desc For-Each for Directories -->
580
581 <xsl:text>&#xa;&#xa;</xsl:text>
582 </xsl:element><!-- variablelist -->
583 <!-- End Short Desc List -->
584 </xsl:otherwise>
585 </xsl:choose>
586
587 <xsl:text>&#xa;&#xa;</xsl:text>
588 </xsl:element><!-- sect2 -->
589 </xsl:for-each><!-- c:contents -> sect2 -->
590
591 <xsl:text>&#xa;&#xa;</xsl:text>
592
593 </xsl:element><!-- Sect1 -->
594
595 </xsl:template><!-- package-stub -->
596
597 <!-- Apply the profile to the 32bit package -->
598
599 <xsl:template match="c:para" mode="filter-bits-32">
600 <xsl:variable name="ismultilib">
601 <xsl:choose>
602 <xsl:when test="contains($clfs.multilib, ',')">
603 <xsl:text>true</xsl:text>
604 </xsl:when>
605 <xsl:otherwise>
606 <xsl:text>false</xsl:text>
607 </xsl:otherwise>
608 </xsl:choose>
609 </xsl:variable>
610 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
611 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
612 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
613 <xsl:element name="para">
614 <xsl:apply-templates select="node()" mode="filter-bits-32" />
615 </xsl:element>
616 </xsl:if>
617 </xsl:if>
618 </xsl:if>
619 </xsl:template>
620
621 <xsl:template match="c:note" mode="filter-bits-32">
622 <xsl:variable name="ismultilib">
623 <xsl:choose>
624 <xsl:when test="contains($clfs.multilib, ',')">
625 <xsl:text>true</xsl:text>
626 </xsl:when>
627 <xsl:otherwise>
628 <xsl:text>false</xsl:text>
629 </xsl:otherwise>
630 </xsl:choose>
631 </xsl:variable>
632 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
633 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
634 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
635 <xsl:element name="note">
636 <xsl:apply-templates select="node()" mode="filter-bits-32" />
637 </xsl:element>
638 </xsl:if>
639 </xsl:if>
640 </xsl:if>
641 </xsl:template>
642
643 <xsl:template match="c:warning" mode="filter-bits-32">
644 <xsl:variable name="ismultilib">
645 <xsl:choose>
646 <xsl:when test="contains($clfs.multilib, ',')">
647 <xsl:text>true</xsl:text>
648 </xsl:when>
649 <xsl:otherwise>
650 <xsl:text>false</xsl:text>
651 </xsl:otherwise>
652 </xsl:choose>
653 </xsl:variable>
654 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
655 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
656 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
657 <xsl:element name="warning">
658 <xsl:apply-templates select="node()" mode="filter-bits-32" />
659 </xsl:element>
660 </xsl:if>
661 </xsl:if>
662 </xsl:if>
663 </xsl:template>
664
665 <xsl:template match="c:install/c:command" mode="filter-bits-32">
666 <xsl:variable name="ismultilib">
667 <xsl:choose>
668 <xsl:when test="contains($clfs.multilib, ',')">
669 <xsl:text>true</xsl:text>
670 </xsl:when>
671 <xsl:otherwise>
672 <xsl:text>false</xsl:text>
673 </xsl:otherwise>
674 </xsl:choose>
675 </xsl:variable>
676 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
677 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
678 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
679 <xsl:element name="screen">
680 <xsl:if test="@c:nodump = 'true'">
681 <xsl:attribute name="role">
682 <xsl:text>nodump</xsl:text>
683 </xsl:attribute>
684 </xsl:if>
685 <xsl:element name="userinput">
686 <xsl:apply-templates select="node()" mode="filter-bits-32" />
687 </xsl:element>
688 </xsl:element>
689 </xsl:if>
690 </xsl:if>
691 </xsl:if>
692 </xsl:template>
693
694 <xsl:template match="c:literal" mode="filter-bits-32">
695 <xsl:variable name="ismultilib">
696 <xsl:choose>
697 <xsl:when test="contains($clfs.multilib, ',')">
698 <xsl:text>true</xsl:text>
699 </xsl:when>
700 <xsl:otherwise>
701 <xsl:text>false</xsl:text>
702 </xsl:otherwise>
703 </xsl:choose>
704 </xsl:variable>
705 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
706 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
707 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
708 <xsl:element name="literal">
709 <xsl:apply-templates select="node()" mode="filter-bits-32" />
710 </xsl:element>
711 </xsl:if>
712 </xsl:if>
713 </xsl:if>
714 </xsl:template>
715
716 <xsl:template match="c:replaceable" mode="filter-bits-32">
717 <xsl:variable name="ismultilib">
718 <xsl:choose>
719 <xsl:when test="contains($clfs.multilib, ',')">
720 <xsl:text>true</xsl:text>
721 </xsl:when>
722 <xsl:otherwise>
723 <xsl:text>false</xsl:text>
724 </xsl:otherwise>
725 </xsl:choose>
726 </xsl:variable>
727 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
728 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
729 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
730 <xsl:element name="replaceable">
731 <xsl:apply-templates select="node()" mode="filter-bits-32" />
732 </xsl:element>
733 </xsl:if>
734 </xsl:if>
735 </xsl:if>
736 </xsl:template>
737
738 <xsl:template match="c:application" mode="filter-bits-32">
739 <xsl:variable name="ismultilib">
740 <xsl:choose>
741 <xsl:when test="contains($clfs.multilib, ',')">
742 <xsl:text>true</xsl:text>
743 </xsl:when>
744 <xsl:otherwise>
745 <xsl:text>false</xsl:text>
746 </xsl:otherwise>
747 </xsl:choose>
748 </xsl:variable>
749 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
750 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
751 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
752 <xsl:element name="application">
753 <xsl:apply-templates select="node()" mode="filter-bits-32" />
754 </xsl:element>
755 </xsl:if>
756 </xsl:if>
757 </xsl:if>
758 </xsl:template>
759
760 <xsl:template match="c:dirname" mode="filter-bits-32">
761 <xsl:variable name="ismultilib">
762 <xsl:choose>
763 <xsl:when test="contains($clfs.multilib, ',')">
764 <xsl:text>true</xsl:text>
765 </xsl:when>
766 <xsl:otherwise>
767 <xsl:text>false</xsl:text>
768 </xsl:otherwise>
769 </xsl:choose>
770 </xsl:variable>
771 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
772 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
773 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
774 <xsl:element name="filename">
775 <xsl:attribute name="class">
776 <xsl:text>directory</xsl:text>
777 </xsl:attribute>
778 <xsl:apply-templates select="node()" mode="filter-bits-32" />
779 </xsl:element>
780 </xsl:if>
781 </xsl:if>
782 </xsl:if>
783 </xsl:template>
784
785 <xsl:template match="c:filename" mode="filter-bits-32">
786 <xsl:variable name="ismultilib">
787 <xsl:choose>
788 <xsl:when test="contains($clfs.multilib, ',')">
789 <xsl:text>true</xsl:text>
790 </xsl:when>
791 <xsl:otherwise>
792 <xsl:text>false</xsl:text>
793 </xsl:otherwise>
794 </xsl:choose>
795 </xsl:variable>
796 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
797 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
798 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
799 <xsl:element name="filename">
800 <xsl:apply-templates select="node()" mode="filter-bits-32" />
801 </xsl:element>
802 </xsl:if>
803 </xsl:if>
804 </xsl:if>
805 </xsl:template>
806
807 <xsl:template match="c:command" mode="filter-bits-32">
808 <xsl:variable name="ismultilib">
809 <xsl:choose>
810 <xsl:when test="contains($clfs.multilib, ',')">
811 <xsl:text>true</xsl:text>
812 </xsl:when>
813 <xsl:otherwise>
814 <xsl:text>false</xsl:text>
815 </xsl:otherwise>
816 </xsl:choose>
817 </xsl:variable>
818 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
819 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
820 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',32,')">
821 <xsl:element name="command">
822 <xsl:apply-templates select="node()" mode="filter-bits-32" />
823 </xsl:element>
824 </xsl:if>
825 </xsl:if>
826 </xsl:if>
827 </xsl:template>
828
829 <xsl:template match="@c:arch" mode="filter-bits-32" />
830 <xsl:template match="@c:bits" mode="filter-bits-32" />
831 <xsl:template match="@c:multilib" mode="filter-bits-32" />
832
833 <!-- Apply the profile to the n32 package -->
834
835 <xsl:template match="c:para" mode="filter-bits-n32">
836 <xsl:variable name="ismultilib">
837 <xsl:choose>
838 <xsl:when test="contains($clfs.multilib, ',')">
839 <xsl:text>true</xsl:text>
840 </xsl:when>
841 <xsl:otherwise>
842 <xsl:text>false</xsl:text>
843 </xsl:otherwise>
844 </xsl:choose>
845 </xsl:variable>
846 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
847 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
848 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
849 <xsl:element name="para">
850 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
851 </xsl:element>
852 </xsl:if>
853 </xsl:if>
854 </xsl:if>
855 </xsl:template>
856
857 <xsl:template match="c:note" mode="filter-bits-n32">
858 <xsl:variable name="ismultilib">
859 <xsl:choose>
860 <xsl:when test="contains($clfs.multilib, ',')">
861 <xsl:text>true</xsl:text>
862 </xsl:when>
863 <xsl:otherwise>
864 <xsl:text>false</xsl:text>
865 </xsl:otherwise>
866 </xsl:choose>
867 </xsl:variable>
868 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
869 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
870 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
871 <xsl:element name="note">
872 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
873 </xsl:element>
874 </xsl:if>
875 </xsl:if>
876 </xsl:if>
877 </xsl:template>
878
879 <xsl:template match="c:warning" mode="filter-bits-n32">
880 <xsl:variable name="ismultilib">
881 <xsl:choose>
882 <xsl:when test="contains($clfs.multilib, ',')">
883 <xsl:text>true</xsl:text>
884 </xsl:when>
885 <xsl:otherwise>
886 <xsl:text>false</xsl:text>
887 </xsl:otherwise>
888 </xsl:choose>
889 </xsl:variable>
890 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
891 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
892 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
893 <xsl:element name="warning">
894 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
895 </xsl:element>
896 </xsl:if>
897 </xsl:if>
898 </xsl:if>
899 </xsl:template>
900
901 <xsl:template match="c:install/c:command" mode="filter-bits-n32">
902 <xsl:variable name="ismultilib">
903 <xsl:choose>
904 <xsl:when test="contains($clfs.multilib, ',')">
905 <xsl:text>true</xsl:text>
906 </xsl:when>
907 <xsl:otherwise>
908 <xsl:text>false</xsl:text>
909 </xsl:otherwise>
910 </xsl:choose>
911 </xsl:variable>
912 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
913 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
914 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
915 <xsl:element name="screen">
916 <xsl:if test="@c:nodump = 'true'">
917 <xsl:attribute name="role">
918 <xsl:text>nodump</xsl:text>
919 </xsl:attribute>
920 </xsl:if>
921 <xsl:element name="userinput">
922 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
923 </xsl:element>
924 </xsl:element>
925 </xsl:if>
926 </xsl:if>
927 </xsl:if>
928 </xsl:template>
929
930 <xsl:template match="c:literal" mode="filter-bits-n32">
931 <xsl:variable name="ismultilib">
932 <xsl:choose>
933 <xsl:when test="contains($clfs.multilib, ',')">
934 <xsl:text>true</xsl:text>
935 </xsl:when>
936 <xsl:otherwise>
937 <xsl:text>false</xsl:text>
938 </xsl:otherwise>
939 </xsl:choose>
940 </xsl:variable>
941 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
942 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
943 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
944 <xsl:element name="literal">
945 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
946 </xsl:element>
947 </xsl:if>
948 </xsl:if>
949 </xsl:if>
950 </xsl:template>
951
952 <xsl:template match="c:replaceable" mode="filter-bits-n32">
953 <xsl:variable name="ismultilib">
954 <xsl:choose>
955 <xsl:when test="contains($clfs.multilib, ',')">
956 <xsl:text>true</xsl:text>
957 </xsl:when>
958 <xsl:otherwise>
959 <xsl:text>false</xsl:text>
960 </xsl:otherwise>
961 </xsl:choose>
962 </xsl:variable>
963 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
964 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
965 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
966 <xsl:element name="replaceable">
967 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
968 </xsl:element>
969 </xsl:if>
970 </xsl:if>
971 </xsl:if>
972 </xsl:template>
973
974 <xsl:template match="c:application" mode="filter-bits-n32">
975 <xsl:variable name="ismultilib">
976 <xsl:choose>
977 <xsl:when test="contains($clfs.multilib, ',')">
978 <xsl:text>true</xsl:text>
979 </xsl:when>
980 <xsl:otherwise>
981 <xsl:text>false</xsl:text>
982 </xsl:otherwise>
983 </xsl:choose>
984 </xsl:variable>
985 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
986 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
987 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
988 <xsl:element name="application">
989 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
990 </xsl:element>
991 </xsl:if>
992 </xsl:if>
993 </xsl:if>
994 </xsl:template>
995
996 <xsl:template match="c:dirname" mode="filter-bits-n32">
997 <xsl:variable name="ismultilib">
998 <xsl:choose>
999 <xsl:when test="contains($clfs.multilib, ',')">
1000 <xsl:text>true</xsl:text>
1001 </xsl:when>
1002 <xsl:otherwise>
1003 <xsl:text>false</xsl:text>
1004 </xsl:otherwise>
1005 </xsl:choose>
1006 </xsl:variable>
1007 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1008 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1009 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
1010 <xsl:element name="filename">
1011 <xsl:attribute name="class">
1012 <xsl:text>directory</xsl:text>
1013 </xsl:attribute>
1014 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
1015 </xsl:element>
1016 </xsl:if>
1017 </xsl:if>
1018 </xsl:if>
1019 </xsl:template>
1020
1021 <xsl:template match="c:filename" mode="filter-bits-n32">
1022 <xsl:variable name="ismultilib">
1023 <xsl:choose>
1024 <xsl:when test="contains($clfs.multilib, ',')">
1025 <xsl:text>true</xsl:text>
1026 </xsl:when>
1027 <xsl:otherwise>
1028 <xsl:text>false</xsl:text>
1029 </xsl:otherwise>
1030 </xsl:choose>
1031 </xsl:variable>
1032 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1033 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1034 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
1035 <xsl:element name="filename">
1036 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
1037 </xsl:element>
1038 </xsl:if>
1039 </xsl:if>
1040 </xsl:if>
1041 </xsl:template>
1042
1043 <xsl:template match="c:command" mode="filter-bits-n32">
1044 <xsl:variable name="ismultilib">
1045 <xsl:choose>
1046 <xsl:when test="contains($clfs.multilib, ',')">
1047 <xsl:text>true</xsl:text>
1048 </xsl:when>
1049 <xsl:otherwise>
1050 <xsl:text>false</xsl:text>
1051 </xsl:otherwise>
1052 </xsl:choose>
1053 </xsl:variable>
1054 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1055 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1056 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',n32,')">
1057 <xsl:element name="command">
1058 <xsl:apply-templates select="node()" mode="filter-bits-n32" />
1059 </xsl:element>
1060 </xsl:if>
1061 </xsl:if>
1062 </xsl:if>
1063 </xsl:template>
1064
1065 <xsl:template match="@c:arch" mode="filter-bits-n32" />
1066 <xsl:template match="@c:bits" mode="filter-bits-n32" />
1067 <xsl:template match="@c:multilib" mode="filter-bits-n32" />
1068
1069 <!-- Apply the profile to the 64bit package -->
1070
1071 <xsl:template match="c:para" mode="filter-bits-64">
1072 <xsl:variable name="ismultilib">
1073 <xsl:choose>
1074 <xsl:when test="contains($clfs.multilib, ',')">
1075 <xsl:text>true</xsl:text>
1076 </xsl:when>
1077 <xsl:otherwise>
1078 <xsl:text>false</xsl:text>
1079 </xsl:otherwise>
1080 </xsl:choose>
1081 </xsl:variable>
1082 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1083 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1084 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1085 <xsl:element name="para">
1086 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1087 </xsl:element>
1088 </xsl:if>
1089 </xsl:if>
1090 </xsl:if>
1091 </xsl:template>
1092
1093 <xsl:template match="c:note" mode="filter-bits-64">
1094 <xsl:variable name="ismultilib">
1095 <xsl:choose>
1096 <xsl:when test="contains($clfs.multilib, ',')">
1097 <xsl:text>true</xsl:text>
1098 </xsl:when>
1099 <xsl:otherwise>
1100 <xsl:text>false</xsl:text>
1101 </xsl:otherwise>
1102 </xsl:choose>
1103 </xsl:variable>
1104 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1105 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1106 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1107 <xsl:element name="note">
1108 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1109 </xsl:element>
1110 </xsl:if>
1111 </xsl:if>
1112 </xsl:if>
1113 </xsl:template>
1114
1115 <xsl:template match="c:warning" mode="filter-bits-64">
1116 <xsl:variable name="ismultilib">
1117 <xsl:choose>
1118 <xsl:when test="contains($clfs.multilib, ',')">
1119 <xsl:text>true</xsl:text>
1120 </xsl:when>
1121 <xsl:otherwise>
1122 <xsl:text>false</xsl:text>
1123 </xsl:otherwise>
1124 </xsl:choose>
1125 </xsl:variable>
1126 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1127 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1128 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1129 <xsl:element name="warning">
1130 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1131 </xsl:element>
1132 </xsl:if>
1133 </xsl:if>
1134 </xsl:if>
1135 </xsl:template>
1136
1137 <xsl:template match="c:install/c:command" mode="filter-bits-64">
1138 <xsl:variable name="ismultilib">
1139 <xsl:choose>
1140 <xsl:when test="contains($clfs.multilib, ',')">
1141 <xsl:text>true</xsl:text>
1142 </xsl:when>
1143 <xsl:otherwise>
1144 <xsl:text>false</xsl:text>
1145 </xsl:otherwise>
1146 </xsl:choose>
1147 </xsl:variable>
1148 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1149 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1150 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1151 <xsl:element name="screen">
1152 <xsl:if test="@c:nodump = 'true'">
1153 <xsl:attribute name="role">
1154 <xsl:text>nodump</xsl:text>
1155 </xsl:attribute>
1156 </xsl:if>
1157 <xsl:element name="userinput">
1158 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1159 </xsl:element>
1160 </xsl:element>
1161 </xsl:if>
1162 </xsl:if>
1163 </xsl:if>
1164 </xsl:template>
1165
1166 <xsl:template match="c:literal" mode="filter-bits-64">
1167 <xsl:variable name="ismultilib">
1168 <xsl:choose>
1169 <xsl:when test="contains($clfs.multilib, ',')">
1170 <xsl:text>true</xsl:text>
1171 </xsl:when>
1172 <xsl:otherwise>
1173 <xsl:text>false</xsl:text>
1174 </xsl:otherwise>
1175 </xsl:choose>
1176 </xsl:variable>
1177 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1178 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1179 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1180 <xsl:element name="literal">
1181 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1182 </xsl:element>
1183 </xsl:if>
1184 </xsl:if>
1185 </xsl:if>
1186 </xsl:template>
1187
1188 <xsl:template match="c:replaceable" mode="filter-bits-64">
1189 <xsl:variable name="ismultilib">
1190 <xsl:choose>
1191 <xsl:when test="contains($clfs.multilib, ',')">
1192 <xsl:text>true</xsl:text>
1193 </xsl:when>
1194 <xsl:otherwise>
1195 <xsl:text>false</xsl:text>
1196 </xsl:otherwise>
1197 </xsl:choose>
1198 </xsl:variable>
1199 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1200 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1201 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1202 <xsl:element name="replaceable">
1203 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1204 </xsl:element>
1205 </xsl:if>
1206 </xsl:if>
1207 </xsl:if>
1208 </xsl:template>
1209
1210 <xsl:template match="c:application" mode="filter-bits-64">
1211 <xsl:variable name="ismultilib">
1212 <xsl:choose>
1213 <xsl:when test="contains($clfs.multilib, ',')">
1214 <xsl:text>true</xsl:text>
1215 </xsl:when>
1216 <xsl:otherwise>
1217 <xsl:text>false</xsl:text>
1218 </xsl:otherwise>
1219 </xsl:choose>
1220 </xsl:variable>
1221 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1222 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1223 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1224 <xsl:element name="application">
1225 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1226 </xsl:element>
1227 </xsl:if>
1228 </xsl:if>
1229 </xsl:if>
1230 </xsl:template>
1231
1232 <xsl:template match="c:dirname" mode="filter-bits-64">
1233 <xsl:variable name="ismultilib">
1234 <xsl:choose>
1235 <xsl:when test="contains($clfs.multilib, ',')">
1236 <xsl:text>true</xsl:text>
1237 </xsl:when>
1238 <xsl:otherwise>
1239 <xsl:text>false</xsl:text>
1240 </xsl:otherwise>
1241 </xsl:choose>
1242 </xsl:variable>
1243 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1244 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1245 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1246 <xsl:element name="filename">
1247 <xsl:attribute name="class">
1248 <xsl:text>directory</xsl:text>
1249 </xsl:attribute>
1250 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1251 </xsl:element>
1252 </xsl:if>
1253 </xsl:if>
1254 </xsl:if>
1255 </xsl:template>
1256
1257 <xsl:template match="c:filename" mode="filter-bits-64">
1258 <xsl:variable name="ismultilib">
1259 <xsl:choose>
1260 <xsl:when test="contains($clfs.multilib, ',')">
1261 <xsl:text>true</xsl:text>
1262 </xsl:when>
1263 <xsl:otherwise>
1264 <xsl:text>false</xsl:text>
1265 </xsl:otherwise>
1266 </xsl:choose>
1267 </xsl:variable>
1268 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1269 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1270 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1271 <xsl:element name="filename">
1272 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1273 </xsl:element>
1274 </xsl:if>
1275 </xsl:if>
1276 </xsl:if>
1277 </xsl:template>
1278
1279 <xsl:template match="c:command" mode="filter-bits-64">
1280 <xsl:variable name="ismultilib">
1281 <xsl:choose>
1282 <xsl:when test="contains($clfs.multilib, ',')">
1283 <xsl:text>true</xsl:text>
1284 </xsl:when>
1285 <xsl:otherwise>
1286 <xsl:text>false</xsl:text>
1287 </xsl:otherwise>
1288 </xsl:choose>
1289 </xsl:variable>
1290 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1291 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1292 <xsl:if test="(string-length(@c:bits) = 0) or contains(concat(',',@c:bits,','), ',64,')">
1293 <xsl:element name="command">
1294 <xsl:apply-templates select="node()" mode="filter-bits-64" />
1295 </xsl:element>
1296 </xsl:if>
1297 </xsl:if>
1298 </xsl:if>
1299 </xsl:template>
1300
1301 <xsl:template match="@c:arch" mode="filter-bits-64" />
1302 <xsl:template match="@c:bits" mode="filter-bits-64" />
1303 <xsl:template match="@c:multilib" mode="filter-bits-64" />
1304
1305 <!-- Templates for the Inline Elements outside of the build filter -->
1306
1307 <xsl:template match="c:literal">
1308 <xsl:element name="literal">
1309 <xsl:apply-templates select="node()" />
1310 </xsl:element>
1311 </xsl:template>
1312
1313 <xsl:template match="c:replaceable">
1314 <xsl:element name="replaceable">
1315 <xsl:apply-templates select="node()" />
1316 </xsl:element>
1317 </xsl:template>
1318
1319 <xsl:template match="c:application">
1320 <xsl:element name="application">
1321 <xsl:apply-templates select="node()" />
1322 </xsl:element>
1323 </xsl:template>
1324
1325 <xsl:template match="c:dirname">
1326 <xsl:element name="filename">
1327 <xsl:attribute name="class">
1328 <xsl:text>directory</xsl:text>
1329 </xsl:attribute>
1330 <xsl:apply-templates select="node()" />
1331 </xsl:element>
1332 </xsl:template>
1333
1334 <xsl:template match="c:filename">
1335 <xsl:element name="filename">
1336 <xsl:apply-templates select="node()" />
1337 </xsl:element>
1338 </xsl:template>
1339
1340 <xsl:template match="c:command">
1341 <xsl:element name="command">
1342 <xsl:apply-templates select="node()" />
1343 </xsl:element>
1344 </xsl:template>
1345
1346 <!-- Apply the profile filter to the entire document -->
1347 <xsl:template match="//*[@c:arch]|//*[@c:multilib]">
1348 <xsl:variable name="ismultilib">
1349 <xsl:choose>
1350 <xsl:when test="contains($clfs.multilib, ',')">
1351 <xsl:text>true</xsl:text>
1352 </xsl:when>
1353 <xsl:otherwise>
1354 <xsl:text>false</xsl:text>
1355 </xsl:otherwise>
1356 </xsl:choose>
1357 </xsl:variable>
1358 <xsl:if test="(string-length(@c:arch) = 0) or contains(concat(',',@c:arch,','), concat(',', $clfs.arch, ','))">
1359 <xsl:if test="(string-length(@c:multilib) = 0) or contains(concat(',',@c:multilib,','), concat(',', $ismultilib, ','))">
1360 <xsl:copy>
1361 <xsl:apply-templates select="@*|node()" />
1362 </xsl:copy>
1363 </xsl:if>
1364 </xsl:if>
1365 </xsl:template>
1366
1367 <!-- Remove the profileing attributes for the remaining objects -->
1368 <xsl:template match="@c:arch" />
1369 <xsl:template match="@c:bits" />
1370 <xsl:template match="@c:multilib" />
1371
1372</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.