|
1 <!-- |
|
2 - Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 - All rights reserved. |
|
4 - This component and the accompanying materials are made available |
|
5 - under the terms of the License "Eclipse Public License v1.0" |
|
6 - which accompanies this distribution, and is available |
|
7 - at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 - |
|
9 - Initial Contributors: |
|
10 - Nokia Corporation - initial contribution. |
|
11 - |
|
12 - Contributors: |
|
13 - Maciej Seroka, maciejs@symbian.org |
|
14 - |
|
15 - Description: |
|
16 - |
|
17 --> |
|
18 <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
|
19 |
|
20 <xsl:param name="paramIssu" select="'All'" /> |
|
21 <xsl:param name="paramSort" select="'0'" /> |
|
22 <!-- |
|
23 <xsl:param name="paramShowOk" select="'0'" /> |
|
24 --> |
|
25 |
|
26 <xsl:variable name="show_API"> |
|
27 <xsl:choose> |
|
28 <xsl:when test="count(//api) > 0">1</xsl:when> |
|
29 <xsl:otherwise>0</xsl:otherwise> |
|
30 </xsl:choose> |
|
31 </xsl:variable> |
|
32 |
|
33 <xsl:variable name="sort1"> |
|
34 <xsl:if test="$paramSort = 1">api</xsl:if> |
|
35 <xsl:if test="$paramSort != 1">nonode</xsl:if> |
|
36 </xsl:variable> |
|
37 <xsl:variable name="sort2"> |
|
38 <xsl:if test="$paramSort = 2">api</xsl:if> |
|
39 <xsl:if test="$paramSort != 2">nonode</xsl:if> |
|
40 </xsl:variable> |
|
41 <xsl:variable name="sort0"> |
|
42 <xsl:choose> |
|
43 <xsl:when test="$paramSort = 0 and count(//shortname) > 0">shortname</xsl:when> |
|
44 <xsl:when test="$paramSort = 0 and count(//shortname) = 0">name</xsl:when> |
|
45 <xsl:otherwise test="$paramSort != 0">nonode</xsl:otherwise> |
|
46 </xsl:choose> |
|
47 </xsl:variable> |
|
48 <xsl:variable name="xslRepBlk"> |
|
49 <xsl:choose> |
|
50 <xsl:when test="$paramSort!=0">okRepBlock</xsl:when> |
|
51 <xsl:otherwise>repBlock</xsl:otherwise> |
|
52 </xsl:choose> |
|
53 </xsl:variable> |
|
54 |
|
55 <xsl:template match="/"> |
|
56 |
|
57 <HTML xmlns:msie="urn:default"> |
|
58 <msie:download id="dler" style="behavior:url(#default#download)"/> |
|
59 |
|
60 <xsl:variable name="reporttype"> |
|
61 <xsl:choose> |
|
62 <xsl:when test="count(bbcresults/issuelist/headerfile) > 0">HDR</xsl:when> |
|
63 <xsl:when test="count(bbcresults/issuelist/library) > 0">LIB</xsl:when> |
|
64 <xsl:otherwise>NON</xsl:otherwise> |
|
65 </xsl:choose> |
|
66 </xsl:variable> |
|
67 |
|
68 <HEAD> |
|
69 <TITLE>Binary Compatibility Open Issues :: |
|
70 <xsl:choose> |
|
71 <xsl:when test="$reporttype='HDR'">Headerfiles</xsl:when> |
|
72 <xsl:when test="$reporttype='LIB'">Libraries</xsl:when> |
|
73 <xsl:otherwise>Empty</xsl:otherwise> |
|
74 </xsl:choose> |
|
75 </TITLE> |
|
76 |
|
77 <script type="text/javascript"> |
|
78 |
|
79 var diffFileName = new Array(2); |
|
80 var diffFileContent = new Array(2); |
|
81 var diffFileIndex; |
|
82 var popup; |
|
83 var hasFailed = false; |
|
84 var diffTitle = ""; |
|
85 var diffFileName1; |
|
86 var diffFileName2; |
|
87 var repBlk = '<xsl:value-of select="$xslRepBlk"/>'; |
|
88 |
|
89 var hrefLoaction; |
|
90 hrefLoaction = window.location.href; |
|
91 |
|
92 function switchMenu(obj) { |
|
93 if (document.getElementById) |
|
94 { |
|
95 var el = document.getElementById(obj); |
|
96 if (el) |
|
97 { |
|
98 if ( el.style.display != "none" ) { |
|
99 el.style.display = 'none'; |
|
100 document.getElementById("cl").innerHTML = "View OK Issues"; |
|
101 } |
|
102 else { |
|
103 el.style.display = 'inline'; |
|
104 document.getElementById("cl").innerHTML = "Hide OK Issues"; |
|
105 } |
|
106 } |
|
107 } |
|
108 } |
|
109 function switchBacklink(obj) |
|
110 { |
|
111 if (document.getElementById) |
|
112 { |
|
113 var el = document.getElementById(obj); |
|
114 if (el) |
|
115 { |
|
116 el.style.display = 'none'; |
|
117 window.location.href = hrefLoaction; |
|
118 } |
|
119 } |
|
120 } |
|
121 |
|
122 |
|
123 function openPath( file ) |
|
124 { |
|
125 var thefile = file; |
|
126 thefile = file.replace( /\\/g, "/" ); |
|
127 if ( thefile != null ) |
|
128 { |
|
129 pos1=thefile.lastIndexOf('/'); |
|
130 thefile=thefile.substring(0,pos1); |
|
131 } |
|
132 if ( thefile != null ) |
|
133 window.location = "file://" + thefile; |
|
134 } |
|
135 |
|
136 function showFile( file1, file2 ) |
|
137 { |
|
138 var thefile = null; |
|
139 |
|
140 origbasedir = document.getElementById( "origbaselinedir" ).value.replace( /\\/g, "/" ).replace( /\*\.h/g, "" ).replace(/\/s*$/, ""); |
|
141 newbasedir = document.getElementById( "baselinedir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, ""); |
|
142 origcurrdir = document.getElementById( "origcurrentdir" ).value.replace( /\\/g, "/" ).replace(/\/s*$/, "");; |
|
143 newcurrdir = document.getElementById( "currentdir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, "");; |
|
144 |
|
145 if ( file1 != null ) |
|
146 thefile = file1.replace( origbasedir, newbasedir ); |
|
147 else if ( file2 != null ) |
|
148 thefile = file2.replace( origcurrdir, newcurrdir ); |
|
149 if ( thefile != null ) |
|
150 window.location = "file://" + thefile; |
|
151 } |
|
152 |
|
153 function showDiff( title, file1, file2 ) |
|
154 { |
|
155 |
|
156 diffTitle = "diff : " + title; |
|
157 origbasedir = document.getElementById( "origbaselinedir" ).value.replace( /\\/g, "/" ).replace( /\*\.h/g, "" ).replace(/\/s*$/, ""); |
|
158 newbasedir = document.getElementById( "baselinedir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, ""); |
|
159 origcurrdir = document.getElementById( "origcurrentdir" ).value.replace( /\\/g, "/" ).replace(/\/s*$/, "");; |
|
160 newcurrdir = document.getElementById( "currentdir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, "");; |
|
161 |
|
162 file1 = diffFileName1 = file1.replace( origbasedir, newbasedir ); |
|
163 file2 = diffFileName2 = file2.replace( origcurrdir, newcurrdir ); |
|
164 |
|
165 diffFileName[0] = file1; diffFileName[1] = file2; |
|
166 diffFileContent[0] = ""; diffFileContent[1] = ""; |
|
167 diffFileIndex = 0; |
|
168 if ( typeof(dler) != "undefined" && typeof(dler.startDownload) != "undefined" ) ieLoad( "" ); |
|
169 else ffLoad(); |
|
170 window.setTimeout( "loadFailed()", 1500 ); |
|
171 } |
|
172 |
|
173 function loadFailed() |
|
174 { |
|
175 if ( hasFailed ) return; |
|
176 else hasFailed = true; |
|
177 if ( diffFileContent[0] == "" ) alert( "Could not load file: " + diffFileName[0] ); |
|
178 else if ( diffFileContent[1] == "" ) alert( "Could not load file: " + diffFileName[1] ); |
|
179 } |
|
180 |
|
181 function ffLoad() |
|
182 { |
|
183 var req = new XMLHttpRequest(); |
|
184 req.onreadystatechange = function() { |
|
185 if (req.readyState == 4 ) { |
|
186 diffFileContent[diffFileIndex++] = req.responseText; |
|
187 if ( diffFileIndex == 1 ) ffLoad(); |
|
188 else diffFilesLoaded(); |
|
189 } |
|
190 }; |
|
191 req.open( "GET", "file:///" + diffFileName[diffFileIndex], true ); |
|
192 req.send( null ); |
|
193 } |
|
194 |
|
195 function ieLoad( text ) |
|
196 { |
|
197 if ( diffFileIndex > 0 ) { |
|
198 if ( text == "" ) { |
|
199 loadFailed(); |
|
200 return; |
|
201 } |
|
202 diffFileContent[diffFileIndex-1] = text; |
|
203 } |
|
204 ++diffFileIndex; |
|
205 if ( diffFileIndex <= 2 ) dler.startDownload( diffFileName[diffFileIndex-1], ieLoad ); |
|
206 else diffFilesLoaded(); |
|
207 } |
|
208 |
|
209 function setProgress( percentage ) |
|
210 { |
|
211 var prog1 = Math.max( 1, Math.round( percentage * 1.5 ) ); |
|
212 var prog2 = 150 - prog1; |
|
213 } |
|
214 function SetFocus(element) |
|
215 { |
|
216 window.scrollTo(0,0); |
|
217 var tmp=document.getElementById(element); |
|
218 if(tmp !=null) |
|
219 tmp.focus(); |
|
220 return true; |
|
221 } |
|
222 |
|
223 function diffFilesLoaded() |
|
224 { |
|
225 var w = window.screen.availWidth - 50; |
|
226 var h = window.screen.availHeight - 150; |
|
227 popup = window.open( "", "_self"); |
|
228 popup.document.title = diffTitle; |
|
229 popup.document.body.style.margin = 0; |
|
230 |
|
231 var oldcontent = diffFileContent[0]; |
|
232 var newcontent = diffFileContent[1]; |
|
233 |
|
234 var oldlines = oldcontent.replace(/\r/g, "").split("\n"); |
|
235 var newlines = newcontent.replace(/\r/g, "").split("\n"); |
|
236 |
|
237 res = diff( oldlines, newlines ); |
|
238 var matching = res.matching; |
|
239 var matchtype = res.matchtype; |
|
240 var output = "<table width='100%' cellspacing='0' cellpadding='1' border='0' style='font-family: Courier; font-size=1;'>"; |
|
241 |
|
242 var lastA = -1; |
|
243 var lastB = -1; |
|
244 for ( i = 0; i <= matching.length; i++ ) { |
|
245 if ( i == matching.length || matching[i] != -1 ) { |
|
246 // all lines ]lastA..i[ --> removed |
|
247 for ( j = lastA + 1; j < i; ++j ) { |
|
248 output += "<tr><td bgColor='#ff9080'>" + repfunc( oldlines[j] ) + "</td><td width='1' bgColor='black'></td>" + |
|
249 "<td bgColor='#e0e0e0'>" + repfunc( "" ) + "</td></tr>"; |
|
250 } |
|
251 |
|
252 // all lines ]lastB..matching[i][ --> inserted |
|
253 if ( i < matching.length ) |
|
254 untilB = matching[i]; |
|
255 else |
|
256 untilB = newlines.length; |
|
257 for ( j = lastB + 1; j < untilB; ++j ) { |
|
258 output += "<tr><td bgColor='#e0e0e0'>" + repfunc( "" ) + "</td><td width='1' bgColor='black'></td>" + |
|
259 "<td bgColor='#a0e0a0'>" + repfunc( newlines[j] ) + "</td></tr>"; |
|
260 } |
|
261 |
|
262 // matching line |
|
263 if ( i < matching.length ) { |
|
264 if ( matchtype[i] == 0 ) { |
|
265 output += "<tr><td>" + repfunc( oldlines[i] ) + "</td><td width='1' bgColor='black'></td>" + |
|
266 "<td>" + repfunc( newlines[matching[i]] ) + "</td></tr>"; |
|
267 } |
|
268 else { |
|
269 output += "<tr><td bgColor='#ffff80'>" + repfunc( oldlines[i] ) + "</td><td width='1' bgColor='black'></td>" + |
|
270 "<td bgColor='#ffff80'>" + repfunc( newlines[matching[i]] ) + "</td></tr>"; |
|
271 } |
|
272 lastA = i; |
|
273 lastB = matching[i]; |
|
274 } |
|
275 } |
|
276 } |
|
277 output += "</table>"; |
|
278 |
|
279 var backlink = document.getElementById("backlink"); |
|
280 if(backlink != null) |
|
281 backlink.innerHTML = "Close diff view"; |
|
282 |
|
283 var titleconent = document.getElementById("title"); |
|
284 if(titleconent != null) |
|
285 titleconent.innerHTML = "Viewing diff between " + diffFileName1 + " and " + diffFileName2; |
|
286 |
|
287 var diffconent = document.getElementById("diff"); |
|
288 if(diffconent != null) |
|
289 diffconent.innerHTML = output; |
|
290 |
|
291 var backlink1 = document.getElementById("backlink1"); |
|
292 if(backlink1 != null) |
|
293 backlink1.innerHTML = "Close diff view"; |
|
294 |
|
295 if(backlink != null) |
|
296 SetFocus(backlink); |
|
297 |
|
298 } |
|
299 |
|
300 function repfunc( str ) |
|
301 { |
|
302 if ( str.length > 70 ) |
|
303 str = str.substring(0,69) + "..." |
|
304 else if ( str.replace(/\s+/g,"").length == 0 ) |
|
305 str = "&nbsp;"; |
|
306 |
|
307 return "<nobr>" + str.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\s/g, "&nbsp;") + "</nobr>"; |
|
308 } |
|
309 |
|
310 function diff( o, n ) |
|
311 { |
|
312 var olen = o.length; |
|
313 var nlen = n.length; |
|
314 |
|
315 var crcTable = new Array( 256 ); |
|
316 for ( i = 0; i < 256; i++ ) { |
|
317 crc = i; |
|
318 for ( j = 8 ; j > 0; j-- ) { |
|
319 if ( crc & 1 ) crc = ( crc >>> 1 ) ^ 0xEDB88320; |
|
320 else crc >>>= 1; |
|
321 } |
|
322 crcTable[i] = crc; |
|
323 } |
|
324 |
|
325 var aHash = new Array( olen ); |
|
326 for ( i = 0; i < olen; ++i ) { |
|
327 str = o[i].replace(/^\s+/, "").replace(/\s+$/, ""); |
|
328 crc = 0xFFFFFFFF; |
|
329 for ( k = 0; k < str.length; ++k ) |
|
330 crc = crcTable[ ( crc & 0xff ) ^ str.charCodeAt(k) ] ^ ( crc >>> 8 ); |
|
331 aHash[i] = crc ^ 0xFFFFFFFF; |
|
332 } |
|
333 |
|
334 var bHash = new Array( nlen ); |
|
335 for ( i = 0; i < nlen; ++i ) { |
|
336 str = n[i].replace(/^\s+/, "").replace(/\s+$/, ""); |
|
337 crc = 0xFFFFFFFF; |
|
338 for ( k = 0; k < str.length; ++k ) |
|
339 crc = crcTable[ ( crc & 0xff ) ^ str.charCodeAt(k) ] ^ ( crc >>> 8 ); |
|
340 bHash[i] = crc ^ 0xFFFFFFFF; |
|
341 } |
|
342 |
|
343 matches = lcs( aHash, bHash, 0 ).matching; |
|
344 |
|
345 for ( i = 0; i < olen; ++i ) |
|
346 if ( matches[i] != -1 && o[i].replace(/^\s+/, "").replace(/\s+$/, "") != n[matches[i]].replace(/^\s+/, "").replace(/\s+$/, "") ) |
|
347 matches[i] = -1; |
|
348 |
|
349 matchtype = new Array ( olen ); |
|
350 for ( i = 0; i < olen; ++i ) |
|
351 matchtype[i] = 0; |
|
352 |
|
353 olast = -1; |
|
354 nlast = -1; |
|
355 for ( oline = 0; oline <= olen; ++oline ) { |
|
356 setProgress( 75 + ( oline + 1 ) * 25 / ( olen + 1 ) ); |
|
357 if ( oline == olen || matches[oline] != -1 ) { |
|
358 if ( oline < olen ) |
|
359 nline = matches[oline]; |
|
360 else |
|
361 nline = nlen; |
|
362 for ( ocurrent = olast + 1; ocurrent < oline; ++ocurrent ) { |
|
363 for ( ncurrent = nlast + 1; ncurrent < nline; ++ncurrent ) { |
|
364 str1 = o[ocurrent]; |
|
365 str2 = n[ncurrent]; |
|
366 if ( ( pos = str1.lastIndexOf( "//" ) ) != -1 ) str1 = str1.substring( 0, pos ); |
|
367 if ( ( pos = str2.lastIndexOf( "//" ) ) != -1 ) str2 = str2.substring( 0, pos ); |
|
368 str1 = str1.replace( /\s+/g, " " ); |
|
369 str2 = str2.replace( /\s+/g, " " ); |
|
370 if ( str1.length == 0 ) { |
|
371 if ( str2.replace(/\s/g, "").length == 0 ) |
|
372 break; |
|
373 else |
|
374 continue; |
|
375 } |
|
376 else if ( str2.length == 0 ) { |
|
377 if ( str1.replace( /\s/g, "" ).length == 0 ) |
|
378 break; |
|
379 else |
|
380 continue; |
|
381 } |
|
382 if ( str1.length < str2.length / 3 || str2.length < str1.length / 3 ) |
|
383 continue; |
|
384 matchlen = lcs( str1, str2, 1 ).length; |
|
385 if ( matchlen >= str1.length * 4 / 5 || matchlen >= str2.length * 4 / 5 ) |
|
386 break; |
|
387 } |
|
388 if ( ncurrent < nline ) { |
|
389 matches[ocurrent] = ncurrent; |
|
390 matchtype[ocurrent] = 1; |
|
391 nlast = ncurrent; |
|
392 } |
|
393 } |
|
394 if ( oline < olen ) { |
|
395 olast = oline; |
|
396 nlast = nline; |
|
397 matchtype[oline] = 0; |
|
398 } |
|
399 } |
|
400 } |
|
401 |
|
402 return { matching: matches, matchtype: matchtype }; |
|
403 } |
|
404 |
|
405 function lcs( A, B, valueType ) |
|
406 { |
|
407 m = A.length; |
|
408 n = B.length; |
|
409 |
|
410 V = new Array( n ); |
|
411 if ( valueType == 0 ) { |
|
412 for ( i = 0; i < n; ++i ) |
|
413 V[i] = { pos: i, value: B[i] }; |
|
414 } |
|
415 else { |
|
416 for ( i = 0; i < n; ++i ) |
|
417 V[i] = { pos: i, value: B.charCodeAt(i) }; |
|
418 } |
|
419 V.sort( sortByValue ); |
|
420 |
|
421 E = new Array( n + 1 ); |
|
422 E[0] = { pos: -1, last: true}; |
|
423 for ( i = 0; i < n; ++i ) |
|
424 E[i+1] = { pos: V[i].pos, last: ( i == n-1 || V[i].value != V[i+1].value ) }; |
|
425 |
|
426 P = new Array( m ); |
|
427 for ( i = 0; i < m; ++i ) { |
|
428 var idx; |
|
429 var val = ( valueType == 0 ? A[i] : A.charCodeAt(i) ); |
|
430 for ( min = 0, max = n-1, idx = ( n - 1 ) >> 1; true; idx = ( min + max ) >> 1 ) { |
|
431 if ( val < V[idx].value ) |
|
432 max = idx - 1; |
|
433 else if ( val > V[idx].value ) |
|
434 min = idx + 1; |
|
435 else if ( !E[idx].last ) |
|
436 max = idx - 1; |
|
437 else |
|
438 break; |
|
439 if ( min > max ) |
|
440 break; |
|
441 } |
|
442 if ( val == V[idx].value && E[idx].last ) |
|
443 P[i] = idx; |
|
444 else |
|
445 P[i] = -1; |
|
446 } |
|
447 |
|
448 K = new Array( Math.min( m, n ) + 2 ); |
|
449 K[0] = new candidate( -1, -1, null ); |
|
450 K[1] = new candidate( m, n, null ); |
|
451 k = 0; |
|
452 for ( i = 0; i < m; ++i ) { |
|
453 if ( valueType == 0 ) |
|
454 setProgress( ( i + 1 ) * 75 / ( m + 1 ) ); |
|
455 if ( P[i] != -1 ) { |
|
456 r = 0; |
|
457 c = K[0]; |
|
458 p = P[i] + 1; |
|
459 var s; |
|
460 |
|
461 while ( true ) { |
|
462 j = E[p].pos; |
|
463 for ( min = r, max = k, s = ( r + k ) >> 1; true; s = ( min + max ) >> 1 ) { |
|
464 if ( j < K[s].b ) |
|
465 max = s - 1; |
|
466 else if ( j > K[s + 1].b ) |
|
467 min = s + 1; |
|
468 else |
|
469 break; |
|
470 if ( min > max ) |
|
471 break; |
|
472 } |
|
473 |
|
474 if ( j > K[s].b && j < K[s + 1].b ) { |
|
475 temp = new candidate( i, j, K[s] ); |
|
476 K[r] = c; |
|
477 c = temp; |
|
478 r = s + 1; |
|
479 if ( s == k ) { |
|
480 K[k + 2] = K[k + 1]; |
|
481 ++k; |
|
482 break; |
|
483 } |
|
484 } |
|
485 |
|
486 if ( E[p].last ) |
|
487 break; |
|
488 ++p; |
|
489 } |
|
490 |
|
491 K[r] = c; |
|
492 } |
|
493 } |
|
494 |
|
495 J = new Array( m ); |
|
496 len = 0; |
|
497 for ( i = 0; i < m; ++i ) |
|
498 J[i] = -1; |
|
499 for ( c = K[k]; c.a != -1; c = c.previous, ++len ) { |
|
500 J[c.a] = c.b; |
|
501 } |
|
502 |
|
503 return { matching: J, length: len }; |
|
504 } |
|
505 |
|
506 function candidate( a, b, previous ) |
|
507 { |
|
508 this.a = a; |
|
509 this.b = b; |
|
510 this.previous = previous; |
|
511 } |
|
512 |
|
513 function sortByValue( a, b ) |
|
514 { |
|
515 ret = a.value - b.value; |
|
516 return ( ret != 0 ? ret : a.pos - b.pos ); |
|
517 } |
|
518 |
|
519 function pw() {return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth} |
|
520 function mouseX(evt) {return evt.clientX ? evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) : evt.pageX;} |
|
521 function mouseY(evt) {return evt.clientY ? evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) : evt.pageY} |
|
522 function popUp(evt,oi) |
|
523 { |
|
524 if (document.getElementById) |
|
525 { |
|
526 var wp = pw(); |
|
527 dm = document.getElementById(oi); |
|
528 ds = dm.style; st = ds.visibility; |
|
529 if (dm.offsetWidth) |
|
530 ew = dm.offsetWidth; |
|
531 else if (dm.clip.width) |
|
532 ew = dm.clip.width; |
|
533 if (st == "visible" || st == "show") |
|
534 { |
|
535 ds.visibility = "hidden"; |
|
536 } |
|
537 else |
|
538 { |
|
539 tv = mouseY(evt) - 40; |
|
540 lv = mouseX(evt) + (ew/8); |
|
541 if (2 > lv) |
|
542 lv = 2; |
|
543 else if (lv + ew > wp) lv -= ew/2; |
|
544 lv += 'px'; |
|
545 tv += 'px'; |
|
546 ds.left = lv; |
|
547 ds.top = tv; |
|
548 ds.visibility = "visible"; |
|
549 } |
|
550 } |
|
551 } |
|
552 |
|
553 function getIssueTableIdx( aRepBlock ) |
|
554 { |
|
555 var len = aRepBlock.getElementsByTagName("table").length; |
|
556 if( len > 0 ) { |
|
557 var aTable = aRepBlock.getElementsByTagName("table"); |
|
558 for( i = 0; i < len; i++) { |
|
559 if( aTable[i].id == "issueTable" ) { |
|
560 return i; |
|
561 } |
|
562 } |
|
563 } |
|
564 return -1; |
|
565 } |
|
566 |
|
567 function getSeverityColIdx(aVal, tdNodes) |
|
568 { |
|
569 if( tdNodes.length > 0 ) |
|
570 { |
|
571 for( i = 0 ; i < tdNodes.length; i++ ) { |
|
572 if( tdNodes[i].id == aVal ) { |
|
573 return i; |
|
574 } |
|
575 } |
|
576 } |
|
577 return -1; |
|
578 } |
|
579 |
|
580 function showAllIssues( aRepBlock, n, tableIdx, x, y) |
|
581 { |
|
582 for( i = 0; i < n; i++ ) { |
|
583 // getting row that displays information |
|
584 aTr = aRepBlock[i].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr"); |
|
585 nTr = aTr.length; |
|
586 |
|
587 for( j = 0; j < nTr ; j++ ) { |
|
588 aTr[j].style.display = ""; //unhide row |
|
589 aTr[j].childNodes[x].style.display = ""; //unhide BC column |
|
590 aTr[j].childNodes[y].style.display = ""; //unhide SC column |
|
591 } |
|
592 aRepBlock[i].style.display = ""; //unhide Report Block |
|
593 } |
|
594 return true; |
|
595 } |
|
596 |
|
597 function hideIssues(aRepBlock, n, tableIdx, x, y) |
|
598 { |
|
599 var rtn = false; |
|
600 for( i = 0; i < n; i++ ) { |
|
601 // getting row that displays information |
|
602 aTr = aRepBlock[i].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr"); |
|
603 nTr = aTr.length; |
|
604 |
|
605 // hiding header row |
|
606 aTr[0].childNodes[x].style.display = ""; |
|
607 aTr[0].childNodes[y].style.display = "none"; |
|
608 |
|
609 hideBlock = 1; // flag for hiding the report block |
|
610 |
|
611 for( j = 1; j < nTr; j++ ) { |
|
612 // hiding row if "None" |
|
613 if( aTr[j].childNodes[x].innerHTML == "None" ) { |
|
614 aTr[j].style.display = "none"; |
|
615 } |
|
616 else { |
|
617 // else hiding column only |
|
618 aTr[j].childNodes[x].style.display = ""; |
|
619 aTr[j].childNodes[y].style.display = "none"; |
|
620 aTr[j].style.display = ""; // unhiding row if it was hidden |
|
621 hideBlock = 0; |
|
622 } |
|
623 } |
|
624 |
|
625 if( hideBlock == 1 ) { |
|
626 aRepBlock[i].style.display = "none"; // hiding entire "Report Block" |
|
627 } |
|
628 else { |
|
629 aRepBlock[i].style.display = ""; // unhiding entire "Report Block" |
|
630 rtn = true; |
|
631 } |
|
632 } |
|
633 return rtn; |
|
634 } |
|
635 |
|
636 function isGrpNull(aNode) { |
|
637 if( aNode.firstChild.firstChild.firstChild.innerHTML == null ) { |
|
638 return true; |
|
639 } |
|
640 return false; |
|
641 } |
|
642 |
|
643 function isExpand(aNode) |
|
644 { |
|
645 if (aNode.firstChild.firstChild.firstChild.innerHTML.charAt(0) == "-") { |
|
646 return true; |
|
647 } |
|
648 return false; |
|
649 } |
|
650 |
|
651 function showGrp (aNode,bVal) |
|
652 { |
|
653 if (bVal) { |
|
654 if (!isGrpNull(aNode) && isExpand(aNode)) { |
|
655 aNode.nextSibling.style.display = ""; |
|
656 } |
|
657 aNode.style.display = ""; |
|
658 } |
|
659 else { |
|
660 aNode.style.display = "none"; |
|
661 aNode.nextSibling.style.display = "none"; |
|
662 } |
|
663 } |
|
664 |
|
665 function selectIssue2 (aRepBlock, aVal) { |
|
666 if(aRepBlock ) { |
|
667 if( aRepBlock.length > 0 ) { |
|
668 |
|
669 tableIdx = getIssueTableIdx(aRepBlock[0]); |
|
670 if( tableIdx == -1 ) { |
|
671 alert("Error: Table of issue details not found.\nPossibly change in HTML!"); |
|
672 return true; |
|
673 } |
|
674 |
|
675 // these values are set considering BC Break as default |
|
676 var bc = getSeverityColIdx("BCSeverity", aRepBlock[0].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr")[0].childNodes), |
|
677 sc = getSeverityColIdx("SCSeverity", aRepBlock[0].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr")[0].childNodes); |
|
678 |
|
679 if( bc == -1 || sc == -1 ) { |
|
680 alert("Error: BC/SC Severity column not found.\nPossibly change in HTML!"); |
|
681 return true; |
|
682 } |
|
683 |
|
684 if ( aVal == "All" ) { |
|
685 // if user selects All, show everything |
|
686 return showAllIssues( aRepBlock, aRepBlock.length, tableIdx, bc, sc ); |
|
687 } |
|
688 else { |
|
689 // code if user selects BC or SC |
|
690 |
|
691 if ( aVal == "SC Break" ) { |
|
692 return hideIssues(aRepBlock, aRepBlock.length, tableIdx, sc, bc); // changing rows id if its a SC Break |
|
693 } |
|
694 else { |
|
695 return hideIssues(aRepBlock, aRepBlock.length, tableIdx, bc, sc); |
|
696 } |
|
697 } |
|
698 } |
|
699 } |
|
700 } |
|
701 |
|
702 function selectIssue( aVal ) { |
|
703 <xsl:if test="$paramSort=3"> |
|
704 if(aVal == 'BC Break') |
|
705 { |
|
706 var grps = document.getElementsByName("issBC"); |
|
707 var len = grps.length; |
|
708 for ( var i = 0; i < len; i++ ) { |
|
709 showGrp(grps[i], true); |
|
710 } |
|
711 grps = document.getElementsByName("issSC"); |
|
712 len = grps.length; |
|
713 for ( var i = 0; i < len; i++ ) { |
|
714 showGrp(grps[i], false); |
|
715 } |
|
716 } |
|
717 else if(aVal == 'SC Break') |
|
718 { |
|
719 var grps = document.getElementsByName("issBC"); |
|
720 var len = grps.length; |
|
721 for ( var i = 0; i < len; i++ ) { |
|
722 showGrp(grps[i], false); |
|
723 } |
|
724 grps = document.getElementsByName("issSC"); |
|
725 len = grps.length; |
|
726 for ( var i = 0; i < len; i++ ) { |
|
727 showGrp(grps[i], true); |
|
728 } |
|
729 } |
|
730 else |
|
731 { |
|
732 var grps = document.getElementsByName("issBC"); |
|
733 var len = grps.length; |
|
734 for ( var i = 0; i < len; i++ ) { |
|
735 showGrp(grps[i], true); |
|
736 } |
|
737 grps = document.getElementsByName("issSC"); |
|
738 len = grps.length; |
|
739 for ( var i = 0; i < len; i++ ) { |
|
740 showGrp(grps[i], true); |
|
741 } |
|
742 } |
|
743 chkExpandAnc(); |
|
744 </xsl:if> |
|
745 <xsl:if test="$paramSort=1 or $paramSort=2"> |
|
746 var grps = document.getElementsByName("issGrp"); |
|
747 for (var i = 0; i < grps.length; i++) { |
|
748 var divs = grps[i].nextSibling.firstChild.childNodes; |
|
749 if (selectIssue2(divs, aVal)) { |
|
750 grps[i].style.display = ""; |
|
751 } |
|
752 else { |
|
753 grps[i].style.display = "none"; |
|
754 } |
|
755 } |
|
756 chkExpandAnc(); |
|
757 </xsl:if> |
|
758 |
|
759 // get "Report Blocks" in array |
|
760 aRepBlock = document.getElementsByName(repBlk); |
|
761 selectIssue2 (aRepBlock, aVal); |
|
762 } |
|
763 |
|
764 function isAllExpand(grpV) { |
|
765 var grps = document.getElementsByName(grpV); |
|
766 for( var i = 0; i < grps.length; i++ ) { |
|
767 if ( !isGrpNull(grps[i]) && !isExpand(grps[i])) { |
|
768 return false; |
|
769 } |
|
770 } |
|
771 return true; |
|
772 } |
|
773 |
|
774 function expandGrp(aBool,grpV) { |
|
775 |
|
776 var grps = document.getElementsByName(grpV); |
|
777 for( var i = 0; i < grps.length; i++ ) { |
|
778 if ( !isGrpNull(grps[i]) && (aBool && !isExpand(grps[i]) || !aBool && isExpand(grps[i]))) { |
|
779 toggleIWView2(grpV+(i+1)); |
|
780 } |
|
781 } |
|
782 } |
|
783 |
|
784 function setExpandAnc(cn) { |
|
785 if (cn) { |
|
786 document.getElementById("expandAnc").innerHTML = "Expand All"; |
|
787 } else { |
|
788 document.getElementById("expandAnc").innerHTML = "Collapse All"; |
|
789 } |
|
790 } |
|
791 |
|
792 function toggleExpand() |
|
793 { |
|
794 var cn = document.getElementById("expandAnc").innerHTML == "Expand All"; |
|
795 |
|
796 <xsl:if test="$paramSort=3"> |
|
797 if (document.getElementById("issueDropD").value != "SC Break") { |
|
798 expandGrp(cn,"issBC"); |
|
799 } |
|
800 if (document.getElementById("issueDropD").value != "BC Break") { |
|
801 expandGrp(cn,"issSC"); |
|
802 } |
|
803 </xsl:if> |
|
804 <xsl:if test="$paramSort!=3"> |
|
805 expandGrp(cn,"issGrp"); |
|
806 </xsl:if> |
|
807 |
|
808 setExpandAnc(!cn); |
|
809 } |
|
810 |
|
811 function toggleIWView2(aVal) |
|
812 { |
|
813 if( document.getElementById(aVal+"dtl").style.display == "none" ) { |
|
814 document.getElementById(aVal).innerHTML = "- "+document.getElementById(aVal).innerHTML.substring(2); |
|
815 document.getElementById(aVal+"dtl").style.display = ""; |
|
816 } |
|
817 else { |
|
818 document.getElementById(aVal).innerHTML = "+ "+document.getElementById(aVal).innerHTML.substring(2); |
|
819 document.getElementById(aVal+"dtl").style.display = "none"; |
|
820 } |
|
821 } |
|
822 |
|
823 function chkExpandAnc() { |
|
824 <xsl:if test="$paramSort=3"> |
|
825 var cn = false; |
|
826 if (document.getElementById("issueDropD").value != "SC Break") { |
|
827 cn = !isAllExpand("issBC"); |
|
828 } |
|
829 if (document.getElementById("issueDropD").value != "BC Break") { |
|
830 if (!cn) { |
|
831 cn = !isAllExpand("issSC"); |
|
832 } |
|
833 } |
|
834 </xsl:if> |
|
835 <xsl:if test="$paramSort!=3"> |
|
836 var cn = !isAllExpand("issGrp"); |
|
837 </xsl:if> |
|
838 setExpandAnc(cn); |
|
839 } |
|
840 |
|
841 function toggleIWView(aVal) |
|
842 { |
|
843 |
|
844 toggleIWView2(aVal); |
|
845 chkExpandAnc(); |
|
846 } |
|
847 |
|
848 function changeSort() |
|
849 { |
|
850 loadXML(); |
|
851 } |
|
852 |
|
853 function loadXML() { |
|
854 |
|
855 if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x; |
|
856 |
|
857 var objXSLT = new ActiveXObject("MSXML2.FreeThreadedDomDocument"); |
|
858 objXSLT.async = false; |
|
859 objXSLT.load("BBCResults.xsl"); |
|
860 |
|
861 var objCompiled = new ActiveXObject("MSXML2.XSLTemplate"); |
|
862 objCompiled.stylesheet = objXSLT.documentElement; |
|
863 |
|
864 var objXSLProc = objCompiled.createProcessor(); |
|
865 |
|
866 var objXML = new ActiveXObject("MSXML2.FreeThreadedDomDocument"); |
|
867 objXML.async = false; |
|
868 objXML.load(document.URL); |
|
869 |
|
870 objXSLProc.input = objXML; |
|
871 |
|
872 eval(objXSLProc.addParameter("paramSort", document.getElementById("sortDropD").value)); |
|
873 <!-- |
|
874 eval(objXSLProc.addParameter("paramIssu",document.getElementById("issueDropD").value)); |
|
875 if( document.getElementById('sd').style.display != "none" ) { |
|
876 eval(objXSLProc.addParameter("paramShowOk", "1")); |
|
877 } |
|
878 --> |
|
879 |
|
880 objXSLProc.transform(); |
|
881 |
|
882 document.write(objXSLProc.output); |
|
883 document.close(); |
|
884 } |
|
885 else if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox |
|
886 var oXmlDom = document.implementation.createDocument("", "", null); |
|
887 oXmlDom.async = false; |
|
888 var oXslDom = document.implementation.createDocument("", "", null); |
|
889 oXslDom.async = false; |
|
890 |
|
891 oXmlDom.load(document.URL); |
|
892 oXslDom.load("BBCResults.xsl"); |
|
893 |
|
894 var oProcessor = new XSLTProcessor() |
|
895 oProcessor.importStylesheet(oXslDom); |
|
896 |
|
897 oProcessor.setParameter(null, "paramSort", document.getElementById("sortDropD").value); |
|
898 <!-- |
|
899 oProcessor.setParameter(null, "paramIssu",document.getElementById("issueDropD").value); |
|
900 if( document.getElementById('sd').style.display != "none" ) { |
|
901 oProcessor.setParameter(null, "paramShowOk", "1"); |
|
902 } |
|
903 --> |
|
904 |
|
905 var oResultDom = oProcessor.transformToDocument(oXmlDom); |
|
906 |
|
907 var serializer = new XMLSerializer(); |
|
908 var xml = serializer.serializeToString(oResultDom); |
|
909 |
|
910 document.write(xml.replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&amp;/g,"&")); |
|
911 document.close(); |
|
912 } |
|
913 else { |
|
914 alert("Un supported browser"); |
|
915 } |
|
916 } |
|
917 |
|
918 function init() |
|
919 { |
|
920 document.getElementById("sortDropD").value = "<xsl:value-of select='$paramSort' />"; |
|
921 document.getElementById("issueDropD").value = "<xsl:value-of select='$paramIssu' />"; |
|
922 |
|
923 if( document.getElementById("issueDropD").value != 'All' ) { |
|
924 selectIssue( document.getElementById("issueDropD").value ); |
|
925 } |
|
926 <!-- |
|
927 <xsl:if test="$paramShowOk = 1">switchMenu('sd');</xsl:if> |
|
928 --> |
|
929 } |
|
930 </script> |
|
931 |
|
932 <style type="text/css"> |
|
933 div.tip {font:12px/14px |
|
934 Arial,Helvetica,sans-serif; border:solid 1px |
|
935 #666666; width:270px; padding:1px; |
|
936 position:absolute; z-index:100; |
|
937 visibility:hidden; color:#333333; top:20px; |
|
938 left:90px; background-color:#ffffcc; |
|
939 layer-background-color:#ffffcc;} |
|
940 </style> |
|
941 </HEAD> |
|
942 |
|
943 <BODY bgColor="#f8f8f8" onLoad="init();"> |
|
944 <font size="4"><a id ="backlink" onclick="switchBacklink('dl');" href=""></a></font><BR/> |
|
945 <ul id="dl" style="display:none"> |
|
946 <a name="back"></a> |
|
947 </ul> |
|
948 |
|
949 <font size="4"><a id ="title"></a></font> |
|
950 <ul id="dl" style="display:none"> |
|
951 <a name="title"></a> |
|
952 </ul> |
|
953 |
|
954 <font size="2"><a id ="diff"></a></font> |
|
955 <ul id="dl" style="display:none"> |
|
956 <a name="diff"></a> |
|
957 </ul> |
|
958 |
|
959 <font size="4"><a id ="backlink1" onclick="switchBacklink('dl');" href=""></a></font><BR/> |
|
960 <ul id="dl" style="display:none"> |
|
961 <a name="back"></a> |
|
962 </ul> |
|
963 |
|
964 <font size="5">Binary Compatibility Open Issues</font><HR/> |
|
965 <xsl:if test="$reporttype!='NON'"> |
|
966 <table border="0" width="100%"><tr><td> |
|
967 <table border="0"> |
|
968 <tr><td><b>Sort by</b></td> |
|
969 <td> |
|
970 <select id="sortDropD" onchange="changeSort()"> |
|
971 <option value="0"> |
|
972 <xsl:choose> |
|
973 <xsl:when test="$reporttype='HDR'">Header Names</xsl:when> |
|
974 <xsl:otherwise>Library Names</xsl:otherwise> |
|
975 </xsl:choose></option> |
|
976 <xsl:if test="$show_API = 1"> |
|
977 <option value="1">API Name</option> |
|
978 <option value="2">Category Name</option> |
|
979 </xsl:if> |
|
980 <option value="3">Issue Severity</option> |
|
981 </select> |
|
982 </td></tr> |
|
983 <tr><td><b>Issue Type</b></td> |
|
984 <td><select id="issueDropD" onchange="selectIssue(this.value)"> |
|
985 <option value="All">All</option> |
|
986 <option value="BC Break">BC Break</option> |
|
987 <option value="SC Break">SC Break</option> |
|
988 </select> |
|
989 </td></tr> |
|
990 </table> |
|
991 </td><td align="right" valign="bottom"> |
|
992 <xsl:attribute name="style">display:<xsl:if test="$paramSort=0">none</xsl:if></xsl:attribute> |
|
993 <font size="3"><a id="expandAnc" onclick="toggleExpand();return false;" href="#expandAnc">Expand All</a></font> |
|
994 </td></tr> |
|
995 </table> |
|
996 <HR/> |
|
997 <br/> |
|
998 </xsl:if> |
|
999 <xsl:if test="$reporttype='NON'"> |
|
1000 <i>There are no issues.</i> |
|
1001 </xsl:if> |
|
1002 <xsl:choose> |
|
1003 <xsl:when test="$paramSort=0"> |
|
1004 |
|
1005 <xsl:if test="$reporttype='LIB'"> |
|
1006 <xsl:if test="count(bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]]) = 0"> |
|
1007 <i>There are no issues.</i><BR/> |
|
1008 </xsl:if> |
|
1009 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]]"> |
|
1010 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1011 <xsl:call-template name="LIBNotOK" /> |
|
1012 </xsl:for-each> |
|
1013 </xsl:if> |
|
1014 <xsl:if test="$reporttype='HDR'"> |
|
1015 <xsl:if test="count(bbcresults/issuelist/headerfile[status!='OK']) = 0"> |
|
1016 <i>There are no issues.</i><BR/> |
|
1017 </xsl:if> |
|
1018 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK']"> |
|
1019 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1020 <xsl:call-template name="HDRNotOK" /> |
|
1021 </xsl:for-each> |
|
1022 </xsl:if> |
|
1023 |
|
1024 </xsl:when> |
|
1025 <xsl:when test="$paramSort=1 or $paramSort=2"> |
|
1026 |
|
1027 <xsl:if test="$reporttype='LIB'"> |
|
1028 <xsl:choose> |
|
1029 <xsl:when test="count(bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]]) = 0"> |
|
1030 <i>There are no issues.</i><BR/> |
|
1031 </xsl:when> |
|
1032 <xsl:otherwise> |
|
1033 |
|
1034 <table width="100%"> |
|
1035 |
|
1036 <xsl:for-each select="//library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14] and (($paramSort=1 and not(api/@name=preceding::api/@name)) or ($paramSort=2 and not(api/@category=preceding::api/@category)))]"> |
|
1037 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1038 <xsl:variable name="lbl"> |
|
1039 <xsl:if test="$paramSort=1"><xsl:value-of select="api/@name"/></xsl:if> |
|
1040 <xsl:if test="$paramSort=2"><xsl:value-of select="api/@category"/></xsl:if> </xsl:variable> |
|
1041 <xsl:variable name="grId">issGrp<xsl:value-of select="position()" /></xsl:variable> |
|
1042 |
|
1043 <tr name="issGrp" id="issGrp"><td><font size="4"> <a><xsl:attribute name="onclick">toggleIWView('<xsl:value-of select="$grId"/>');return false;</xsl:attribute> |
|
1044 <xsl:attribute name="id"><xsl:value-of select="$grId"/></xsl:attribute> |
|
1045 <xsl:attribute name="href">#<xsl:value-of select="$grId"/></xsl:attribute>+ <xsl:value-of select="$lbl"/></a></font></td></tr> |
|
1046 <tr style="display:none"><xsl:attribute name="id"><xsl:value-of select="$grId"/>dtl</xsl:attribute> <td> |
|
1047 <xsl:for-each select="//library[(issue[(count(status) = 0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]) and (($paramSort=1 and api/@name=$lbl) or ($paramSort=2 and api/@category=$lbl))]"> |
|
1048 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1049 <xsl:call-template name="LIBNotOK"> |
|
1050 <xsl:with-param name="issBCSC" select="'3'" /> |
|
1051 </xsl:call-template> |
|
1052 </xsl:for-each> |
|
1053 </td></tr> |
|
1054 |
|
1055 </xsl:for-each> |
|
1056 |
|
1057 </table> |
|
1058 |
|
1059 </xsl:otherwise> |
|
1060 </xsl:choose> |
|
1061 </xsl:if> |
|
1062 |
|
1063 <xsl:if test="$reporttype='HDR'"> |
|
1064 <xsl:choose> |
|
1065 <xsl:when test="count(bbcresults/issuelist/headerfile[status!='OK']) = 0"> |
|
1066 <i>There are no issues.</i><BR/> |
|
1067 </xsl:when> |
|
1068 <xsl:otherwise> |
|
1069 |
|
1070 <table width="100%"> |
|
1071 |
|
1072 <xsl:for-each select="//headerfile[status!='OK' and (($paramSort=1 and not(api/@name=preceding::api/@name)) or ($paramSort=2 and not(api/@category=preceding::api/@category)))]"> |
|
1073 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1074 <xsl:variable name="lbl"> |
|
1075 <xsl:if test="$paramSort=1"><xsl:value-of select="api/@name"/></xsl:if> |
|
1076 <xsl:if test="$paramSort=2"><xsl:value-of select="api/@category"/></xsl:if> </xsl:variable> |
|
1077 <xsl:variable name="grId">issGrp<xsl:value-of select="position()" /></xsl:variable> |
|
1078 |
|
1079 <tr name="issGrp" id="issGrp"><td><font size="4"> <a><xsl:attribute name="onclick">toggleIWView('<xsl:value-of select="$grId"/>');return false;</xsl:attribute> |
|
1080 <xsl:attribute name="id"><xsl:value-of select="$grId"/></xsl:attribute> |
|
1081 <xsl:attribute name="href">#<xsl:value-of select="$grId"/></xsl:attribute>+ <xsl:value-of select="$lbl"/></a></font></td></tr> |
|
1082 <tr style="display:none"><xsl:attribute name="id"><xsl:value-of select="$grId"/>dtl</xsl:attribute> <td> |
|
1083 <xsl:for-each select="//headerfile[status!='OK' and (($paramSort=1 and api/@name=$lbl) or ($paramSort=2 and api/@category=$lbl))]"> |
|
1084 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1085 <xsl:call-template name="HDRNotOK" /> |
|
1086 </xsl:for-each> |
|
1087 </td></tr> |
|
1088 |
|
1089 </xsl:for-each> |
|
1090 |
|
1091 </table> |
|
1092 |
|
1093 </xsl:otherwise> |
|
1094 </xsl:choose> |
|
1095 </xsl:if> |
|
1096 </xsl:when> |
|
1097 |
|
1098 <xsl:when test="$paramSort=3"> |
|
1099 |
|
1100 <xsl:if test="$reporttype='LIB'"> |
|
1101 <xsl:choose> |
|
1102 <xsl:when test="count(bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2]]) = 0"> |
|
1103 <i>There are no issues.</i><BR/> |
|
1104 </xsl:when> |
|
1105 <xsl:otherwise> |
|
1106 |
|
1107 <table width="100%"> |
|
1108 |
|
1109 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC1');return false;" id="issBC1" href="#issBC1">+ BBC Break</a></font></td></tr> |
|
1110 <tr id="issBC1dtl" style="display:none"><td> |
|
1111 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='BBC Break']]"> |
|
1112 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1113 <xsl:call-template name="LIBNotOK" > |
|
1114 <xsl:with-param name="issTyp" select="'BBC Break'" /> |
|
1115 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1116 </xsl:call-template> |
|
1117 </xsl:for-each> |
|
1118 </td></tr> |
|
1119 |
|
1120 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC2');return false;" id="issBC2" href="#issBC2">+ FC Break</a></font></td></tr> |
|
1121 <tr id="issBC2dtl" style="display:none"><td> |
|
1122 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='FC Break']]"> |
|
1123 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1124 <xsl:call-template name="LIBNotOK" > |
|
1125 <xsl:with-param name="issTyp" select="'FC Break'" /> |
|
1126 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1127 </xsl:call-template> |
|
1128 </xsl:for-each> |
|
1129 </td></tr> |
|
1130 |
|
1131 <tr name="issSC" id="issSC"><td><font size="4"><a onclick="toggleIWView('issSC1');return false;" id="issSC1" href="#issSC1">+ SC Break</a></font></td></tr> |
|
1132 <tr id="issSC1dtl" style="display:none"><td> |
|
1133 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and sc_severity='SC Break']]"> |
|
1134 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1135 <xsl:call-template name="LIBNotOK" > |
|
1136 <xsl:with-param name="issTyp" select="'SC Break'" /> |
|
1137 <xsl:with-param name="issBCSC" select="'2'" /> |
|
1138 </xsl:call-template> |
|
1139 </xsl:for-each> |
|
1140 </td></tr> |
|
1141 |
|
1142 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC3');return false;" id="issBC3" href="#issBC3">+ Possible BBC Break</a></font></td></tr> |
|
1143 <tr id="issBC3dtl" style="display:none"><td> |
|
1144 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='Possible BBC Break']]"> |
|
1145 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1146 <xsl:call-template name="LIBNotOK" > |
|
1147 <xsl:with-param name="issTyp" select="'Possible BBC Break'" /> |
|
1148 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1149 </xsl:call-template> |
|
1150 </xsl:for-each> |
|
1151 </td></tr> |
|
1152 |
|
1153 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC4');return false;" id="issBC4" href="#issBC4">+ Possible FC Break</a></font></td></tr> |
|
1154 <tr id="issBC4dtl" style="display:none"><td> |
|
1155 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='Possible FC Break']]"> |
|
1156 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1157 <xsl:call-template name="LIBNotOK" > |
|
1158 <xsl:with-param name="issTyp" select="'Possible FC Break'" /> |
|
1159 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1160 </xsl:call-template> |
|
1161 </xsl:for-each> |
|
1162 </td></tr> |
|
1163 |
|
1164 <tr name="issSC" id="issSC"><td><font size="4"><a onclick="toggleIWView('issSC2');return false;" id="issSC2" href="#issSC2">+ Possible SC Break</a></font></td></tr> |
|
1165 <tr id="issSC2dtl" style="display:none"><td> |
|
1166 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and sc_severity='Possible SC Break']]"> |
|
1167 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1168 <xsl:call-template name="LIBNotOK" > |
|
1169 <xsl:with-param name="issTyp" select="'Possible SC Break'" /> |
|
1170 <xsl:with-param name="issBCSC" select="'2'" /> |
|
1171 </xsl:call-template> |
|
1172 </xsl:for-each> |
|
1173 </td></tr> |
|
1174 |
|
1175 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC5');return false;" id="issBC5" href="#issBC5">+ BC Informative</a></font></td></tr> |
|
1176 <tr id="issBC5dtl" style="display:none"><td> |
|
1177 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='Informative']]"> |
|
1178 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1179 <xsl:call-template name="LIBNotOK" > |
|
1180 <xsl:with-param name="issTyp" select="'Informative'" /> |
|
1181 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1182 </xsl:call-template> |
|
1183 </xsl:for-each> |
|
1184 </td></tr> |
|
1185 |
|
1186 <tr name="issSC" id="issSC"><td><font size="4"><a onclick="toggleIWView('issSC3');return false;" id="issSC3" href="#issSC3">+ SC Informative</a></font></td></tr> |
|
1187 <tr id="issSC3dtl" style="display:none"><td> |
|
1188 <xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and sc_severity='Informative']]"> |
|
1189 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1190 <xsl:call-template name="LIBNotOK" > |
|
1191 <xsl:with-param name="issTyp" select="'Informative'" /> |
|
1192 <xsl:with-param name="issBCSC" select="'2'" /> |
|
1193 </xsl:call-template> |
|
1194 </xsl:for-each> |
|
1195 </td></tr> |
|
1196 |
|
1197 </table> |
|
1198 </xsl:otherwise> |
|
1199 </xsl:choose> |
|
1200 |
|
1201 </xsl:if> |
|
1202 |
|
1203 <xsl:if test="$reporttype='HDR'"> |
|
1204 <xsl:if test="count(bbcresults/issuelist/headerfile[status!='OK']) = 0"> |
|
1205 <i>There are no issues.</i><BR/> |
|
1206 </xsl:if> |
|
1207 <xsl:if test="count(bbcresults/issuelist/headerfile[status!='OK']) > 0"> |
|
1208 <table id="iwTable" name="iwTable" width="100%"> |
|
1209 |
|
1210 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC1');return false;" id="issBC1" href="#issBC1">+ BBC Break</a></font></td></tr> |
|
1211 <tr id="issBC1dtl" style="display:none"><td> |
|
1212 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='BBC Break']"> |
|
1213 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1214 <xsl:call-template name="HDRNotOK" > |
|
1215 <xsl:with-param name="issTyp" select="'BBC Break'" /> |
|
1216 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1217 </xsl:call-template> |
|
1218 </xsl:for-each> |
|
1219 </td></tr> |
|
1220 |
|
1221 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC2');return false;" id="issBC2" href="#issBC2">+ FC Break</a></font></td></tr> |
|
1222 <tr id="issBC2dtl" style="display:none"><td> |
|
1223 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='FC Break']"> |
|
1224 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1225 <xsl:call-template name="HDRNotOK" > |
|
1226 <xsl:with-param name="issTyp" select="'FC Break'" /> |
|
1227 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1228 </xsl:call-template> |
|
1229 </xsl:for-each> |
|
1230 </td></tr> |
|
1231 |
|
1232 <tr name="issSC" id="issSC"><td><font size="4"><a onclick="toggleIWView('issSC1');return false;" id="issSC1" href="#issSC1">+ SC Break</a></font></td></tr> |
|
1233 <tr id="issSC1dtl" style="display:none"><td> |
|
1234 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/scseverity/typestring='SC Break']"> |
|
1235 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1236 <xsl:call-template name="HDRNotOK" > |
|
1237 <xsl:with-param name="issTyp" select="'SC Break'" /> |
|
1238 <xsl:with-param name="issBCSC" select="'2'" /> |
|
1239 </xsl:call-template> |
|
1240 </xsl:for-each> |
|
1241 </td></tr> |
|
1242 |
|
1243 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC3');return false;" id="issBC3" href="#issBC3">+ Possible BBC Break</a></font></td></tr> |
|
1244 <tr id="issBC3dtl" style="display:none"><td> |
|
1245 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='Possible BBC Break']"> |
|
1246 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1247 <xsl:call-template name="HDRNotOK" > |
|
1248 <xsl:with-param name="issTyp" select="'Possible BBC Break'" /> |
|
1249 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1250 </xsl:call-template> |
|
1251 </xsl:for-each> |
|
1252 </td></tr> |
|
1253 |
|
1254 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC4');return false;" id="issBC4" href="#issBC4">+ Possible FC Break</a></font></td></tr> |
|
1255 <tr id="issBC4dtl" style="display:none"><td> |
|
1256 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='Possible FC Break']"> |
|
1257 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1258 <xsl:call-template name="HDRNotOK" > |
|
1259 <xsl:with-param name="issTyp" select="'Possible FC Break'" /> |
|
1260 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1261 </xsl:call-template> |
|
1262 </xsl:for-each> |
|
1263 </td></tr> |
|
1264 |
|
1265 <tr name="issSC" id="issSC"><td><font size="4"><a onclick="toggleIWView('issSC2');return false;" id="issSC2" href="#issSC2">+ Possible SC Break</a></font></td></tr> |
|
1266 <tr id="issSC2dtl" style="display:none"><td> |
|
1267 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/scseverity/typestring='Possible SC Break']"> |
|
1268 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1269 <xsl:call-template name="HDRNotOK" > |
|
1270 <xsl:with-param name="issTyp" select="'Possible SC Break'" /> |
|
1271 <xsl:with-param name="issBCSC" select="'2'" /> |
|
1272 </xsl:call-template> |
|
1273 </xsl:for-each> |
|
1274 </td></tr> |
|
1275 |
|
1276 <tr name="issBC" id="issBC"><td><font size="4"><a onclick="toggleIWView('issBC5');return false;" id="issBC5" href="#issBC5">+ BC Informative</a></font></td></tr> |
|
1277 <tr id="issBC5dtl" style="display:none"><td> |
|
1278 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='Informative']"> |
|
1279 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1280 <xsl:call-template name="HDRNotOK" > |
|
1281 <xsl:with-param name="issTyp" select="'Informative'" /> |
|
1282 <xsl:with-param name="issBCSC" select="'1'" /> |
|
1283 </xsl:call-template> |
|
1284 </xsl:for-each> |
|
1285 </td></tr> |
|
1286 |
|
1287 <tr name="issSC" id="issSC"><td><font size="4"><a onclick="toggleIWView('issSC3');return false;" id="issSC3" href="#issSC3">+ SC Informative</a></font></td></tr> |
|
1288 <tr id="issSC3dtl" style="display:none"><td> |
|
1289 <xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/scseverity/typestring='Informative']"> |
|
1290 <xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" /> |
|
1291 <xsl:call-template name="HDRNotOK" > |
|
1292 <xsl:with-param name="issTyp" select="'Informative'" /> |
|
1293 <xsl:with-param name="issBCSC" select="'2'" /> |
|
1294 </xsl:call-template> |
|
1295 </xsl:for-each> |
|
1296 </td></tr> |
|
1297 |
|
1298 </table> |
|
1299 </xsl:if> |
|
1300 </xsl:if> |
|
1301 </xsl:when> |
|
1302 </xsl:choose> |
|
1303 <hr/> |
|
1304 |
|
1305 </BODY> |
|
1306 </HTML> |
|
1307 </xsl:template> |
|
1308 |
|
1309 <xsl:template name="HDRNotOK" > |
|
1310 <xsl:param name="issTyp" select="-1" /> |
|
1311 <xsl:param name="issBCSC" select="'0'" /> |
|
1312 <div id="repBlock" name="repBlock"> |
|
1313 <table width="100%" cellspacing="0" cellpadding="0" border="0" style="visibility:visible"> |
|
1314 <tr> |
|
1315 <td> |
|
1316 <table cellspacing="0" cellpadding="0" border="0" style="visibility:visible"> |
|
1317 <tr> |
|
1318 <td colspan="3"> |
|
1319 <xsl:choose> |
|
1320 <xsl:when test="$paramSort = 0 and $show_API=1"><font size="4"><b><xsl:value-of select="shortname"/></b></font></xsl:when> |
|
1321 <xsl:otherwise><font size="4"><xsl:value-of select="shortname"/></font></xsl:otherwise> |
|
1322 </xsl:choose> |
|
1323 </td> |
|
1324 </tr> |
|
1325 <xsl:if test="$show_API=1"> |
|
1326 <tr> |
|
1327 <td> |
|
1328 <xsl:choose> |
|
1329 <xsl:when test="$paramSort = 1"><font size="4"><b><i><xsl:value-of select="api/@name"/></i></b></font></xsl:when> |
|
1330 <xsl:otherwise><font size="3"><i><xsl:value-of select="api/@name"/></i></font></xsl:otherwise> |
|
1331 </xsl:choose> |
|
1332 </td> |
|
1333 <td width="30" align="center"><font size="3"><b>:</b></font></td> |
|
1334 <td> |
|
1335 <xsl:choose> |
|
1336 <xsl:when test="$paramSort = 2"><font size="4"><b><i><xsl:value-of select="api/@category"/></i></b></font></xsl:when> |
|
1337 <xsl:otherwise><font size="3"><i><xsl:value-of select="api/@category"/></i></font></xsl:otherwise> |
|
1338 </xsl:choose> |
|
1339 </td> |
|
1340 </tr> |
|
1341 </xsl:if> |
|
1342 </table> |
|
1343 </td> |
|
1344 <td valign="bottom" align="right"> |
|
1345 <A> |
|
1346 <xsl:attribute name="href"> |
|
1347 javascript:showFile( '<xsl:value-of select="translate(filename, '\\', '/')"/>', null ); |
|
1348 </xsl:attribute> |
|
1349 <xsl:if test="filename != ''">baseline</xsl:if> |
|
1350 </A> |
|
1351 <xsl:if test="filename = ''"><font color="#808080">baseline</font></xsl:if> |
|
1352 |
|
1353 <font size="3"> . </font> |
|
1354 |
|
1355 <A> |
|
1356 <xsl:attribute name="href"> |
|
1357 javascript:showFile( null, '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' ); |
|
1358 </xsl:attribute> |
|
1359 <xsl:if test="comparefilename != ''">current</xsl:if> |
|
1360 </A> |
|
1361 |
|
1362 <xsl:if test="comparefilename = ''"><font color="#808080">current</font></xsl:if> |
|
1363 |
|
1364 <font size="3"> . </font> |
|
1365 |
|
1366 <xsl:choose> |
|
1367 <xsl:when test="filename != '' and comparefilename != ''"> |
|
1368 <A> |
|
1369 <xsl:attribute name="href"> |
|
1370 javascript:showDiff( '<xsl:value-of select="translate(shortname, '\\', '/')"/>', '<xsl:value-of select="translate(filename, '\\', '/')"/>', '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' ); |
|
1371 </xsl:attribute> |
|
1372 diff |
|
1373 </A> |
|
1374 </xsl:when> |
|
1375 <xsl:otherwise> |
|
1376 <font color="#808080">diff</font> |
|
1377 </xsl:otherwise> |
|
1378 </xsl:choose> |
|
1379 |
|
1380 </td></tr> |
|
1381 </table> |
|
1382 <table border="0" cellpadding="2" cellspacing="0" bgColor="black" width = "100%"> |
|
1383 <TR><TD><table border="0" cellspacing="0" cellpadding="3" width = "100%"> |
|
1384 |
|
1385 <TR> |
|
1386 <xsl:attribute name="bgColor"> |
|
1387 <xsl:choose> |
|
1388 <xsl:when test="status = 'OK'">#a8d098</xsl:when> |
|
1389 <xsl:otherwise>#d0c8c0</xsl:otherwise> |
|
1390 </xsl:choose> |
|
1391 </xsl:attribute> |
|
1392 <TD align="left"> |
|
1393 <xsl:choose> |
|
1394 <xsl:when test="status = 'NOK'"><b>This header contains changes that cause incompatibility. It must be fixed.</b></xsl:when> |
|
1395 <xsl:when test="status = 'MOK'"><b>This header contains changes that cannot be verified automatically; they must be investigated manually.</b></xsl:when> |
|
1396 <xsl:when test="status = 'OK'"><b>This header is known to be ok.</b></xsl:when> |
|
1397 <xsl:when test="status = 'IOK'"><b>This issue is known to be ok. But the header contains other unrelated changes.</b></xsl:when> |
|
1398 <xsl:otherwise><b>This header contains changes that may cause incompatibility. It must be analysed by an expert.</b></xsl:otherwise> |
|
1399 </xsl:choose> |
|
1400 |
|
1401 <xsl:choose> |
|
1402 <xsl:when test="status = 'NOK' or status = 'MOK' or status = 'OK' or status = 'IOK'"> |
|
1403 <HR/><xsl:value-of select="comment"/> |
|
1404 </xsl:when> |
|
1405 </xsl:choose> |
|
1406 </TD></TR> |
|
1407 |
|
1408 </table> |
|
1409 |
|
1410 <table width="100%" cellpadding="0" cellspacing="0" bgColor="black" height="1"><tr><td/></tr></table> |
|
1411 <table width = "100%" cellpadding="0" cellspacing="0" bgColor="#b0a8a0"> |
|
1412 <tr><td><table width = "100%" cellpadding="3" cellspacing="1" id="issueTable"> |
|
1413 <tr bgcolor="#f0e8e0"> |
|
1414 <TH align="left" width = "350"><B>Problem description</B></TH> |
|
1415 <TH align="left"><B>Cause</B></TH> |
|
1416 <TH align="left" width = "150" id="BCSeverity"> |
|
1417 <xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1418 <B>BC Severity</B></TH> |
|
1419 <xsl:if test="count(issue/scseverity) > 0"> |
|
1420 <TH align="left" width = "150" id="SCSeverity"> |
|
1421 <xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1422 <B>SC Severity</B></TH> |
|
1423 </xsl:if> |
|
1424 <TH align="center" width="100"><B>Date added</B></TH> |
|
1425 <TH align="center" width="100"><B>Bugzilla id</B></TH> |
|
1426 <TH align="center" width="100"><B>Status</B></TH> |
|
1427 </tr> |
|
1428 |
|
1429 <xsl:choose> |
|
1430 <xsl:when test="$issBCSC='0'"> |
|
1431 <xsl:for-each select="issue"> |
|
1432 <xsl:call-template name="issHDRNotOK" /> |
|
1433 </xsl:for-each> |
|
1434 </xsl:when> |
|
1435 <xsl:when test="$issBCSC='1'"> |
|
1436 <xsl:for-each select="issue[severity/typestring=$issTyp]"> |
|
1437 <xsl:call-template name="issHDRNotOK"> |
|
1438 <xsl:with-param name="issBCSC" select="$issBCSC" /> |
|
1439 </xsl:call-template> |
|
1440 </xsl:for-each> |
|
1441 </xsl:when> |
|
1442 <xsl:when test="$issBCSC='2'"> |
|
1443 <xsl:for-each select="issue[scseverity/typestring=$issTyp]"> |
|
1444 <xsl:call-template name="issHDRNotOK"> |
|
1445 <xsl:with-param name="issBCSC" select="$issBCSC" /> |
|
1446 </xsl:call-template> |
|
1447 </xsl:for-each> |
|
1448 </xsl:when> |
|
1449 </xsl:choose> |
|
1450 </table></td></tr></table> |
|
1451 </TD></TR></table> |
|
1452 <BR/> |
|
1453 </div> |
|
1454 </xsl:template> |
|
1455 |
|
1456 <xsl:template name="issHDRNotOK" > |
|
1457 <xsl:param name="issBCSC" select="'0'" /> |
|
1458 <xsl:variable name="bccellbgcolour"> |
|
1459 <xsl:choose> |
|
1460 <xsl:when test="count(scseverity) > 0"> |
|
1461 <xsl:choose> |
|
1462 <xsl:when test="severity/typeid = 1 or severity/typeid = 4"><xsl:text>#ffb880</xsl:text></xsl:when> |
|
1463 <xsl:when test="severity/typeid = 2 or severity/typeid = 5"><xsl:text>#ffffa0</xsl:text></xsl:when> |
|
1464 <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise> |
|
1465 </xsl:choose> |
|
1466 </xsl:when> |
|
1467 <xsl:otherwise> |
|
1468 <xsl:choose> |
|
1469 <xsl:when test="severity/typeid = 0"><xsl:text>#ffb880</xsl:text></xsl:when> |
|
1470 <xsl:when test="severity/typeid = 1"><xsl:text>#ffffa0</xsl:text></xsl:when> |
|
1471 <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise> |
|
1472 </xsl:choose> |
|
1473 </xsl:otherwise> |
|
1474 </xsl:choose> |
|
1475 </xsl:variable> |
|
1476 |
|
1477 <xsl:variable name="sccellbgcolour"> |
|
1478 <xsl:choose> |
|
1479 <xsl:when test="scseverity/typeid = 1"><xsl:text>#ffb880</xsl:text></xsl:when> |
|
1480 <xsl:when test="scseverity/typeid = 2"><xsl:text>#ffffa0</xsl:text></xsl:when> |
|
1481 <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise> |
|
1482 </xsl:choose> |
|
1483 </xsl:variable> |
|
1484 |
|
1485 <TR bgcolor= "White"> |
|
1486 <xsl:variable name = "notSpecified"> |
|
1487 <xsl:text>Not specified</xsl:text> |
|
1488 </xsl:variable> |
|
1489 <xsl:variable name = "valueFromDocument"> |
|
1490 <xsl:value-of select="documentation" /> |
|
1491 </xsl:variable> |
|
1492 <xsl:variable name="global"> |
|
1493 <xsl:value-of select="identitydescription"/> |
|
1494 <xsl:text> </xsl:text> |
|
1495 <xsl:value-of select="typestring"/> |
|
1496 </xsl:variable> |
|
1497 <TD><xsl:value-of select="$global"/></TD> |
|
1498 |
|
1499 <xsl:choose> |
|
1500 <xsl:when test = "typeid = 13 and identityid = 13"> |
|
1501 |
|
1502 <xsl:variable name="compErrID"> |
|
1503 <xsl:text>err</xsl:text><xsl:value-of select="issueid" /> |
|
1504 </xsl:variable> |
|
1505 |
|
1506 <TD> |
|
1507 <div> |
|
1508 <xsl:attribute name="id"><xsl:value-of select="$compErrID" /></xsl:attribute> |
|
1509 <xsl:attribute name="class">tip</xsl:attribute> |
|
1510 <xsl:value-of select="compilationerror"/> |
|
1511 </div> |
|
1512 |
|
1513 <a> |
|
1514 <xsl:attribute name="href">#</xsl:attribute> |
|
1515 <xsl:attribute name="onmouseout">popUp(event,'<xsl:value-of select="$compErrID"/>')</xsl:attribute> |
|
1516 <xsl:attribute name="onmouseover">popUp(event,'<xsl:value-of select="$compErrID"/>')</xsl:attribute> |
|
1517 <xsl:attribute name="onclick">return false</xsl:attribute> |
|
1518 <font color="#FF0000">Compilation Error</font> |
|
1519 </a> |
|
1520 </TD> |
|
1521 </xsl:when> |
|
1522 <xsl:when test = "contains($valueFromDocument, $notSpecified)"> |
|
1523 <TD><xsl:value-of select="cause"/></TD> |
|
1524 </xsl:when> |
|
1525 <xsl:otherwise> |
|
1526 <TD> <A><xsl:attribute name="href"><xsl:value-of select="documentation" /></xsl:attribute><xsl:value-of select="cause"/></A></TD> |
|
1527 </xsl:otherwise> |
|
1528 </xsl:choose> |
|
1529 |
|
1530 <TD bgcolor= "{$bccellbgcolour}"> |
|
1531 <xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1532 <xsl:value-of select="severity/typestring"/></TD> |
|
1533 <xsl:if test="count(scseverity) > 0"> |
|
1534 <TD bgcolor= "{$sccellbgcolour}"> |
|
1535 <xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1536 <xsl:value-of select="scseverity/typestring"/></TD> |
|
1537 </xsl:if> |
|
1538 <TD align="center"><xsl:value-of select="date-added"/></TD> |
|
1539 <TD align="center"><xsl:value-of select="bugzilla-id"/></TD> |
|
1540 <TD align="center"><xsl:value-of select="bc-status"/></TD> |
|
1541 </TR> |
|
1542 </xsl:template> |
|
1543 |
|
1544 <xsl:template name="LIBNotOK"> |
|
1545 <xsl:param name="issTyp" select="-1" /> |
|
1546 <xsl:param name="issBCSC" select="'0'" /> |
|
1547 <!-- |
|
1548 <xsl:if test="(count(issue[status='NOK'and typeid!=2 and typeid!=7 and typeid!=14]) > 0 or count(issue[count(status) = 0 and typeid!=2 and typeid!=7 and typeid!=14]) > 0) "> |
|
1549 --> |
|
1550 <!-- Added by maciejs (6 lines)--> |
|
1551 <xsl:variable name="isHdrRef"> |
|
1552 <xsl:choose> |
|
1553 <xsl:when test="count(issue/refheaderfile) > 0">true</xsl:when> |
|
1554 <xsl:otherwise>false</xsl:otherwise> |
|
1555 </xsl:choose> |
|
1556 </xsl:variable> |
|
1557 <div id="repBlock" name="repBlock"> |
|
1558 <table border="0" cellpadding="2" cellspacing="0" width = "100%"> |
|
1559 <TR> |
|
1560 <td> |
|
1561 <table border="0" cellpadding="2" cellspacing="0"> |
|
1562 <tr> |
|
1563 <td colspan="3"> |
|
1564 <xsl:choose> |
|
1565 <xsl:when test="$show_API = 1 and $paramSort = 0"><font size="4"><b> |
|
1566 <xsl:if test="count(shortname) > 0"><xsl:value-of select="shortname"/></xsl:if> |
|
1567 <xsl:if test="count(shortname) = 0"><xsl:value-of select="name"/></xsl:if> |
|
1568 </b></font></xsl:when> |
|
1569 <xsl:otherwise><font size="4"> |
|
1570 <xsl:if test="count(shortname) > 0"><xsl:value-of select="shortname"/></xsl:if> |
|
1571 <xsl:if test="count(shortname) = 0"><xsl:value-of select="name"/></xsl:if> |
|
1572 </font></xsl:otherwise> |
|
1573 </xsl:choose> |
|
1574 </td> |
|
1575 </tr> |
|
1576 <xsl:if test="$show_API=1"> |
|
1577 <tr> |
|
1578 <td> |
|
1579 <xsl:choose> |
|
1580 <xsl:when test="$paramSort = 1"><font size="4"><b><i><xsl:value-of select="api/@name"/></i></b></font></xsl:when> |
|
1581 <xsl:otherwise><font size="3"><i><xsl:value-of select="api/@name"/></i></font></xsl:otherwise> |
|
1582 </xsl:choose> |
|
1583 </td> |
|
1584 <td width="30" align="center"><font size="3"><b>:</b></font></td> |
|
1585 <td> |
|
1586 <xsl:choose> |
|
1587 <xsl:when test="$paramSort = 2"><font size="4"><b><i><xsl:value-of select="api/@category"/></i></b></font></xsl:when> |
|
1588 <xsl:otherwise><font size="3"><i><xsl:value-of select="api/@category"/></i></font></xsl:otherwise> |
|
1589 </xsl:choose> |
|
1590 </td> |
|
1591 </tr> |
|
1592 </xsl:if> |
|
1593 </table> |
|
1594 </td> |
|
1595 <TD align="right" valign="bottom"> |
|
1596 <A> |
|
1597 <xsl:attribute name="href"> |
|
1598 javascript:openPath( '<xsl:value-of select="translate(name, '\\', '/')"/>' ); |
|
1599 </xsl:attribute> |
|
1600 <xsl:if test="name != ''">baseline</xsl:if> |
|
1601 </A> |
|
1602 <xsl:if test="name = ''"><font color="#808080">baseline</font></xsl:if> |
|
1603 <font size="3"> . </font> |
|
1604 |
|
1605 <A> |
|
1606 <xsl:attribute name="href"> |
|
1607 javascript:openPath( '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' ); |
|
1608 </xsl:attribute> |
|
1609 <xsl:if test="comparefilename != ''">current</xsl:if> |
|
1610 </A> |
|
1611 |
|
1612 <xsl:if test="comparefilename = ''"><font color="#808080">current</font></xsl:if> |
|
1613 <font size="3"> . </font> |
|
1614 |
|
1615 </TD></TR> |
|
1616 </table> |
|
1617 <table> |
|
1618 <xsl:choose> |
|
1619 <xsl:when test="count(baseplatform) > 0 and count(currentplatform) > 0 "> |
|
1620 <tr> |
|
1621 <td> |
|
1622 <xsl:choose> |
|
1623 <xsl:when test="baseplatform!=''"><font size="2">base platform: <xsl:value-of select="baseplatform"/></font></xsl:when> |
|
1624 <xsl:otherwise><font size="2">base platform: Unknown</font></xsl:otherwise> |
|
1625 </xsl:choose> |
|
1626 </td> |
|
1627 <xsl:if test="comparefilename != ''"> |
|
1628 <td/><td/><td/><td/><td/> |
|
1629 <td> |
|
1630 <xsl:choose> |
|
1631 <xsl:when test="currentplatform!=''"><font size="2">current platform: <xsl:value-of select="currentplatform"/></font></xsl:when> |
|
1632 <xsl:otherwise><font size="2">current platform: Unknown</font></xsl:otherwise> |
|
1633 </xsl:choose> |
|
1634 </td> |
|
1635 </xsl:if> |
|
1636 </tr> |
|
1637 </xsl:when> |
|
1638 </xsl:choose> |
|
1639 </table> |
|
1640 |
|
1641 <table border="0" cellpadding="2" cellspacing="0" bgColor="black" width = "100%"> |
|
1642 <TR><TD><table border="0" cellspacing="0" cellpadding="3" width = "100%"> |
|
1643 |
|
1644 <TR> |
|
1645 <xsl:attribute name="bgColor"> |
|
1646 <xsl:choose> |
|
1647 <xsl:when test="status = 'OK'">#a8d098</xsl:when> |
|
1648 <xsl:otherwise>#d0c8c0</xsl:otherwise> |
|
1649 </xsl:choose> |
|
1650 </xsl:attribute> |
|
1651 <TD align="left"> |
|
1652 <xsl:choose> |
|
1653 <xsl:when test="count(issue[status='NOK']) > 0"><b>This library contains changes that cause incompatibility. It must be fixed.</b></xsl:when> |
|
1654 <xsl:otherwise><b>This library contains changes that may cause incompatibility. It must be analysed by an expert.</b></xsl:otherwise> |
|
1655 </xsl:choose> |
|
1656 </TD></TR> |
|
1657 |
|
1658 </table> |
|
1659 <table width="100%" cellpadding="0" cellspacing="0" bgColor="black" height="1"><tr><td/></tr></table> |
|
1660 <table width = "100%" cellpadding="0" cellspacing="0" bgColor="#b0a8a0"> |
|
1661 <tr><td><table width = "100%" cellpadding="3" cellspacing="1" id="issueTable"> |
|
1662 <tr bgcolor="#f0e8e0"> |
|
1663 <TH align="center" width="70"><B>Change</B></TH> |
|
1664 <TH align="center" width="70"><B>Pos</B></TH> |
|
1665 <TH align="left"><B>Details</B></TH> |
|
1666 <!-- Added by maciejs (3 lines) --> |
|
1667 <xsl:if test="$isHdrRef = 'true'"> |
|
1668 <TH align="left" width="200"><B>Header reference</B></TH> |
|
1669 </xsl:if> |
|
1670 <TH align="left" width="130" id="BCSeverity"> |
|
1671 <xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1672 <B>BC Severity</B></TH> |
|
1673 <xsl:if test="count(issue/sc_severity) > 0"> |
|
1674 <TH align="left" width="130" id="SCSeverity"> |
|
1675 <xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1676 <B>SC Severity</B></TH> |
|
1677 </xsl:if> |
|
1678 <TH align="center" width="100"><B>Date added</B></TH> |
|
1679 <TH align="center" width="100"><B>Bugzilla id</B></TH> |
|
1680 <TH align="center" width="100"><B>Status</B></TH> |
|
1681 </tr> |
|
1682 |
|
1683 <xsl:choose> |
|
1684 <xsl:when test="$issBCSC='0'"> |
|
1685 <xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14 ]"> |
|
1686 <xsl:call-template name="issLIBNotOK"> |
|
1687 <!-- Added by maciejs (2 lines) --> |
|
1688 <xsl:with-param name="isHdrRef" select="$isHdrRef" /> |
|
1689 </xsl:call-template> |
|
1690 </xsl:for-each> |
|
1691 </xsl:when> |
|
1692 <xsl:when test="$issBCSC='3'"> |
|
1693 <xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]"> |
|
1694 <xsl:call-template name="issLIBNotOK"> |
|
1695 <!-- Added by maciejs (2 lines) --> |
|
1696 <xsl:with-param name="isHdrRef" select="$isHdrRef" /> |
|
1697 </xsl:call-template> |
|
1698 </xsl:for-each> |
|
1699 </xsl:when> |
|
1700 <xsl:when test="$issBCSC='1'"> |
|
1701 <xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and bc_severity=$issTyp]"> |
|
1702 <xsl:call-template name="issLIBNotOK"> |
|
1703 <xsl:with-param name="issBCSC" select="$issBCSC" /> |
|
1704 <!-- Added by maciejs (1 line) --> |
|
1705 <xsl:with-param name="isHdrRef" select="$isHdrRef" /> |
|
1706 </xsl:call-template> |
|
1707 </xsl:for-each> |
|
1708 </xsl:when> |
|
1709 <xsl:when test="$issBCSC='2'"> |
|
1710 <xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and sc_severity=$issTyp]"> |
|
1711 <xsl:call-template name="issLIBNotOK"> |
|
1712 <xsl:with-param name="issBCSC" select="$issBCSC" /> |
|
1713 <!-- Added by maciejs (1 line) --> |
|
1714 <xsl:with-param name="isHdrRef" select="$isHdrRef" /> |
|
1715 </xsl:call-template> |
|
1716 </xsl:for-each> |
|
1717 </xsl:when> |
|
1718 </xsl:choose> |
|
1719 |
|
1720 </table></td></tr></table> |
|
1721 </TD></TR></table> |
|
1722 <BR/> |
|
1723 </div> |
|
1724 <!-- |
|
1725 </xsl:if> |
|
1726 --> |
|
1727 </xsl:template> |
|
1728 |
|
1729 <xsl:template name="issLIBNotOK"> |
|
1730 <xsl:param name="issBCSC" select="'0'" /> |
|
1731 <xsl:param name="isHdrRef" select="'false'" /> |
|
1732 |
|
1733 <xsl:if test="(count(status) = 0) or status!='OK'"> |
|
1734 <xsl:variable name="bccellbgcolour"> |
|
1735 <xsl:choose> |
|
1736 <xsl:when test="count(bc_severity) > 0"> |
|
1737 <xsl:choose> |
|
1738 <xsl:when test="bc_severity = 'BBC Break'"><xsl:text>#ffb880</xsl:text></xsl:when> |
|
1739 <xsl:when test="bc_severity = 'Possible BBC Break' or bc_severity = 'Informative'"><xsl:text>#ffffa0</xsl:text></xsl:when> |
|
1740 <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise> |
|
1741 </xsl:choose> |
|
1742 </xsl:when> |
|
1743 </xsl:choose> |
|
1744 </xsl:variable> |
|
1745 |
|
1746 <xsl:variable name="sccellbgcolour"> |
|
1747 <xsl:choose> |
|
1748 <xsl:when test="sc_severity = 'SC Break'"><xsl:text>#ffb880</xsl:text></xsl:when> |
|
1749 <xsl:when test="sc_severity = 'Possible SC Break' or sc_severity = 'Informative'"><xsl:text>#ffffa0</xsl:text></xsl:when> |
|
1750 <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise> |
|
1751 </xsl:choose> |
|
1752 </xsl:variable> |
|
1753 <xsl:variable name="sevdesc"> |
|
1754 <xsl:choose> |
|
1755 <xsl:when test="typeid=7">Informative</xsl:when> |
|
1756 <xsl:when test="status='NOK'">BBC Break</xsl:when> |
|
1757 <xsl:when test="status='OK'">Informative</xsl:when> |
|
1758 <xsl:otherwise>Possible BBC Break</xsl:otherwise> |
|
1759 </xsl:choose> |
|
1760 </xsl:variable> |
|
1761 <xsl:variable name="sTxtColor"> |
|
1762 <xsl:choose> |
|
1763 <xsl:when test="count(status) = 0 or normalize-space(status) = ''">#6611ff</xsl:when> |
|
1764 <xsl:otherwise>Black</xsl:otherwise> |
|
1765 </xsl:choose> |
|
1766 </xsl:variable> |
|
1767 |
|
1768 <TR bgcolor= "White"> |
|
1769 <xsl:choose> |
|
1770 <xsl:when test="typeid=1"> |
|
1771 <TD align="center"><font color="{$sTxtColor}"><i>removed</i></font></TD> |
|
1772 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1773 <TD ><font color="{$sTxtColor}">Library is no longer available</font></TD> |
|
1774 </xsl:when> |
|
1775 <xsl:when test="typeid=3"> |
|
1776 <TD align="center"><font color="{$sTxtColor}"><i>moved</i></font></TD> |
|
1777 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="funcpos"/> <font size="2"> => </font> <xsl:value-of select="newfuncpos"/></b></font></TD> |
|
1778 <TD><font color="{$sTxtColor}"><xsl:value-of select="funcname"/></font></TD> |
|
1779 </xsl:when> |
|
1780 <xsl:when test="typeid=4"> |
|
1781 <TD align="center"><font color="{$sTxtColor}"><i>deleted</i></font></TD> |
|
1782 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="funcpos"/></b></font></TD> |
|
1783 <TD><font color="{$sTxtColor}"><xsl:value-of select="funcname"/></font></TD> |
|
1784 </xsl:when> |
|
1785 <xsl:when test="typeid=5"> |
|
1786 <TD align="center"><font color="{$sTxtColor}"><i>inserted</i></font></TD> |
|
1787 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="newfuncpos"/></b></font></TD> |
|
1788 <TD><font color="{$sTxtColor}"><xsl:value-of select="newfuncname"/></font></TD> |
|
1789 </xsl:when> |
|
1790 <xsl:when test="typeid=6"> |
|
1791 <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD> |
|
1792 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="funcpos"/></b></font></TD> |
|
1793 <TD><font color="{$sTxtColor}"><b><i>was </i></b><xsl:value-of select="funcname"/><br/> |
|
1794 <b><i>now </i></b><xsl:value-of select="newfuncname"/></font></TD> |
|
1795 </xsl:when> |
|
1796 <xsl:when test="typeid=7"> |
|
1797 <TD align="center"><font color="{$sTxtColor}"><i>added</i></font></TD> |
|
1798 <TD align="center" bgcolor="#f8f8f8"><font color="{$sTxtColor}"><b><xsl:value-of select="newfuncpos"/></b></font></TD> |
|
1799 <TD><font color="{$sTxtColor}"><xsl:value-of select="newfuncname"/></font></TD> |
|
1800 </xsl:when> |
|
1801 <xsl:when test="typeid=8"> |
|
1802 <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD> |
|
1803 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1804 <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD> |
|
1805 </xsl:when> |
|
1806 <xsl:when test="typeid=9"> |
|
1807 <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD> |
|
1808 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1809 <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD> |
|
1810 </xsl:when> |
|
1811 <xsl:when test="typeid=10"> |
|
1812 <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD> |
|
1813 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1814 <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD> |
|
1815 </xsl:when> |
|
1816 <xsl:when test="typeid=11"> |
|
1817 <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD> |
|
1818 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1819 <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD> |
|
1820 </xsl:when> |
|
1821 <xsl:when test="typeid=12"> |
|
1822 <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD> |
|
1823 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1824 <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD> |
|
1825 </xsl:when> |
|
1826 <xsl:when test="typeid=13"> |
|
1827 <TD align="center"><font color="{$sTxtColor}"><i>removed</i></font></TD> |
|
1828 <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1829 <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD> |
|
1830 </xsl:when> |
|
1831 <xsl:when test="typeid=14"> |
|
1832 <TD align="center"><font color="{$sTxtColor}"><i>not available</i></font></TD> |
|
1833 <TD align="center" bgcolor="#f8f8f8"><font color="{$sTxtColor}"><i>-</i></font></TD> |
|
1834 <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD> |
|
1835 </xsl:when> |
|
1836 </xsl:choose> |
|
1837 <!-- Added by maciejs (3 lines) --> |
|
1838 <xsl:if test="$isHdrRef = 'true'"> |
|
1839 <TD><xsl:value-of select="refheaderfile"/></TD> |
|
1840 </xsl:if> |
|
1841 |
|
1842 <xsl:choose> |
|
1843 <xsl:when test="count(bc_severity) = 0"> |
|
1844 <TD bgcolor="{$bccellbgcolour}"><xsl:value-of select="$sevdesc"/></TD> |
|
1845 </xsl:when> |
|
1846 <xsl:otherwise> |
|
1847 <TD bgcolor="{$bccellbgcolour}"> |
|
1848 <xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1849 <xsl:value-of select="bc_severity"/></TD> |
|
1850 <TD bgcolor="{$sccellbgcolour}"> |
|
1851 <xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if> |
|
1852 <xsl:value-of select="sc_severity"/></TD> |
|
1853 </xsl:otherwise> |
|
1854 </xsl:choose> |
|
1855 <TD align="center"><xsl:value-of select="date-added"/></TD> |
|
1856 <TD align="center"><xsl:value-of select="bugzilla-id"/></TD> |
|
1857 <TD align="center"><xsl:value-of select="bc-status"/></TD> |
|
1858 </TR> |
|
1859 </xsl:if> |
|
1860 </xsl:template> |
|
1861 </xsl:stylesheet> |