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

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

Somehow I got the tags backwards for screen and userinput. After all this time, go figure. Correcting that now.

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