bc_tools/BBCResults.xsl
changeset 234 74890d706f0c
equal deleted inserted replaced
233:cf1d34408de3 234:74890d706f0c
       
     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) &gt; 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) &gt; 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/header/haversion) &gt; 0">HDR</xsl:when>
       
    63     <xsl:when test="count(bbcresults/header/laversion) &gt; 0">LIB</xsl:when>
       
    64     <xsl:otherwise>NON</xsl:otherwise>
       
    65   </xsl:choose>
       
    66 </xsl:variable>
       
    67 
       
    68 <HEAD>
       
    69 <TITLE>Binary Compatibility Report :: 
       
    70 		<xsl:choose>
       
    71       <xsl:when test="$reporttype='HDR'">Headerfiles</xsl:when>
       
    72       <xsl:otherwise>Libraries</xsl:otherwise>
       
    73     </xsl:choose>
       
    74 </TITLE>
       
    75   
       
    76 <script type="text/javascript">
       
    77 
       
    78 var diffFileName = new Array(2);
       
    79 var diffFileContent = new Array(2);
       
    80 var diffFileIndex;
       
    81 var popup;
       
    82 var hasFailed = false;
       
    83 var diffTitle = "";
       
    84 var diffFileName1;
       
    85 var diffFileName2;
       
    86 var repBlk = '<xsl:value-of select="$xslRepBlk"/>';
       
    87 
       
    88 var hrefLoaction;
       
    89 hrefLoaction = window.location.href;
       
    90 
       
    91 function switchMenu(obj) {
       
    92 	if (document.getElementById)
       
    93 	{
       
    94 		var el = document.getElementById(obj);
       
    95 		if (el)
       
    96 		{
       
    97 				if ( el.style.display != "none" ) {
       
    98 				   el.style.display = 'none';
       
    99 				   document.getElementById("cl").innerHTML = "View OK Issues";
       
   100 			   	}
       
   101 				else {
       
   102 				   el.style.display = 'inline';
       
   103 				   document.getElementById("cl").innerHTML = "Hide OK Issues";
       
   104 				}
       
   105 		}
       
   106 	}
       
   107 }	
       
   108 function switchBacklink(obj)
       
   109 {
       
   110 if (document.getElementById)
       
   111 	{
       
   112 		var el = document.getElementById(obj);
       
   113 		if (el)
       
   114 		{				
       
   115 				   el.style.display = 'none';
       
   116 				   window.location.href = hrefLoaction;
       
   117 		}
       
   118 	}
       
   119 }
       
   120 
       
   121 
       
   122 function openPath( file )
       
   123 {	
       
   124 	var thefile = file;
       
   125 	thefile = file.replace( /\\/g, "/" );
       
   126 	if ( thefile != null )
       
   127 	{
       
   128 	  pos1=thefile.lastIndexOf('/');	  
       
   129 	  thefile=thefile.substring(0,pos1);
       
   130 	}
       
   131 	if ( thefile != null )
       
   132 		window.location = "file://" + thefile;
       
   133 }
       
   134 
       
   135 function showFile( file1, file2 )
       
   136 {	
       
   137 	var thefile = null;
       
   138   
       
   139 	origbasedir = document.getElementById( "origbaselinedir" ).value.replace( /\\/g, "/" ).replace( /\*\.h/g, "" ).replace(/\/s*$/, "");
       
   140 	newbasedir = document.getElementById( "baselinedir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, "");
       
   141 	origcurrdir = document.getElementById( "origcurrentdir" ).value.replace( /\\/g, "/" ).replace(/\/s*$/, "");;
       
   142 	newcurrdir = document.getElementById( "currentdir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, "");;
       
   143 	
       
   144 	if ( file1 != null )
       
   145 		thefile = file1.replace( origbasedir, newbasedir );
       
   146 	else if ( file2 != null )
       
   147 		thefile = file2.replace( origcurrdir, newcurrdir );
       
   148 	if ( thefile != null )
       
   149 		window.location = "file://" + thefile;
       
   150 }
       
   151 
       
   152 function showDiff( title, file1, file2 )
       
   153 {
       
   154 
       
   155 	diffTitle = "diff : " + title;
       
   156 	origbasedir = document.getElementById( "origbaselinedir" ).value.replace( /\\/g, "/" ).replace( /\*\.h/g, "" ).replace(/\/s*$/, "");
       
   157 	newbasedir = document.getElementById( "baselinedir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, "");
       
   158 	origcurrdir = document.getElementById( "origcurrentdir" ).value.replace( /\\/g, "/" ).replace(/\/s*$/, "");;
       
   159 	newcurrdir = document.getElementById( "currentdir" ).firstChild.data.replace( /\\/g, "/" ).replace(/\/s*$/, "");;
       
   160 
       
   161 	file1 = diffFileName1 = file1.replace( origbasedir, newbasedir );
       
   162 	file2 = diffFileName2 = file2.replace( origcurrdir, newcurrdir );
       
   163 
       
   164 	diffFileName[0] = file1; diffFileName[1] = file2;
       
   165 	diffFileContent[0] = ""; diffFileContent[1] = "";
       
   166 	diffFileIndex = 0;
       
   167 	if ( typeof(dler) != "undefined" &amp;&amp; typeof(dler.startDownload) != "undefined" ) ieLoad( "" );
       
   168 	else ffLoad();
       
   169 	window.setTimeout( "loadFailed()", 1500 );	
       
   170 }
       
   171 
       
   172 function loadFailed()
       
   173 {
       
   174 	if ( hasFailed ) return;
       
   175 	else hasFailed = true;
       
   176 	if ( diffFileContent[0] == "" ) alert( "Could not load file: " + diffFileName[0] );
       
   177 	else if ( diffFileContent[1] == "" ) alert( "Could not load file: " + diffFileName[1] );
       
   178 }
       
   179 
       
   180 function ffLoad()
       
   181 {
       
   182 	var req = new XMLHttpRequest(); 
       
   183 	req.onreadystatechange = function() { 
       
   184 		if (req.readyState == 4 ) {
       
   185 			diffFileContent[diffFileIndex++] = req.responseText;
       
   186 			if ( diffFileIndex == 1 ) ffLoad();
       
   187 			else diffFilesLoaded();
       
   188 		}
       
   189 	};
       
   190 	req.open( "GET", "file:///" + diffFileName[diffFileIndex], true ); 
       
   191 	req.send( null ); 
       
   192 } 
       
   193 
       
   194 function ieLoad( text )
       
   195 {
       
   196 	if ( diffFileIndex &gt; 0 ) {
       
   197 		if ( text == "" ) {
       
   198 			loadFailed();
       
   199 			return;
       
   200 		}
       
   201 		diffFileContent[diffFileIndex-1] = text;
       
   202 	}
       
   203 	++diffFileIndex;
       
   204 	if ( diffFileIndex &lt;= 2 ) dler.startDownload( diffFileName[diffFileIndex-1], ieLoad );
       
   205 	else diffFilesLoaded();
       
   206 }
       
   207 
       
   208 function setProgress( percentage )
       
   209 {
       
   210 	var prog1 = Math.max( 1, Math.round( percentage * 1.5 ) );
       
   211 	var prog2 = 150 - prog1;
       
   212 }
       
   213 function SetFocus(element)
       
   214 {
       
   215 window.scrollTo(0,0);
       
   216 var tmp=document.getElementById(element);
       
   217 if(tmp !=null)
       
   218 tmp.focus();
       
   219 return true;
       
   220 } 
       
   221 
       
   222 function diffFilesLoaded()
       
   223 {
       
   224 	var w = window.screen.availWidth - 50;
       
   225 	var h = window.screen.availHeight - 150;
       
   226 	popup = window.open( "", "_self");
       
   227 	popup.document.title = diffTitle;
       
   228 	popup.document.body.style.margin = 0;
       
   229 
       
   230 	var oldcontent = diffFileContent[0];
       
   231 	var newcontent = diffFileContent[1];
       
   232 
       
   233 	var oldlines = oldcontent.replace(/\r/g, "").split("\n");
       
   234 	var newlines = newcontent.replace(/\r/g, "").split("\n");
       
   235 
       
   236 	res = diff( oldlines, newlines );
       
   237 	var matching = res.matching;
       
   238 	var matchtype = res.matchtype;
       
   239 	var output = "&lt;table width='100%' cellspacing='0' cellpadding='1' border='0' style='font-family: Courier; font-size=1;'&gt;";
       
   240 
       
   241 	var lastA = -1;
       
   242 	var lastB = -1;
       
   243 	for ( i = 0; i &lt;= matching.length; i++ ) {
       
   244 		if ( i == matching.length || matching[i] != -1 ) {
       
   245 			// all lines ]lastA..i[ --&gt; removed
       
   246 			for ( j = lastA + 1; j &lt; i; ++j ) {
       
   247 				output += "&lt;tr&gt;&lt;td bgColor='#ff9080'&gt;" + repfunc( oldlines[j] ) + "&lt;/td&gt;&lt;td width='1' bgColor='black'&gt;&lt;/td&gt;" +
       
   248 						  "&lt;td bgColor='#e0e0e0'&gt;" + repfunc( "" ) + "&lt;/td&gt;&lt;/tr&gt;";
       
   249 			}
       
   250 
       
   251 			// all lines ]lastB..matching[i][ --&gt; inserted
       
   252 			if ( i &lt; matching.length )
       
   253 				untilB = matching[i];
       
   254 			else
       
   255 				untilB = newlines.length;
       
   256 			for ( j = lastB + 1; j &lt; untilB; ++j ) {
       
   257 				output += "&lt;tr&gt;&lt;td bgColor='#e0e0e0'&gt;" + repfunc( "" ) + "&lt;/td&gt;&lt;td width='1' bgColor='black'&gt;&lt;/td&gt;" +
       
   258 						  "&lt;td bgColor='#a0e0a0'&gt;" + repfunc( newlines[j] ) + "&lt;/td&gt;&lt;/tr&gt;";
       
   259 			}
       
   260 
       
   261 			// matching line
       
   262 			if ( i &lt; matching.length ) {
       
   263 				if ( matchtype[i] == 0 ) {
       
   264 					output += "&lt;tr&gt;&lt;td&gt;" + repfunc( oldlines[i] ) + "&lt;/td&gt;&lt;td width='1' bgColor='black'&gt;&lt;/td&gt;" +
       
   265 							  "&lt;td&gt;" + repfunc( newlines[matching[i]] ) + "&lt;/td&gt;&lt;/tr&gt;";
       
   266 				}
       
   267 				else {
       
   268 					output += "&lt;tr&gt;&lt;td bgColor='#ffff80'&gt;" + repfunc( oldlines[i] ) + "&lt;/td&gt;&lt;td width='1' bgColor='black'&gt;&lt;/td&gt;" +
       
   269 							  "&lt;td bgColor='#ffff80'&gt;" + repfunc( newlines[matching[i]] ) + "&lt;/td&gt;&lt;/tr&gt;";
       
   270 				}
       
   271 				lastA = i;
       
   272 				lastB = matching[i];
       
   273 			}
       
   274 		}
       
   275 	}
       
   276 	output += "&lt;/table&gt;";
       
   277 
       
   278 	var backlink = document.getElementById("backlink");
       
   279 	if(backlink != null)
       
   280 	backlink.innerHTML = "Close diff view";
       
   281 	    
       
   282 	var titleconent = document.getElementById("title");
       
   283 	if(titleconent != null)
       
   284 	titleconent.innerHTML = "Viewing diff between  " + diffFileName1 + "  and   " + diffFileName2;
       
   285 	      
       
   286   var diffconent = document.getElementById("diff");
       
   287   if(diffconent != null)
       
   288 	diffconent.innerHTML = output;
       
   289 	     
       
   290   var backlink1 = document.getElementById("backlink1");
       
   291   if(backlink1 != null)
       
   292 	backlink1.innerHTML = "Close diff view";  
       
   293 	
       
   294 	if(backlink != null)
       
   295 	SetFocus(backlink);
       
   296 	  
       
   297 }
       
   298 
       
   299 function repfunc( str )
       
   300 {
       
   301 	if ( str.length &gt; 70 )
       
   302 		str = str.substring(0,69) + "..."
       
   303 	else if ( str.replace(/\s+/g,"").length == 0 )
       
   304 		str = "&amp;nbsp;";
       
   305 
       
   306 	return "&lt;nobr&gt;" + str.replace(/&lt;/g, "&amp;lt;").replace(/&gt;/g, "&amp;gt;").replace(/\s/g, "&amp;nbsp;") + "&lt;/nobr&gt;";
       
   307 }
       
   308 
       
   309 function diff( o, n )
       
   310 {
       
   311 	var olen = o.length;
       
   312 	var nlen = n.length;
       
   313 
       
   314 	var crcTable = new Array( 256 );
       
   315 	for ( i = 0; i &lt; 256; i++ ) {
       
   316 		crc = i;
       
   317 		for ( j = 8 ; j &gt; 0; j-- ) {
       
   318 			if ( crc &amp; 1 ) crc = ( crc &gt;&gt;&gt; 1 ) ^ 0xEDB88320;
       
   319 			else crc &gt;&gt;&gt;= 1;
       
   320 		}
       
   321 		crcTable[i] = crc;
       
   322 	}
       
   323 
       
   324 	var aHash = new Array( olen );
       
   325 	for ( i = 0; i &lt; olen; ++i ) {
       
   326 		str = o[i].replace(/^\s+/, "").replace(/\s+$/, "");
       
   327 		crc = 0xFFFFFFFF;
       
   328 		for ( k = 0; k &lt; str.length; ++k )
       
   329 			crc = crcTable[ ( crc &amp; 0xff ) ^ str.charCodeAt(k) ] ^ ( crc &gt;&gt;&gt; 8 );
       
   330 		aHash[i] = crc ^ 0xFFFFFFFF;
       
   331 	}
       
   332 
       
   333 	var bHash = new Array( nlen );
       
   334 	for ( i = 0; i &lt; nlen; ++i ) {
       
   335 		str = n[i].replace(/^\s+/, "").replace(/\s+$/, "");
       
   336 		crc = 0xFFFFFFFF;
       
   337 		for ( k = 0; k &lt; str.length; ++k )
       
   338 			crc = crcTable[ ( crc &amp; 0xff ) ^ str.charCodeAt(k) ] ^ ( crc &gt;&gt;&gt; 8 );
       
   339 		bHash[i] = crc ^ 0xFFFFFFFF;
       
   340 	}
       
   341 
       
   342 	matches = lcs( aHash, bHash, 0 ).matching;
       
   343 
       
   344 	for ( i = 0; i &lt; olen; ++i )
       
   345 		if ( matches[i] != -1 &amp;&amp; o[i].replace(/^\s+/, "").replace(/\s+$/, "") != n[matches[i]].replace(/^\s+/, "").replace(/\s+$/, "") )
       
   346 			matches[i] = -1;
       
   347 
       
   348 	matchtype = new Array ( olen );
       
   349 	for ( i = 0; i &lt; olen; ++i )
       
   350 		matchtype[i] = 0;
       
   351 
       
   352 	olast = -1;
       
   353 	nlast = -1;
       
   354 	for ( oline = 0; oline &lt;= olen; ++oline ) {
       
   355 		setProgress( 75 + ( oline + 1 ) * 25 / ( olen + 1 ) );
       
   356 		if ( oline == olen || matches[oline] != -1 ) {
       
   357 			if ( oline &lt; olen )
       
   358 				nline = matches[oline];
       
   359 			else
       
   360 				nline = nlen;
       
   361 			for ( ocurrent = olast + 1; ocurrent &lt; oline; ++ocurrent ) {
       
   362 				for ( ncurrent = nlast + 1; ncurrent &lt; nline; ++ncurrent ) {
       
   363 					str1 = o[ocurrent];
       
   364 					str2 = n[ncurrent];
       
   365 					if ( ( pos = str1.lastIndexOf( "//" ) ) != -1 ) str1 = str1.substring( 0, pos );
       
   366 					if ( ( pos = str2.lastIndexOf( "//" ) ) != -1 ) str2 = str2.substring( 0, pos );
       
   367 					str1 = str1.replace( /\s+/g, " " );
       
   368 					str2 = str2.replace( /\s+/g, " " );
       
   369 					if ( str1.length == 0 ) {
       
   370 						if ( str2.replace(/\s/g, "").length == 0 )
       
   371 							break;
       
   372 						else
       
   373 							continue;
       
   374 					}
       
   375 					else if ( str2.length == 0 ) {
       
   376 						if ( str1.replace( /\s/g, "" ).length == 0 )
       
   377 							break;
       
   378 						else
       
   379 							continue;
       
   380 					}
       
   381 					if ( str1.length &lt; str2.length / 3 || str2.length &lt; str1.length / 3 )
       
   382 						continue;
       
   383 					matchlen = lcs( str1, str2, 1 ).length;
       
   384 					if ( matchlen &gt;= str1.length * 4 / 5 || matchlen &gt;= str2.length * 4 / 5 )
       
   385 						break;
       
   386 				}
       
   387 				if ( ncurrent &lt; nline ) {
       
   388 					matches[ocurrent] = ncurrent;
       
   389 					matchtype[ocurrent] = 1;
       
   390 					nlast = ncurrent;
       
   391 				}
       
   392 			}
       
   393 			if ( oline &lt; olen ) {
       
   394 				olast = oline;
       
   395 				nlast = nline;
       
   396 				matchtype[oline] = 0;
       
   397 			}
       
   398 		}
       
   399 	}
       
   400 
       
   401 	return { matching: matches, matchtype: matchtype };
       
   402 }
       
   403 
       
   404 function lcs( A, B, valueType )
       
   405 {
       
   406 	m = A.length;
       
   407 	n = B.length;
       
   408 
       
   409 	V = new Array( n );
       
   410 	if ( valueType == 0 ) {
       
   411 		for ( i = 0; i &lt; n; ++i )
       
   412 			V[i] = { pos: i, value: B[i] };
       
   413 	}
       
   414 	else {
       
   415 		for ( i = 0; i &lt; n; ++i )
       
   416 			V[i] = { pos: i, value: B.charCodeAt(i) };
       
   417 	}
       
   418 	V.sort( sortByValue );
       
   419 
       
   420 	E = new Array( n + 1 );
       
   421 	E[0] = { pos: -1, last: true};
       
   422 	for ( i = 0; i &lt; n; ++i )
       
   423 		E[i+1] = { pos: V[i].pos, last: ( i == n-1 || V[i].value != V[i+1].value ) };
       
   424 
       
   425 	P = new Array( m );
       
   426 	for ( i = 0; i &lt; m; ++i ) {
       
   427 		var idx;
       
   428 		var val = ( valueType == 0 ? A[i] : A.charCodeAt(i) );
       
   429 		for ( min = 0, max = n-1, idx = ( n - 1 ) &gt;&gt; 1; true; idx = ( min + max ) &gt;&gt; 1 ) {
       
   430 			if ( val &lt; V[idx].value )
       
   431 				max = idx - 1;
       
   432 			else if ( val &gt; V[idx].value )
       
   433 				min = idx + 1;
       
   434 			else if ( !E[idx].last )
       
   435 				max = idx - 1;
       
   436 			else
       
   437 				break;
       
   438 			if ( min &gt; max )
       
   439 				break;
       
   440 		}
       
   441 		if ( val == V[idx].value &amp;&amp; E[idx].last )
       
   442 			P[i] = idx;
       
   443 		else
       
   444 			P[i] = -1;
       
   445 	}
       
   446 
       
   447 	K = new Array( Math.min( m, n ) + 2 );
       
   448 	K[0] = new candidate( -1, -1, null );
       
   449 	K[1] = new candidate( m, n, null );
       
   450 	k = 0;
       
   451 	for ( i = 0; i &lt; m; ++i ) {
       
   452 		if ( valueType == 0 )
       
   453 			setProgress( ( i + 1 ) * 75 / ( m + 1 ) );
       
   454 		if ( P[i] != -1 ) {
       
   455 			r = 0;
       
   456 			c = K[0];
       
   457 			p = P[i] + 1;
       
   458 			var s;
       
   459 
       
   460 			while ( true ) {
       
   461 				j = E[p].pos;
       
   462 				for ( min = r, max = k, s = ( r + k ) &gt;&gt; 1; true; s = ( min + max ) &gt;&gt; 1 ) {
       
   463 					if ( j &lt; K[s].b )
       
   464 						max = s - 1;
       
   465 					else if ( j &gt; K[s + 1].b )
       
   466 						min = s + 1;
       
   467 					else
       
   468 						break;
       
   469 					if ( min &gt; max )
       
   470 						break;
       
   471 				}
       
   472 
       
   473 				if ( j &gt; K[s].b &amp;&amp; j &lt; K[s + 1].b ) {
       
   474 					temp = new candidate( i, j, K[s] );
       
   475 					K[r] = c;
       
   476 					c = temp;
       
   477 					r = s + 1;
       
   478 					if ( s == k ) {
       
   479 						K[k + 2] = K[k + 1];
       
   480 						++k;
       
   481 						break;
       
   482 					}
       
   483 				}
       
   484 
       
   485 				if ( E[p].last )
       
   486 					break;
       
   487 				++p;
       
   488 			}
       
   489 
       
   490 			K[r] = c;
       
   491 		}
       
   492 	}
       
   493 
       
   494 	J = new Array( m );
       
   495 	len = 0;
       
   496 	for ( i = 0; i &lt; m; ++i )
       
   497 		J[i] = -1;
       
   498 	for ( c = K[k]; c.a != -1; c = c.previous, ++len ) {
       
   499 		J[c.a] = c.b;
       
   500 	}
       
   501 
       
   502 	return { matching: J, length: len };
       
   503 }
       
   504 
       
   505 function candidate( a, b, previous )
       
   506 {
       
   507   this.a = a;
       
   508   this.b = b;
       
   509   this.previous = previous;
       
   510 }
       
   511 
       
   512 function sortByValue( a, b )
       
   513 {
       
   514   ret = a.value - b.value;
       
   515   return ( ret != 0 ? ret : a.pos - b.pos );
       
   516 }
       
   517 
       
   518 function pw() {return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth}
       
   519 function mouseX(evt) {return evt.clientX ? evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) : evt.pageX;}
       
   520 function mouseY(evt) {return evt.clientY ? evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) : evt.pageY}
       
   521 function popUp(evt,oi) 
       
   522 {
       
   523 	if (document.getElementById)
       
   524 	{
       
   525 		var wp = pw();
       
   526 		dm = document.getElementById(oi);
       
   527 		ds = dm.style; st = ds.visibility;
       
   528 		if (dm.offsetWidth)
       
   529 			ew = dm.offsetWidth;
       
   530 		else if (dm.clip.width)
       
   531 			ew = dm.clip.width;
       
   532 		if (st == "visible" || st == "show")
       
   533 		{
       
   534 			ds.visibility = "hidden";
       
   535 		}
       
   536 		else
       
   537 		{
       
   538 			tv = mouseY(evt) - 40;
       
   539 			lv = mouseX(evt) + (ew/8);
       
   540 			if (2 > lv)
       
   541 				lv = 2;
       
   542 			else if (lv + ew > wp) lv -= ew/2;
       
   543 			lv += 'px';
       
   544 			tv += 'px'; 
       
   545 			ds.left = lv;
       
   546 			ds.top = tv;
       
   547 			ds.visibility = "visible";
       
   548 		}
       
   549 	}
       
   550 }
       
   551 
       
   552 function getIssueTableIdx( aRepBlock )
       
   553 {
       
   554 	var len = aRepBlock.getElementsByTagName("table").length;
       
   555 	if( len &gt; 0 ) {
       
   556 		var aTable = aRepBlock.getElementsByTagName("table");
       
   557 		for( i = 0; i &lt; len; i++) {
       
   558 			if( aTable[i].id == "issueTable" ) {
       
   559 				return i;
       
   560 			}
       
   561 		}
       
   562 	}
       
   563 	return -1;
       
   564 }
       
   565 
       
   566 function getSeverityColIdx(aVal, tdNodes)
       
   567 {
       
   568 	if( tdNodes.length &gt; 0 )
       
   569 	{
       
   570 		for( i = 0 ; i &lt; tdNodes.length; i++ ) {
       
   571 			if( tdNodes[i].id == aVal ) {
       
   572 			    return i;
       
   573 			}
       
   574 		}
       
   575 	}
       
   576 	return -1;
       
   577 }
       
   578 
       
   579 function showAllIssues( aRepBlock, n, tableIdx, x, y)
       
   580 {
       
   581 	for( i = 0; i &lt; n; i++ ) {
       
   582 		// getting row that displays information
       
   583 		aTr = aRepBlock[i].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr");
       
   584 		nTr = aTr.length;
       
   585 		
       
   586 		for( j = 0; j &lt; nTr ; j++ ) {
       
   587 			aTr[j].style.display = ""; //unhide row
       
   588 			aTr[j].childNodes[x].style.display = ""; //unhide BC column
       
   589 			aTr[j].childNodes[y].style.display = ""; //unhide SC column
       
   590 		}
       
   591 		aRepBlock[i].style.display = ""; //unhide Report Block
       
   592 	}
       
   593 	return true;
       
   594 }
       
   595 
       
   596 function hideIssues(aRepBlock, n, tableIdx, x, y)
       
   597 {
       
   598 	var rtn = false;
       
   599 	for( i = 0; i &lt; n; i++ ) {
       
   600 		// getting row that displays information
       
   601 		aTr = aRepBlock[i].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr");
       
   602 		nTr = aTr.length;
       
   603 		
       
   604 		// hiding header row
       
   605 		aTr[0].childNodes[x].style.display = "";
       
   606 		aTr[0].childNodes[y].style.display = "none";
       
   607 		
       
   608 		hideBlock = 1; // flag for hiding the report block
       
   609 		
       
   610 		for( j = 1; j &lt; nTr; j++ ) {
       
   611 			// hiding row if "None"
       
   612 			if( aTr[j].childNodes[x].innerHTML == "None" ) {
       
   613 				aTr[j].style.display = "none";
       
   614 			}
       
   615 			else {
       
   616 				// else hiding column only
       
   617 				aTr[j].childNodes[x].style.display = "";
       
   618 				aTr[j].childNodes[y].style.display = "none";
       
   619 				aTr[j].style.display = "";		// unhiding row if it was hidden
       
   620 				hideBlock = 0;
       
   621 			}
       
   622 		}
       
   623 	
       
   624 		if( hideBlock == 1 ) {
       
   625 			aRepBlock[i].style.display = "none";		// hiding entire "Report Block"
       
   626 		}
       
   627 		else {
       
   628 			aRepBlock[i].style.display = "";				// unhiding entire "Report Block"
       
   629 			rtn = true;
       
   630 		}
       
   631 	}
       
   632 	return rtn;
       
   633 }
       
   634 
       
   635 function isGrpNull(aNode) {
       
   636 	if( aNode.firstChild.firstChild.firstChild.innerHTML == null ) {
       
   637 		return true;
       
   638 	}
       
   639 	return false;
       
   640 }
       
   641 
       
   642 function isExpand(aNode)
       
   643 {
       
   644 	if (aNode.firstChild.firstChild.firstChild.innerHTML.charAt(0) == "-") {
       
   645 		return true;
       
   646 	}
       
   647 	return false;
       
   648 }
       
   649 
       
   650 function showGrp (aNode,bVal)
       
   651 {
       
   652 	if (bVal) {
       
   653 		if (!isGrpNull(aNode) &amp;&amp; isExpand(aNode)) {
       
   654 			aNode.nextSibling.style.display = "";
       
   655 		}
       
   656 		aNode.style.display = "";
       
   657 	}
       
   658 	else {
       
   659 		aNode.style.display = "none";
       
   660 		aNode.nextSibling.style.display = "none";
       
   661 	}
       
   662 }
       
   663 	
       
   664 function selectIssue2 (aRepBlock, aVal) {
       
   665 	if(aRepBlock ) {
       
   666 		if( aRepBlock.length > 0 ) {
       
   667 		
       
   668 			tableIdx = getIssueTableIdx(aRepBlock[0]);
       
   669 			if( tableIdx == -1 ) {
       
   670 				alert("Error: Table of issue details not found.\nPossibly change in HTML!");
       
   671 				return true;
       
   672 			}
       
   673 			
       
   674 			// these values are set considering BC Break as default
       
   675 			var bc = getSeverityColIdx("BCSeverity", aRepBlock[0].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr")[0].childNodes),
       
   676 			    sc = getSeverityColIdx("SCSeverity", aRepBlock[0].getElementsByTagName("table")[tableIdx].getElementsByTagName("tr")[0].childNodes);
       
   677 			    
       
   678 			if( bc == -1 || sc == -1 ) {
       
   679 				alert("Error: BC/SC Severity column not found.\nPossibly change in HTML!");
       
   680 				return true;
       
   681 			}
       
   682 			
       
   683 			if ( aVal == "All" ) {
       
   684 			// if user selects All, show everything
       
   685 				return showAllIssues( aRepBlock, aRepBlock.length, tableIdx, bc, sc );
       
   686 			}
       
   687 			else {
       
   688 				// code if user selects BC or SC
       
   689 				
       
   690 				if ( aVal == "SC Break" ) {
       
   691 					return hideIssues(aRepBlock, aRepBlock.length, tableIdx, sc, bc); // changing rows id if its a SC Break
       
   692 				}
       
   693 				else {
       
   694 					return hideIssues(aRepBlock, aRepBlock.length, tableIdx, bc, sc);
       
   695 				}
       
   696 			}
       
   697 		}
       
   698 	}
       
   699 }
       
   700 
       
   701 function selectIssue( aVal ) {
       
   702 <xsl:if test="$paramSort=3">
       
   703 	if(aVal == 'BC Break')
       
   704 	{
       
   705 		var grps = document.getElementsByName("issBC");
       
   706 		var len = grps.length;
       
   707 		for ( var i = 0; i &lt; len; i++ ) {
       
   708 			showGrp(grps[i], true);
       
   709 		}
       
   710 		grps = document.getElementsByName("issSC");
       
   711 		len = grps.length;
       
   712 		for ( var i = 0; i &lt; len; i++ ) {
       
   713 			showGrp(grps[i], false);
       
   714 		}
       
   715 	}
       
   716 	else if(aVal == 'SC Break')
       
   717 	{
       
   718 		var grps = document.getElementsByName("issBC");
       
   719 		var len = grps.length;
       
   720 		for ( var i = 0; i &lt; len; i++ ) {
       
   721 			showGrp(grps[i], false);
       
   722 		}
       
   723 		grps = document.getElementsByName("issSC");
       
   724 		len = grps.length;
       
   725 		for ( var i = 0; i &lt; len; i++ ) {
       
   726 			showGrp(grps[i], true);
       
   727 		}
       
   728 	}
       
   729 	else
       
   730 	{
       
   731 		var grps = document.getElementsByName("issBC");
       
   732 		var len = grps.length;
       
   733 		for ( var i = 0; i &lt; len; i++ ) {
       
   734 			showGrp(grps[i], true);
       
   735 		}
       
   736 		grps = document.getElementsByName("issSC");
       
   737 		len = grps.length;
       
   738 		for ( var i = 0; i &lt; len; i++ ) {
       
   739 			showGrp(grps[i], true);
       
   740 		}
       
   741 	}
       
   742 	chkExpandAnc();
       
   743 </xsl:if>
       
   744 <xsl:if test="$paramSort=1 or $paramSort=2">
       
   745 	var grps = document.getElementsByName("issGrp");
       
   746 	for (var i = 0; i &lt; grps.length; i++) {
       
   747 		var divs = grps[i].nextSibling.firstChild.childNodes;
       
   748 		if (selectIssue2(divs, aVal)) {
       
   749 			grps[i].style.display = "";
       
   750 		}
       
   751 		else {
       
   752 			grps[i].style.display = "none";
       
   753 		}
       
   754 	}
       
   755 	chkExpandAnc();	
       
   756 </xsl:if>
       
   757 
       
   758 		// get "Report Blocks" in array
       
   759 		aRepBlock = document.getElementsByName(repBlk);
       
   760 		selectIssue2 (aRepBlock, aVal);
       
   761 }
       
   762 
       
   763 function isAllExpand(grpV) {
       
   764 	var grps = document.getElementsByName(grpV);
       
   765 	for( var i = 0; i &lt; grps.length; i++ ) {
       
   766 		if ( !isGrpNull(grps[i]) &amp;&amp; !isExpand(grps[i])) {
       
   767 			return false;
       
   768 		}
       
   769 	}
       
   770 	return true;
       
   771 }
       
   772 
       
   773 function expandGrp(aBool,grpV) {
       
   774 	
       
   775 	var grps = document.getElementsByName(grpV);
       
   776 	for( var i = 0; i &lt; grps.length; i++ ) {
       
   777 		if ( !isGrpNull(grps[i]) &amp;&amp; (aBool &amp;&amp; !isExpand(grps[i]) || !aBool &amp;&amp; isExpand(grps[i]))) {
       
   778 			toggleIWView2(grpV+(i+1));
       
   779 		}
       
   780 	}
       
   781 }
       
   782 
       
   783 function setExpandAnc(cn) {
       
   784 	if (cn) {
       
   785 		document.getElementById("expandAnc").innerHTML = "Expand All";
       
   786 	} else {
       
   787 		document.getElementById("expandAnc").innerHTML = "Collapse All";
       
   788 	}
       
   789 }
       
   790 
       
   791 function toggleExpand()
       
   792 {
       
   793 	var cn = document.getElementById("expandAnc").innerHTML == "Expand All";
       
   794 	
       
   795 <xsl:if test="$paramSort=3">
       
   796 	if (document.getElementById("issueDropD").value != "SC Break") {
       
   797 		expandGrp(cn,"issBC");
       
   798 	}
       
   799 	if (document.getElementById("issueDropD").value != "BC Break") {
       
   800 		expandGrp(cn,"issSC");
       
   801 	}
       
   802 </xsl:if>
       
   803 <xsl:if test="$paramSort!=3">
       
   804 		expandGrp(cn,"issGrp");
       
   805 </xsl:if>
       
   806 
       
   807 	setExpandAnc(!cn);
       
   808 }
       
   809 
       
   810 function toggleIWView2(aVal)
       
   811 {
       
   812 	if( document.getElementById(aVal+"dtl").style.display == "none" ) {
       
   813 		document.getElementById(aVal).innerHTML = "- "+document.getElementById(aVal).innerHTML.substring(2);
       
   814 		document.getElementById(aVal+"dtl").style.display = "";
       
   815 	}
       
   816 	else {
       
   817 		document.getElementById(aVal).innerHTML = "+ "+document.getElementById(aVal).innerHTML.substring(2);
       
   818 		document.getElementById(aVal+"dtl").style.display = "none";
       
   819 	}
       
   820 }
       
   821 
       
   822 function chkExpandAnc() {
       
   823 <xsl:if test="$paramSort=3">
       
   824 		var cn = false;
       
   825 		if (document.getElementById("issueDropD").value != "SC Break") {
       
   826 			cn = !isAllExpand("issBC");
       
   827 		}
       
   828 		if (document.getElementById("issueDropD").value != "BC Break") {
       
   829 			if (!cn) {
       
   830 				cn = !isAllExpand("issSC");
       
   831 			}
       
   832 		}
       
   833 </xsl:if>
       
   834 <xsl:if test="$paramSort!=3">
       
   835 		var cn = !isAllExpand("issGrp");
       
   836 </xsl:if>
       
   837 	setExpandAnc(cn);
       
   838 }
       
   839 
       
   840 function toggleIWView(aVal)
       
   841 {
       
   842 
       
   843 	toggleIWView2(aVal);
       
   844 	chkExpandAnc();
       
   845 }
       
   846 
       
   847 function changeSort()
       
   848 {
       
   849 	loadXML();
       
   850 }
       
   851 
       
   852 function loadXML() {
       
   853 
       
   854 	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
       
   855 	
       
   856 		var objXSLT = new ActiveXObject("MSXML2.FreeThreadedDomDocument");
       
   857 		objXSLT.async = false;
       
   858 		objXSLT.load("BBCResults.xsl");
       
   859 		
       
   860 		var objCompiled = new ActiveXObject("MSXML2.XSLTemplate");
       
   861 		objCompiled.stylesheet = objXSLT.documentElement;
       
   862 		
       
   863 		var objXSLProc = objCompiled.createProcessor();
       
   864 		
       
   865 		var objXML = new ActiveXObject("MSXML2.FreeThreadedDomDocument");
       
   866 		objXML.async = false;
       
   867 		objXML.load(document.URL);
       
   868 		
       
   869 		objXSLProc.input = objXML;
       
   870 		
       
   871 		eval(objXSLProc.addParameter("paramSort", document.getElementById("sortDropD").value));
       
   872 <!--
       
   873 		eval(objXSLProc.addParameter("paramIssu",document.getElementById("issueDropD").value));
       
   874 		if( document.getElementById('sd').style.display != "none" ) {
       
   875 			eval(objXSLProc.addParameter("paramShowOk", "1"));
       
   876 		}
       
   877 -->
       
   878 		
       
   879 		objXSLProc.transform();
       
   880 		
       
   881 		document.write(objXSLProc.output);
       
   882 		document.close();
       
   883 	}
       
   884 	else if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox 
       
   885 		var oXmlDom = document.implementation.createDocument("", "", null);
       
   886 		oXmlDom.async = false;
       
   887 		var oXslDom = document.implementation.createDocument("", "", null);
       
   888 		oXslDom.async = false;
       
   889 
       
   890 		oXmlDom.load(document.URL);
       
   891 		oXslDom.load("BBCResults.xsl");
       
   892 		
       
   893 		var oProcessor = new XSLTProcessor()
       
   894 		oProcessor.importStylesheet(oXslDom);
       
   895 		
       
   896 		oProcessor.setParameter(null, "paramSort", document.getElementById("sortDropD").value);
       
   897 <!--
       
   898 		oProcessor.setParameter(null, "paramIssu",document.getElementById("issueDropD").value);
       
   899 		if( document.getElementById('sd').style.display != "none" ) {
       
   900 			oProcessor.setParameter(null, "paramShowOk", "1");
       
   901 		}
       
   902 -->
       
   903 
       
   904 		var oResultDom = oProcessor.transformToDocument(oXmlDom);
       
   905 		
       
   906 		var serializer = new XMLSerializer();
       
   907 		var xml = serializer.serializeToString(oResultDom);
       
   908 		
       
   909 		document.write(xml.replace(/&amp;gt;/g,"&gt;").replace(/&amp;lt;/g,"&lt;").replace(/&amp;amp;/g,"&amp;"));
       
   910 		document.close();
       
   911 	}
       
   912 	else {
       
   913 		alert("Un supported browser");
       
   914 	}
       
   915 }
       
   916 
       
   917 function init()
       
   918 {
       
   919 	document.getElementById("sortDropD").value = "<xsl:value-of select='$paramSort' />";
       
   920 	document.getElementById("issueDropD").value = "<xsl:value-of select='$paramIssu' />";
       
   921 
       
   922 	if( document.getElementById("issueDropD").value != 'All' ) {
       
   923 		selectIssue( document.getElementById("issueDropD").value );
       
   924 	}
       
   925 <!--
       
   926 	<xsl:if test="$paramShowOk = 1">switchMenu('sd');</xsl:if>
       
   927 -->
       
   928 }
       
   929 </script>
       
   930 
       
   931 <style type="text/css">
       
   932                     div.tip {font:12px/14px
       
   933                     Arial,Helvetica,sans-serif; border:solid 1px
       
   934                     #666666; width:270px; padding:1px;
       
   935                     position:absolute; z-index:100;
       
   936                     visibility:hidden; color:#333333; top:20px;
       
   937                     left:90px; background-color:#ffffcc;
       
   938                     layer-background-color:#ffffcc;}
       
   939 </style>
       
   940 </HEAD>
       
   941 
       
   942 	<BODY bgColor="#f8f8f8" onLoad="init();">
       
   943 		<font size="4"><a id ="backlink" onclick="switchBacklink('dl');" href=""></a></font><BR/>
       
   944 	    <ul id="dl" style="display:none">	
       
   945 	      <a name="back"></a>
       
   946 	    </ul>
       
   947 	    	          
       
   948 	  <font size="4"><a id ="title"></a></font>
       
   949 	    <ul id="dl" style="display:none">	
       
   950 	      <a name="title"></a>
       
   951 	    </ul>
       
   952 	          
       
   953 	  <font size="2"><a id ="diff"></a></font>
       
   954 	    <ul id="dl" style="display:none">	
       
   955 	      <a name="diff"></a>
       
   956 	    </ul>	          
       
   957 	          
       
   958     <font size="4"><a id ="backlink1" onclick="switchBacklink('dl');" href=""></a></font><BR/>
       
   959 	    <ul id="dl" style="display:none">	
       
   960 	      <a name="back"></a>
       
   961 	    </ul>
       
   962 	
       
   963 		<font size="5"><a id ="ReportInformation" > Report Information</a></font><BR/><HR/>
       
   964 		<TABLE >
       
   965 			<TR>
       
   966 				<TD><i>type</i></TD>
       
   967 				<TD>
       
   968 		       <xsl:choose>
       
   969              <xsl:when test="$reporttype='HDR'">Headerfiles</xsl:when>
       
   970              <xsl:otherwise>Libraries</xsl:otherwise>
       
   971            </xsl:choose>
       
   972 				</TD>
       
   973 			</TR>
       
   974 			<TR>
       
   975 				<TD><i>creation date</i></TD>
       
   976 				<TD>
       
   977 					<xsl:value-of select="bbcresults/header/timestamp/year"/>-<xsl:value-of select="bbcresults/header/timestamp/month"/>-<xsl:value-of select="bbcresults/header/timestamp/day"/>
       
   978 					   at <xsl:value-of select="bbcresults/header/timestamp/hour"/>:<xsl:value-of select="bbcresults/header/timestamp/minute"/>.<xsl:value-of select="bbcresults/header/timestamp/second"/>
       
   979 				</TD>
       
   980 			</TR>
       
   981 			<TR>
       
   982 				<TD><i>baseline version</i></TD>
       
   983 				<TD><xsl:value-of select="bbcresults/header/baselineversion"/></TD>
       
   984 			</TR>
       
   985 			<TR>
       
   986 				<TD><i>current version</i></TD>
       
   987 				<TD><xsl:value-of select="bbcresults/header/currentversion"/></TD>
       
   988 			</TR>
       
   989 			<TR>
       
   990 				<TD><i>known issues list</i></TD>
       
   991 				<TD><xsl:value-of select="bbcresults/header/knownissuesversion"/></TD>
       
   992 			</TR>
       
   993 			<TR>
       
   994 				<TD><i>known issue platform versions</i></TD>
       
   995 				<xsl:for-each select="bbcresults/header/os">
       
   996 				<TR><TD>-</TD><TD><xsl:value-of select="version"/>_<xsl:value-of select="buildweek"/></TD></TR>
       
   997 				</xsl:for-each>
       
   998 			</TR>
       
   999 			<TR>
       
  1000 				<TD><i>software version</i></TD>
       
  1001 				<TD>
       
  1002 				  <xsl:if test="$reporttype='HDR'"><xsl:value-of select="bbcresults/header/haversion"/></xsl:if>
       
  1003 				  <xsl:if test="$reporttype='LIB'"><xsl:value-of select="bbcresults/header/laversion"/></xsl:if>
       
  1004 				</TD>
       
  1005 			</TR>
       
  1006 			<TR>
       
  1007 				<TD><i>report format version</i></TD>
       
  1008 				<TD><xsl:value-of select="bbcresults/header/formatversion"/></TD>
       
  1009 			</TR>
       
  1010 		</TABLE>
       
  1011 
       
  1012 		<BR/><BR/>
       
  1013 		<font size="5">Command-Line Parameters</font><BR/><HR/>
       
  1014 		<TABLE>
       
  1015 			<xsl:for-each select="bbcresults/header/cmdlineparms/parm">
       
  1016 			<TR>
       
  1017 				<xsl:choose>
       
  1018 				  <xsl:when test="pname='baselinedir' and $reporttype = 'HDR'">
       
  1019 				    <TD align="left"><I><xsl:value-of select="pname"/></I></TD>
       
  1020 				    <TD id="baselinedir" align="left">      
       
  1021 				      <xsl:choose>
       
  1022 				        <xsl:when test="contains(pvalue,'*.h')">
       
  1023 				          <xsl:value-of select="substring(pvalue,0,string-length(pvalue)-3)"/>   
       
  1024 				        </xsl:when>
       
  1025 				        <xsl:otherwise>
       
  1026 				          <xsl:value-of select="pvalue"/>
       
  1027 				       </xsl:otherwise>
       
  1028 				     </xsl:choose>
       
  1029 				     </TD>
       
  1030 				    <input type="hidden" name="origbaselinedir" id="origbaselinedir">
       
  1031 				      <xsl:attribute name="value">
       
  1032 				        <xsl:value-of select="pvalue"/>
       
  1033 				      </xsl:attribute>
       
  1034 				    </input>
       
  1035 				  </xsl:when>
       
  1036 				  <xsl:when test="pname='currentdir' and $reporttype = 'HDR'">
       
  1037 				    <TD align="left"><I><xsl:value-of select="pname"/></I></TD>
       
  1038 				    <TD id="currentdir" align="left">  
       
  1039 				      <xsl:value-of select="pvalue"/>
       
  1040 				    </TD>
       
  1041 				    <input type="hidden" name="origcurrentdir" id="origcurrentdir">
       
  1042 				      <xsl:attribute name="value">
       
  1043 				        <xsl:value-of select="pvalue"/>
       
  1044 				      </xsl:attribute>
       
  1045 				    </input>
       
  1046 				  </xsl:when>
       
  1047 				  <xsl:when test="pname='warning'">
       
  1048 				    <TD></TD>
       
  1049 				    <TD align="left"><b><xsl:value-of select="pvalue"/></b></TD>
       
  1050 				  </xsl:when>  
       
  1051 				  <xsl:otherwise>
       
  1052 				    <TD align="left"><I><xsl:value-of select="pname"/></I></TD>
       
  1053 				    <TD align="left"><xsl:value-of select="pvalue"/></TD>
       
  1054 				  </xsl:otherwise>
       
  1055 		    </xsl:choose>
       
  1056 	    </TR>
       
  1057 	    </xsl:for-each>
       
  1058     </TABLE>
       
  1059 
       
  1060 		<BR/><BR/>
       
  1061 		<font size="5">Compatibility Issues</font><HR/>
       
  1062 		<table border="0" width="100%"><tr><td>
       
  1063 				<table border="0">
       
  1064 					<tr><td><b>Sort by</b></td>
       
  1065 					<td>
       
  1066 						<select id="sortDropD" onchange="changeSort()">
       
  1067 							<option value="0">
       
  1068 								<xsl:choose>
       
  1069 						      <xsl:when test="$reporttype='HDR'">Header Names</xsl:when>
       
  1070 						      <xsl:otherwise>Library Names</xsl:otherwise>
       
  1071 						    </xsl:choose></option>
       
  1072 			<xsl:if test="$show_API = 1">
       
  1073 							<option value="1">API Name</option>
       
  1074 							<option value="2">Category Name</option>
       
  1075 			</xsl:if>
       
  1076 							<option value="3">Issue Severity</option>
       
  1077 						</select>
       
  1078 					</td></tr>
       
  1079 					<tr><td><b>Issue Type</b></td>
       
  1080 					<td><select id="issueDropD" onchange="selectIssue(this.value)">
       
  1081 							<option value="All">All</option>
       
  1082 							<option value="BC Break">BC Break</option>
       
  1083 							<option value="SC Break">SC Break</option>
       
  1084 						</select>
       
  1085 					</td></tr>
       
  1086 				</table>
       
  1087 			</td><td align="right" valign="bottom">
       
  1088 				<xsl:attribute name="style">display:<xsl:if test="$paramSort=0">none</xsl:if></xsl:attribute>
       
  1089 				<font size="3"><a id="expandAnc" onclick="toggleExpand();return false;" href="#expandAnc">Expand All</a></font>
       
  1090 			</td></tr>
       
  1091 		</table>
       
  1092 			<HR/>
       
  1093 			<br/>
       
  1094 	
       
  1095 	<xsl:choose>
       
  1096 		<xsl:when test="$paramSort=0">
       
  1097 			
       
  1098 		  <xsl:if test="$reporttype='LIB'">
       
  1099 		    <xsl:if test="count(bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]]) = 0">
       
  1100 		      <i>There are no issues.</i><BR/>
       
  1101 		    </xsl:if>
       
  1102 	    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]]">
       
  1103 				<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1104 					<xsl:call-template name="LIBNotOK" />
       
  1105 				</xsl:for-each>
       
  1106 		  </xsl:if>
       
  1107 		  <xsl:if test="$reporttype='HDR'">
       
  1108 		    <xsl:if test="count(bbcresults/issuelist/headerfile[status!='OK']) = 0">
       
  1109 		      <i>There are no issues.</i><BR/>
       
  1110 		    </xsl:if>
       
  1111 	    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK']">
       
  1112 				<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1113 					<xsl:call-template name="HDRNotOK" />
       
  1114 				</xsl:for-each>
       
  1115 		  </xsl:if>
       
  1116 			
       
  1117 		</xsl:when>
       
  1118 		<xsl:when test="$paramSort=1 or $paramSort=2">
       
  1119 			
       
  1120 	  <xsl:if test="$reporttype='LIB'">
       
  1121 	  	<xsl:choose>
       
  1122 	    <xsl:when test="count(bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]]) = 0">
       
  1123 	      <i>There are no issues.</i><BR/>
       
  1124 	    </xsl:when>
       
  1125 	    <xsl:otherwise>
       
  1126 	  
       
  1127 			  <table width="100%">
       
  1128 		
       
  1129 		    	<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)))]">
       
  1130 					<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1131 						<xsl:variable name="lbl">
       
  1132 							<xsl:if test="$paramSort=1"><xsl:value-of select="api/@name"/></xsl:if>
       
  1133 							<xsl:if test="$paramSort=2"><xsl:value-of select="api/@category"/></xsl:if>  </xsl:variable>
       
  1134 						<xsl:variable name="grId">issGrp<xsl:value-of select="position()" /></xsl:variable>
       
  1135 				
       
  1136 						<tr name="issGrp" id="issGrp"><td><font size="4"> <a><xsl:attribute name="onclick">toggleIWView('<xsl:value-of select="$grId"/>');return false;</xsl:attribute>
       
  1137 							<xsl:attribute name="id"><xsl:value-of select="$grId"/></xsl:attribute>
       
  1138 							<xsl:attribute name="href">#<xsl:value-of select="$grId"/></xsl:attribute>+ <xsl:value-of select="$lbl"/></a></font></td></tr>
       
  1139 						<tr style="display:none"><xsl:attribute name="id"><xsl:value-of select="$grId"/>dtl</xsl:attribute> <td>
       
  1140 					   	<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))]">
       
  1141 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1142 									<xsl:call-template name="LIBNotOK">
       
  1143 										<xsl:with-param name="issBCSC" select="'3'" />
       
  1144 									</xsl:call-template>
       
  1145 								</xsl:for-each>
       
  1146 						</td></tr>
       
  1147 					
       
  1148 					</xsl:for-each>
       
  1149 					
       
  1150 				</table>
       
  1151 				
       
  1152 	   	</xsl:otherwise>
       
  1153 	  	</xsl:choose>
       
  1154 		</xsl:if>
       
  1155 	
       
  1156 	  <xsl:if test="$reporttype='HDR'">
       
  1157 	  	<xsl:choose>
       
  1158 	    <xsl:when test="count(bbcresults/issuelist/headerfile[status!='OK']) = 0">
       
  1159 	      <i>There are no issues.</i><BR/>
       
  1160 	    </xsl:when>
       
  1161 	    <xsl:otherwise>
       
  1162 	  
       
  1163 			  <table width="100%">
       
  1164 		
       
  1165 		    	<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)))]">
       
  1166 					<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1167 						<xsl:variable name="lbl">
       
  1168 							<xsl:if test="$paramSort=1"><xsl:value-of select="api/@name"/></xsl:if>
       
  1169 							<xsl:if test="$paramSort=2"><xsl:value-of select="api/@category"/></xsl:if>  </xsl:variable>
       
  1170 						<xsl:variable name="grId">issGrp<xsl:value-of select="position()" /></xsl:variable>
       
  1171 				
       
  1172 						<tr name="issGrp" id="issGrp"><td><font size="4"> <a><xsl:attribute name="onclick">toggleIWView('<xsl:value-of select="$grId"/>');return false;</xsl:attribute>
       
  1173 							<xsl:attribute name="id"><xsl:value-of select="$grId"/></xsl:attribute>
       
  1174 							<xsl:attribute name="href">#<xsl:value-of select="$grId"/></xsl:attribute>+ <xsl:value-of select="$lbl"/></a></font></td></tr>
       
  1175 						<tr style="display:none"><xsl:attribute name="id"><xsl:value-of select="$grId"/>dtl</xsl:attribute> <td>
       
  1176 					   	<xsl:for-each select="//headerfile[status!='OK' and (($paramSort=1 and api/@name=$lbl) or ($paramSort=2 and api/@category=$lbl))]">
       
  1177 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1178 									<xsl:call-template name="HDRNotOK" />
       
  1179 								</xsl:for-each>
       
  1180 						</td></tr>
       
  1181 					
       
  1182 					</xsl:for-each>
       
  1183 					
       
  1184 				</table>
       
  1185 				
       
  1186 	  	</xsl:otherwise>
       
  1187 	  	</xsl:choose>
       
  1188 		</xsl:if>
       
  1189 	</xsl:when>
       
  1190 	
       
  1191 	<xsl:when test="$paramSort=3">
       
  1192 
       
  1193 	  <xsl:if test="$reporttype='LIB'">
       
  1194 	  <xsl:choose>
       
  1195 	    <xsl:when test="count(bbcresults/issuelist/library[issue[(count(status)=0 or status!='OK') and typeid!=2]]) = 0">
       
  1196 	      <i>There are no issues.</i><BR/>
       
  1197 	    </xsl:when>
       
  1198 	    <xsl:otherwise>
       
  1199 	    	
       
  1200 				<table width="100%">
       
  1201 					
       
  1202 							<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>
       
  1203 							<tr id="issBC1dtl" style="display:none"><td>
       
  1204 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='BBC Break']]">
       
  1205 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1206 									<xsl:call-template name="LIBNotOK" >
       
  1207 										<xsl:with-param name="issTyp" select="'BBC Break'" />
       
  1208 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1209 									</xsl:call-template>
       
  1210 								</xsl:for-each>
       
  1211 							</td></tr>
       
  1212 						
       
  1213 							<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>
       
  1214 							<tr id="issBC2dtl" style="display:none"><td>
       
  1215 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='FC Break']]">
       
  1216 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1217 									<xsl:call-template name="LIBNotOK" >
       
  1218 										<xsl:with-param name="issTyp" select="'FC Break'" />
       
  1219 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1220 									</xsl:call-template>
       
  1221 								</xsl:for-each>
       
  1222 							</td></tr>
       
  1223 						
       
  1224 							<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>
       
  1225 							<tr id="issSC1dtl" style="display:none"><td>
       
  1226 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and sc_severity='SC Break']]">
       
  1227 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1228 									<xsl:call-template name="LIBNotOK" >
       
  1229 										<xsl:with-param name="issTyp" select="'SC Break'" />
       
  1230 										<xsl:with-param name="issBCSC" select="'2'" />
       
  1231 									</xsl:call-template>
       
  1232 								</xsl:for-each>
       
  1233 							</td></tr>
       
  1234 						
       
  1235 							<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>
       
  1236 							<tr id="issBC3dtl" style="display:none"><td>
       
  1237 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='Possible BBC Break']]">
       
  1238 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1239 									<xsl:call-template name="LIBNotOK" >
       
  1240 										<xsl:with-param name="issTyp" select="'Possible BBC Break'" />
       
  1241 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1242 									</xsl:call-template>
       
  1243 								</xsl:for-each>
       
  1244 							</td></tr>
       
  1245 						
       
  1246 							<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>
       
  1247 							<tr id="issBC4dtl" style="display:none"><td>
       
  1248 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='Possible FC Break']]">
       
  1249 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1250 									<xsl:call-template name="LIBNotOK" >
       
  1251 										<xsl:with-param name="issTyp" select="'Possible FC Break'" />
       
  1252 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1253 									</xsl:call-template>
       
  1254 								</xsl:for-each>
       
  1255 							</td></tr>
       
  1256 						
       
  1257 							<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>
       
  1258 							<tr id="issSC2dtl" style="display:none"><td>
       
  1259 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and sc_severity='Possible SC Break']]">
       
  1260 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1261 									<xsl:call-template name="LIBNotOK" >
       
  1262 										<xsl:with-param name="issTyp" select="'Possible SC Break'" />
       
  1263 										<xsl:with-param name="issBCSC" select="'2'" />
       
  1264 									</xsl:call-template>
       
  1265 								</xsl:for-each>
       
  1266 							</td></tr>
       
  1267 						
       
  1268 							<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>
       
  1269 							<tr id="issBC5dtl" style="display:none"><td>
       
  1270 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and bc_severity='Informative']]">
       
  1271 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1272 									<xsl:call-template name="LIBNotOK" >
       
  1273 										<xsl:with-param name="issTyp" select="'Informative'" />
       
  1274 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1275 									</xsl:call-template>
       
  1276 								</xsl:for-each>
       
  1277 							</td></tr>
       
  1278 						
       
  1279 							<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>
       
  1280 							<tr id="issSC3dtl" style="display:none"><td>
       
  1281 					    	<xsl:for-each select="bbcresults/issuelist/library[issue[(count(status) = 0 or status!='OK') and typeid!=2 and sc_severity='Informative']]">
       
  1282 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1283 									<xsl:call-template name="LIBNotOK" >
       
  1284 										<xsl:with-param name="issTyp" select="'Informative'" />
       
  1285 										<xsl:with-param name="issBCSC" select="'2'" />
       
  1286 									</xsl:call-template>
       
  1287 								</xsl:for-each>
       
  1288 							</td></tr>
       
  1289 
       
  1290 				</table>
       
  1291 			</xsl:otherwise>
       
  1292 		</xsl:choose>
       
  1293 		
       
  1294 		</xsl:if>
       
  1295 
       
  1296 	  <xsl:if test="$reporttype='HDR'">
       
  1297 	    <xsl:if test="count(bbcresults/issuelist/headerfile[status!='OK']) = 0">
       
  1298 	      <i>There are no issues.</i><BR/>
       
  1299 	    </xsl:if>
       
  1300 	    <xsl:if test="count(bbcresults/issuelist/headerfile[status!='OK']) &gt; 0">
       
  1301 				<table id="iwTable" name="iwTable" width="100%">
       
  1302 					
       
  1303 							<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>
       
  1304 							<tr id="issBC1dtl" style="display:none"><td>
       
  1305 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='BBC Break']">
       
  1306 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1307 									<xsl:call-template name="HDRNotOK" >
       
  1308 										<xsl:with-param name="issTyp" select="'BBC Break'" />
       
  1309 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1310 									</xsl:call-template>
       
  1311 								</xsl:for-each>
       
  1312 							</td></tr>
       
  1313 						
       
  1314 							<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>
       
  1315 							<tr id="issBC2dtl" style="display:none"><td>
       
  1316 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='FC Break']">
       
  1317 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1318 									<xsl:call-template name="HDRNotOK" >
       
  1319 										<xsl:with-param name="issTyp" select="'FC Break'" />
       
  1320 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1321 									</xsl:call-template>
       
  1322 								</xsl:for-each>
       
  1323 							</td></tr>
       
  1324 						
       
  1325 							<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>
       
  1326 							<tr id="issSC1dtl" style="display:none"><td>
       
  1327 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/scseverity/typestring='SC Break']">
       
  1328 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1329 									<xsl:call-template name="HDRNotOK" >
       
  1330 										<xsl:with-param name="issTyp" select="'SC Break'" />
       
  1331 										<xsl:with-param name="issBCSC" select="'2'" />
       
  1332 									</xsl:call-template>
       
  1333 								</xsl:for-each>
       
  1334 							</td></tr>
       
  1335 						
       
  1336 							<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>
       
  1337 							<tr id="issBC3dtl" style="display:none"><td>
       
  1338 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='Possible BBC Break']">
       
  1339 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1340 									<xsl:call-template name="HDRNotOK" >
       
  1341 										<xsl:with-param name="issTyp" select="'Possible BBC Break'" />
       
  1342 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1343 									</xsl:call-template>
       
  1344 								</xsl:for-each>
       
  1345 							</td></tr>
       
  1346 						
       
  1347 							<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>
       
  1348 							<tr id="issBC4dtl" style="display:none"><td>
       
  1349 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='Possible FC Break']">
       
  1350 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1351 									<xsl:call-template name="HDRNotOK" >
       
  1352 										<xsl:with-param name="issTyp" select="'Possible FC Break'" />
       
  1353 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1354 									</xsl:call-template>
       
  1355 								</xsl:for-each>
       
  1356 							</td></tr>
       
  1357 						
       
  1358 							<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>
       
  1359 							<tr id="issSC2dtl" style="display:none"><td>
       
  1360 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/scseverity/typestring='Possible SC Break']">
       
  1361 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1362 									<xsl:call-template name="HDRNotOK" >
       
  1363 										<xsl:with-param name="issTyp" select="'Possible SC Break'" />
       
  1364 										<xsl:with-param name="issBCSC" select="'2'" />
       
  1365 									</xsl:call-template>
       
  1366 								</xsl:for-each>
       
  1367 							</td></tr>
       
  1368 						
       
  1369 							<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>
       
  1370 							<tr id="issBC5dtl" style="display:none"><td>
       
  1371 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/severity/typestring='Informative']">
       
  1372 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1373 									<xsl:call-template name="HDRNotOK" >
       
  1374 										<xsl:with-param name="issTyp" select="'Informative'" />
       
  1375 										<xsl:with-param name="issBCSC" select="'1'" />
       
  1376 									</xsl:call-template>
       
  1377 								</xsl:for-each>
       
  1378 							</td></tr>
       
  1379 						
       
  1380 							<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>
       
  1381 							<tr id="issSC3dtl" style="display:none"><td>
       
  1382 					    	<xsl:for-each select="bbcresults/issuelist/headerfile[status!='OK' and issue/scseverity/typestring='Informative']">
       
  1383 								<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1384 									<xsl:call-template name="HDRNotOK" >
       
  1385 										<xsl:with-param name="issTyp" select="'Informative'" />
       
  1386 										<xsl:with-param name="issBCSC" select="'2'" />
       
  1387 									</xsl:call-template>
       
  1388 								</xsl:for-each>
       
  1389 							</td></tr>
       
  1390 
       
  1391 				</table>
       
  1392 			</xsl:if>
       
  1393 		</xsl:if>
       
  1394 	</xsl:when>
       
  1395 	</xsl:choose>
       
  1396 <hr/>
       
  1397 
       
  1398 <BR/><BR/>
       
  1399 <font size="3"><a id ="cl" onclick="switchMenu('sd');return false;" href="#hd">View OK Issues</a></font><BR/><BR/>
       
  1400 
       
  1401 <ul id="sd" name="sd" style="display:none">	
       
  1402   <a name="hd"></a><BR/><font size="5" >Compatibility OK Issues</font><HR/>
       
  1403   <xsl:if test="$reporttype='LIB'">
       
  1404     <xsl:if test="count(bbcresults/issuelist/library[issue[status='OK' and typeid!=2 and typeid!=7 and typeid!=14]]) = 0">
       
  1405       <TR><i>There are no issues.</i></TR>
       
  1406     </xsl:if>
       
  1407   	<xsl:for-each select="bbcresults/issuelist/library[issue[status='OK' and typeid!=2 and typeid!=7 and typeid!=14]]">
       
  1408 		<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1409 			<xsl:call-template name="LIBOK" />
       
  1410 		</xsl:for-each>
       
  1411   </xsl:if>
       
  1412 
       
  1413   <xsl:if test="$reporttype='HDR'">
       
  1414     <xsl:if test="count(bbcresults/issuelist/headerfile[status='OK']) = 0">
       
  1415       <TR><i>There are no issues.</i></TR>
       
  1416     </xsl:if>
       
  1417   	<xsl:for-each select="bbcresults/issuelist/headerfile[status='OK']">
       
  1418 		<xsl:sort select="*[name()=$sort1]/@name | *[name()=$sort2]/@category | *[name()=$sort0]" />
       
  1419 			<xsl:call-template name="HDROK" />
       
  1420 		</xsl:for-each>
       
  1421   </xsl:if>	
       
  1422 </ul>
       
  1423 		</BODY>
       
  1424 </HTML>
       
  1425 </xsl:template>
       
  1426 
       
  1427 	<xsl:template name="HDRNotOK" >
       
  1428 		<xsl:param name="issTyp" select="-1" />
       
  1429 		<xsl:param name="issBCSC" select="'0'" />
       
  1430 		<div id="repBlock" name="repBlock">
       
  1431 			<table width="100%" cellspacing="0" cellpadding="0" border="0" style="visibility:visible">
       
  1432 			<tr>
       
  1433 				<td>
       
  1434 			<table cellspacing="0" cellpadding="0" border="0" style="visibility:visible">
       
  1435 			<tr>
       
  1436 				<td colspan="3">
       
  1437 			  	<xsl:choose>
       
  1438 		  			<xsl:when test="$paramSort = 0 and $show_API=1"><font size="4"><b><xsl:value-of select="shortname"/></b></font></xsl:when>
       
  1439 		  			<xsl:otherwise><font size="4"><xsl:value-of select="shortname"/></font></xsl:otherwise>
       
  1440 			  	</xsl:choose>
       
  1441 			  </td>
       
  1442 			</tr>
       
  1443 		<xsl:if test="$show_API=1">
       
  1444 			<tr>
       
  1445 				<td>
       
  1446 			  	<xsl:choose>
       
  1447 		  			<xsl:when test="$paramSort = 1"><font size="4"><b><i><xsl:value-of select="api/@name"/></i></b></font></xsl:when>
       
  1448 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@name"/></i></font></xsl:otherwise>
       
  1449 			  	</xsl:choose>
       
  1450 			  </td>
       
  1451 			  <td width="30" align="center"><font size="3"><b>:</b></font></td>
       
  1452 				<td>
       
  1453 			  	<xsl:choose>
       
  1454 		  			<xsl:when test="$paramSort = 2"><font size="4"><b><i><xsl:value-of select="api/@category"/></i></b></font></xsl:when>
       
  1455 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@category"/></i></font></xsl:otherwise>
       
  1456 			  	</xsl:choose>
       
  1457 			  </td>
       
  1458 			</tr>
       
  1459 		</xsl:if>
       
  1460 		</table>
       
  1461 				</td>
       
  1462 			  <td valign="bottom" align="right">
       
  1463 						<A>
       
  1464 							<xsl:attribute name="href">
       
  1465 							  javascript:showFile( '<xsl:value-of select="translate(filename, '\\', '/')"/>', null );
       
  1466 							</xsl:attribute>
       
  1467 							<xsl:if test="filename != ''">baseline</xsl:if>
       
  1468 						</A>		
       
  1469 			<xsl:if test="filename = ''"><font color="#808080">baseline</font></xsl:if>
       
  1470 
       
  1471 			<font size="3"> . </font>
       
  1472 		
       
  1473 						<A>
       
  1474 							<xsl:attribute name="href">
       
  1475 							  javascript:showFile( null, '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' );
       
  1476 							</xsl:attribute>
       
  1477 							<xsl:if test="comparefilename != ''">current</xsl:if>
       
  1478 						</A>
       
  1479 				
       
  1480 			<xsl:if test="comparefilename = ''"><font color="#808080">current</font></xsl:if>
       
  1481 
       
  1482 			<font size="3"> . </font>
       
  1483 
       
  1484 			<xsl:choose>
       
  1485 			  <xsl:when test="filename != '' and comparefilename != ''">
       
  1486 			    <A>
       
  1487 						<xsl:attribute name="href">
       
  1488 							javascript:showDiff( '<xsl:value-of select="translate(shortname, '\\', '/')"/>', '<xsl:value-of select="translate(filename, '\\', '/')"/>', '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' );
       
  1489 						</xsl:attribute>
       
  1490 						diff
       
  1491 			    </A>
       
  1492 			  </xsl:when>
       
  1493 				<xsl:otherwise>
       
  1494 			    <font color="#808080">diff</font>
       
  1495 				</xsl:otherwise>
       
  1496 			</xsl:choose>
       
  1497 			
       
  1498 			</td></tr>
       
  1499 			</table>
       
  1500 			<table border="0" cellpadding="2" cellspacing="0" bgColor="black" width = "100%">
       
  1501 			<TR><TD><table border="0" cellspacing="0" cellpadding="3" width = "100%">
       
  1502 
       
  1503 			<TR>
       
  1504          <xsl:attribute name="bgColor">
       
  1505 			    <xsl:choose>
       
  1506 			      <xsl:when test="status = 'OK'">#a8d098</xsl:when>
       
  1507 			      <xsl:otherwise>#d0c8c0</xsl:otherwise>
       
  1508 			    </xsl:choose>
       
  1509 			  </xsl:attribute>
       
  1510 			<TD align="left">
       
  1511 			<xsl:choose>
       
  1512 			    <xsl:when test="status = 'NOK'"><b>This header contains changes that cause incompatibility. It must be fixed.</b></xsl:when>
       
  1513 			    <xsl:when test="status = 'MOK'"><b>This header contains changes that cannot be verified automatically; they must be investigated manually.</b></xsl:when>
       
  1514 			    <xsl:when test="status = 'OK'"><b>This header is known to be ok.</b></xsl:when>
       
  1515 			    <xsl:when test="status = 'IOK'"><b>This issue is known to be ok. But the header contains other unrelated changes.</b></xsl:when>
       
  1516 				<xsl:otherwise><b>This header contains changes that may cause incompatibility. It must be analysed by an expert.</b></xsl:otherwise>
       
  1517 			</xsl:choose>
       
  1518 
       
  1519 			<xsl:choose>
       
  1520 			    <xsl:when test="status = 'NOK' or status = 'MOK' or status = 'OK' or status = 'IOK'">
       
  1521 			      <HR/><xsl:value-of select="comment"/>
       
  1522 				</xsl:when>
       
  1523 			</xsl:choose>
       
  1524 			</TD></TR>
       
  1525 
       
  1526 			</table>
       
  1527 
       
  1528 				<table width="100%" cellpadding="0" cellspacing="0" bgColor="black" height="1"><tr><td/></tr></table>
       
  1529 				<table width = "100%" cellpadding="0" cellspacing="0" bgColor="#b0a8a0">
       
  1530 				<tr><td><table width = "100%" cellpadding="3" cellspacing="1"  id="issueTable">
       
  1531 				<tr bgcolor="#f0e8e0">
       
  1532 				<TH align="left" width = "350"><B>Problem description</B></TH>
       
  1533 				<TH align="left"><B>Cause</B></TH>
       
  1534 				<TH align="left" width = "150" id="BCSeverity">
       
  1535 					<xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  1536 					<B>BC Severity</B></TH>
       
  1537 				<xsl:if test="count(issue/scseverity) &gt; 0">	
       
  1538 				  <TH align="left" width = "150" id="SCSeverity">
       
  1539 				  	<xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  1540 				  	<B>SC Severity</B></TH>		
       
  1541 				</xsl:if>	
       
  1542 				</tr>
       
  1543 
       
  1544 				<xsl:choose>
       
  1545 					<xsl:when test="$issBCSC='0'">
       
  1546 						<xsl:for-each select="issue">
       
  1547 							<xsl:call-template name="issHDRNotOK" />
       
  1548 						</xsl:for-each>
       
  1549 					</xsl:when>
       
  1550 					<xsl:when test="$issBCSC='1'">
       
  1551 						<xsl:for-each select="issue[severity/typestring=$issTyp]">
       
  1552 							<xsl:call-template name="issHDRNotOK">
       
  1553 								<xsl:with-param name="issBCSC" select="$issBCSC" />
       
  1554 							</xsl:call-template>
       
  1555 						</xsl:for-each>
       
  1556 					</xsl:when>
       
  1557 					<xsl:when test="$issBCSC='2'">
       
  1558 						<xsl:for-each select="issue[scseverity/typestring=$issTyp]">
       
  1559 							<xsl:call-template name="issHDRNotOK">
       
  1560 								<xsl:with-param name="issBCSC" select="$issBCSC" />
       
  1561 							</xsl:call-template>
       
  1562 						</xsl:for-each>
       
  1563 					</xsl:when>
       
  1564 				</xsl:choose>
       
  1565 				</table></td></tr></table>
       
  1566 			</TD></TR></table>
       
  1567 			<BR/>
       
  1568 			</div>
       
  1569 		</xsl:template>
       
  1570 
       
  1571 	<xsl:template name="issHDRNotOK" >
       
  1572 		<xsl:param name="issBCSC" select="'0'" />
       
  1573 				<xsl:variable name="bccellbgcolour">
       
  1574 				<xsl:choose>
       
  1575 				<xsl:when test="count(scseverity) &gt; 0">	
       
  1576 				  <xsl:choose>
       
  1577 					  <xsl:when test="severity/typeid = 1 or severity/typeid = 4"><xsl:text>#ffb880</xsl:text></xsl:when>			   
       
  1578 					  <xsl:when test="severity/typeid = 2 or severity/typeid = 5"><xsl:text>#ffffa0</xsl:text></xsl:when>			  
       
  1579 				    <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise>
       
  1580 				  </xsl:choose>
       
  1581 				</xsl:when>			  
       
  1582 				<xsl:otherwise>
       
  1583 				  <xsl:choose>
       
  1584 				    <xsl:when test="severity/typeid = 0"><xsl:text>#ffb880</xsl:text></xsl:when>			   
       
  1585 				    <xsl:when test="severity/typeid = 1"><xsl:text>#ffffa0</xsl:text></xsl:when>			  
       
  1586 				    <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise>
       
  1587 				  </xsl:choose>
       
  1588 				</xsl:otherwise> 
       
  1589 				</xsl:choose> 
       
  1590 				</xsl:variable>
       
  1591 				    
       
  1592 				<xsl:variable name="sccellbgcolour">		
       
  1593 				  <xsl:choose>
       
  1594 				    <xsl:when test="scseverity/typeid = 1"><xsl:text>#ffb880</xsl:text></xsl:when>
       
  1595 					  <xsl:when test="scseverity/typeid = 2"><xsl:text>#ffffa0</xsl:text></xsl:when>
       
  1596 					  <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise>
       
  1597 				  </xsl:choose>				
       
  1598 				</xsl:variable>				
       
  1599          
       
  1600 		        <TR bgcolor= "White">
       
  1601 			    <xsl:variable name = "notSpecified">
       
  1602 					<xsl:text>Not specified</xsl:text>
       
  1603 				</xsl:variable>	
       
  1604 				<xsl:variable name = "valueFromDocument">					
       
  1605 					<xsl:value-of select="documentation" />					
       
  1606 				</xsl:variable>
       
  1607 				<xsl:variable name="global">
       
  1608 					<xsl:value-of select="identitydescription"/>
       
  1609 					<xsl:text> </xsl:text>
       
  1610 					<xsl:value-of select="typestring"/>										
       
  1611 				</xsl:variable>				
       
  1612 				<TD><xsl:value-of select="$global"/></TD>
       
  1613 			
       
  1614 				<xsl:choose>
       
  1615 					<xsl:when test = "typeid = 13 and identityid = 13">
       
  1616 					
       
  1617 						<xsl:variable name="compErrID">
       
  1618 							<xsl:text>err</xsl:text><xsl:value-of select="issueid" />							
       
  1619 						</xsl:variable>
       
  1620 					
       
  1621 						<TD>
       
  1622 							<div>
       
  1623 								<xsl:attribute name="id"><xsl:value-of select="$compErrID" /></xsl:attribute>
       
  1624 								<xsl:attribute name="class">tip</xsl:attribute>
       
  1625 								<xsl:value-of select="compilationerror"/>
       
  1626 							</div>
       
  1627 							
       
  1628 							<a>
       
  1629 								<xsl:attribute name="href">#</xsl:attribute>
       
  1630 								<xsl:attribute name="onmouseout">popUp(event,'<xsl:value-of select="$compErrID"/>')</xsl:attribute>
       
  1631 								<xsl:attribute name="onmouseover">popUp(event,'<xsl:value-of select="$compErrID"/>')</xsl:attribute>
       
  1632 								<xsl:attribute name="onclick">return false</xsl:attribute>
       
  1633 								<font color="#FF0000">Compilation Error</font>
       
  1634 							</a>
       
  1635 						</TD>
       
  1636 					</xsl:when>
       
  1637 					<xsl:when test = "contains($valueFromDocument, $notSpecified)">
       
  1638 						<TD><xsl:value-of select="cause"/></TD>
       
  1639 					</xsl:when>
       
  1640 					<xsl:otherwise>
       
  1641 						<TD> <A><xsl:attribute name="href"><xsl:value-of select="documentation" /></xsl:attribute><xsl:value-of select="cause"/></A></TD>
       
  1642 					</xsl:otherwise>
       
  1643 				</xsl:choose>
       
  1644             
       
  1645 	    		<TD bgcolor= "{$bccellbgcolour}">
       
  1646 	    			<xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  1647 	    			<xsl:value-of select="severity/typestring"/></TD>
       
  1648 	    		<xsl:if test="count(scseverity) &gt; 0">	
       
  1649 	    		<TD bgcolor= "{$sccellbgcolour}">
       
  1650 	    			<xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  1651 	    			<xsl:value-of select="scseverity/typestring"/></TD>
       
  1652 	    		</xsl:if>
       
  1653 				</TR>
       
  1654 	</xsl:template>
       
  1655 
       
  1656 		<xsl:template name="HDROK">
       
  1657 			<div>
       
  1658 				<xsl:attribute name="id"><xsl:value-of select="$xslRepBlk"/></xsl:attribute>
       
  1659 				<xsl:attribute name="name"><xsl:value-of select="$xslRepBlk"/></xsl:attribute>
       
  1660 			<table width="100%" cellspacing="0" cellpadding="0" border="0">
       
  1661 			<tr>
       
  1662 				<td>
       
  1663 			<table cellspacing="0" cellpadding="0" border="0">
       
  1664 			<tr>
       
  1665 				<td colspan="3">
       
  1666 			  	<xsl:choose>
       
  1667 		  			<xsl:when test="$show_API = 1 and $paramSort = 0"><font size="4"><b><xsl:value-of select="shortname"/></b></font></xsl:when>
       
  1668 		  			<xsl:otherwise><font size="4"><xsl:value-of select="shortname"/></font></xsl:otherwise>
       
  1669 			  	</xsl:choose>
       
  1670 			  </td>
       
  1671 			</tr>
       
  1672 		<xsl:if test="$show_API=1">
       
  1673 			<tr>
       
  1674 				<td>
       
  1675 			  	<xsl:choose>
       
  1676 		  			<xsl:when test="$paramSort = 1"><font size="4"><b><i><xsl:value-of select="api/@name"/></i></b></font></xsl:when>
       
  1677 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@name"/></i></font></xsl:otherwise>
       
  1678 			  	</xsl:choose>
       
  1679 			  </td>
       
  1680 				<td width="30" align="center"><font size="3"><b>:</b></font></td>
       
  1681 				<td>
       
  1682 			  	<xsl:choose>
       
  1683 		  			<xsl:when test="$paramSort = 2"><font size="4"><b><i><xsl:value-of select="api/@category"/></i></b></font></xsl:when>
       
  1684 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@category"/></i></font></xsl:otherwise>
       
  1685 			  	</xsl:choose>
       
  1686 			  </td>
       
  1687 			</tr>
       
  1688 		</xsl:if>
       
  1689 		</table>
       
  1690 				</td>
       
  1691 			  <td align="right" valign="bottom">
       
  1692 						<A>
       
  1693 							<xsl:attribute name="href">
       
  1694 							  javascript:showFile( '<xsl:value-of select="translate(filename, '\\', '/')"/>', null );
       
  1695 							</xsl:attribute>
       
  1696 							<xsl:if test="filename != ''">baseline</xsl:if>
       
  1697 					  </A>
       
  1698 	
       
  1699 			<xsl:if test="filename = ''"><font color="#808080">baseline</font></xsl:if>
       
  1700 
       
  1701 			<font size="3"> . </font>
       
  1702 
       
  1703 						<A>
       
  1704 							<xsl:attribute name="href">
       
  1705 							  javascript:showFile( null, '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' );
       
  1706 							</xsl:attribute>
       
  1707 							<xsl:if test="comparefilename != ''">current</xsl:if>
       
  1708 						</A>
       
  1709 						
       
  1710 			<xsl:if test="comparefilename = ''"><font color="#808080">current</font></xsl:if>
       
  1711 
       
  1712 			<font size="3"> . </font>
       
  1713 
       
  1714 			<xsl:choose>
       
  1715 			  <xsl:when test="filename != '' and comparefilename != ''">
       
  1716 			    <A>
       
  1717 						<xsl:attribute name="href">
       
  1718 							javascript:showDiff( '<xsl:value-of select="translate(shortname, '\\', '/')"/>', '<xsl:value-of select="translate(filename, '\\', '/')"/>', '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' );
       
  1719 						</xsl:attribute>
       
  1720 						diff
       
  1721 			    </A>
       
  1722 			  </xsl:when>
       
  1723 				<xsl:otherwise>
       
  1724 			    <font color="#808080">diff</font>
       
  1725 				</xsl:otherwise>
       
  1726 			</xsl:choose>
       
  1727 			
       
  1728 			</td></tr>
       
  1729 			</table>
       
  1730 			<table border="0" cellpadding="2" cellspacing="0" bgColor="black" width = "100%">
       
  1731 			<TR><TD><table border="0" cellspacing="0" cellpadding="3" width = "100%">
       
  1732 
       
  1733 			<TR>
       
  1734               <xsl:attribute name="bgColor">
       
  1735 			    <xsl:choose>
       
  1736 			      <xsl:when test="status = 'OK'">#a8d098</xsl:when>
       
  1737 			      <xsl:otherwise>#d0c8c0</xsl:otherwise>
       
  1738 			    </xsl:choose>
       
  1739 			  </xsl:attribute>
       
  1740 			<TD align="left">
       
  1741 			<xsl:choose>
       
  1742 			    <xsl:when test="status = 'NOK'"><b>This header contains changes that cause incompatibility. It must be fixed.</b></xsl:when>
       
  1743 			    <xsl:when test="status = 'MOK'"><b>This header contains changes that cannot be verified automatically; they must be investigated manually.</b></xsl:when>
       
  1744 			    <xsl:when test="status = 'OK'"><b>This header is known to be ok.</b></xsl:when>
       
  1745 			    <xsl:when test="status = 'IOK'"><b>This issue is known to be ok. But the header contains other unrelated changes.</b></xsl:when>
       
  1746 				<xsl:otherwise><b>This header contains changes that may cause incompatibility. It must be analysed by an expert.</b></xsl:otherwise>
       
  1747 			</xsl:choose>
       
  1748 
       
  1749 			<xsl:choose>
       
  1750 			    <xsl:when test="status = 'NOK' or status = 'MOK' or status = 'OK' or status = 'IOK'">
       
  1751 			      <HR/><xsl:value-of select="comment"/>
       
  1752 				</xsl:when>
       
  1753 			</xsl:choose>
       
  1754 			</TD></TR>
       
  1755 
       
  1756 			</table>
       
  1757 
       
  1758 				<table width = "100%" cellpadding="0" cellspacing="0" bgColor="black" height="1"><tr><td></td></tr></table>
       
  1759 				<table width = "100%" cellpadding="0" cellspacing="0" bgColor="#b0a8a0">
       
  1760 				<tr><td><table width = "100%" cellpadding="3" cellspacing="1" id="issueTable">
       
  1761 				<tr bgcolor="#f0e8e0">
       
  1762 				<TH align="left" width = "350"><B>Problem description</B></TH>
       
  1763 				<TH align="left"><B>Cause</B></TH>
       
  1764 				<TH align="left" width = "150" id="BCSeverity"><B>BC Severity</B></TH>	
       
  1765 				<xsl:if test="count(issue/scseverity) &gt; 0">	
       
  1766 				  <TH align="left" width = "150" id="SCSeverity"><B>SC Severity</B></TH>		
       
  1767 				</xsl:if>		
       
  1768 				</tr>
       
  1769 
       
  1770 				<xsl:for-each select="issue">
       
  1771 
       
  1772 		        <TR bgcolor= "White">
       
  1773 			    <xsl:variable name = "notSpecified">
       
  1774 					<xsl:text>Not specified</xsl:text>
       
  1775 				</xsl:variable>	
       
  1776 				<xsl:variable name = "valueFromDocument">					
       
  1777 					<xsl:value-of select="documentation" />					
       
  1778 				</xsl:variable>
       
  1779 				<xsl:variable name="global">
       
  1780 					<xsl:value-of select="identitydescription"/>
       
  1781 					<xsl:text> </xsl:text>
       
  1782 					<xsl:value-of select="typestring"/>										
       
  1783 				</xsl:variable>				
       
  1784 				<TD><xsl:value-of select="$global"/></TD>
       
  1785 			
       
  1786 				<xsl:choose>
       
  1787 				  <xsl:when test = "typeid = 13 and identityid = 13">
       
  1788 					
       
  1789 						<xsl:variable name="compErrID">
       
  1790 							<xsl:text>err</xsl:text><xsl:value-of select="issueid" />							
       
  1791 						</xsl:variable>
       
  1792 											
       
  1793 						<TD>
       
  1794 							<div>
       
  1795 								<xsl:attribute name="id"><xsl:value-of select="$compErrID" /></xsl:attribute>
       
  1796 								<xsl:attribute name="class">tip</xsl:attribute>
       
  1797 								<xsl:value-of select="compilationerror"/>
       
  1798 							</div>							
       
  1799 							<a>
       
  1800 								<xsl:attribute name="href">#</xsl:attribute>
       
  1801 								<xsl:attribute name="onmouseout">popUp(event,'<xsl:value-of select="$compErrID"/>')</xsl:attribute>
       
  1802 								<xsl:attribute name="onmouseover">popUp(event,'<xsl:value-of select="$compErrID"/>')</xsl:attribute>
       
  1803 								<xsl:attribute name="onclick">return false</xsl:attribute>
       
  1804 								<font color="#FF0000">Compilation Error</font>
       
  1805 							</a>
       
  1806 						</TD>
       
  1807 					</xsl:when>
       
  1808 					<xsl:when test = "contains($valueFromDocument, $notSpecified)">
       
  1809 						<TD><xsl:value-of select="cause"/></TD>
       
  1810 					</xsl:when>
       
  1811 					<xsl:otherwise>
       
  1812 						<TD> <A><xsl:attribute name="href"><xsl:value-of select="documentation" /></xsl:attribute><xsl:value-of select="cause"/></A></TD>
       
  1813 					</xsl:otherwise>
       
  1814 				</xsl:choose>
       
  1815             
       
  1816 	    		<TD ><xsl:value-of select="severity/typestring"/></TD>
       
  1817 	    		<xsl:if test="count(scseverity) &gt; 0">	
       
  1818 	    		<TD ><xsl:value-of select="scseverity/typestring"/></TD>
       
  1819 	    		</xsl:if>
       
  1820 				</TR>
       
  1821 				</xsl:for-each>			
       
  1822 				</table></td></tr></table>
       
  1823 			</TD></TR></table>
       
  1824 			<BR/>
       
  1825 			</div>
       
  1826 		</xsl:template>
       
  1827 
       
  1828 		<xsl:template name="LIBNotOK">
       
  1829 		<xsl:param name="issTyp" select="-1" />
       
  1830 		<xsl:param name="issBCSC" select="'0'" />
       
  1831 			<!--
       
  1832 			<xsl:if test="(count(issue[status='NOK'and typeid!=2 and typeid!=7 and typeid!=14]) &gt; 0 or count(issue[count(status) = 0 and typeid!=2 and typeid!=7 and typeid!=14]) &gt; 0) ">
       
  1833 			-->
       
  1834 			<!-- Added by maciejs (6 lines)-->
       
  1835 			<xsl:variable name="isHdrRef">
       
  1836 				<xsl:choose>
       
  1837 					<xsl:when test="count(issue/refheaderfile) &gt; 0">true</xsl:when>
       
  1838 					<xsl:otherwise>false</xsl:otherwise>
       
  1839 			    </xsl:choose>
       
  1840 			</xsl:variable>
       
  1841 			<div id="repBlock" name="repBlock">
       
  1842 			 <table border="0" cellpadding="2" cellspacing="0" width = "100%">
       
  1843 			<TR>
       
  1844 				<td>
       
  1845 			 <table border="0" cellpadding="2" cellspacing="0">
       
  1846 			<tr>
       
  1847 				<td colspan="3">
       
  1848 			  	<xsl:choose>
       
  1849 		  			<xsl:when test="$show_API = 1 and $paramSort = 0"><font size="4"><b>
       
  1850 		  				<xsl:if test="count(shortname) &gt; 0"><xsl:value-of select="shortname"/></xsl:if>
       
  1851 						  <xsl:if test="count(shortname) = 0"><xsl:value-of select="name"/></xsl:if>
       
  1852 		  			</b></font></xsl:when>
       
  1853 		  			<xsl:otherwise><font size="4">
       
  1854 		  				<xsl:if test="count(shortname) &gt; 0"><xsl:value-of select="shortname"/></xsl:if>
       
  1855 						  <xsl:if test="count(shortname) = 0"><xsl:value-of select="name"/></xsl:if>
       
  1856 		  			</font></xsl:otherwise>
       
  1857 			  	</xsl:choose>
       
  1858 			  </td>
       
  1859 			</tr>
       
  1860 		<xsl:if test="$show_API=1">
       
  1861 			<tr>
       
  1862 				<td>
       
  1863 			  	<xsl:choose>
       
  1864 		  			<xsl:when test="$paramSort = 1"><font size="4"><b><i><xsl:value-of select="api/@name"/></i></b></font></xsl:when>
       
  1865 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@name"/></i></font></xsl:otherwise>
       
  1866 			  	</xsl:choose>
       
  1867 			  </td>
       
  1868 			  <td width="30" align="center"><font size="3"><b>:</b></font></td>
       
  1869 				<td>
       
  1870 			  	<xsl:choose>
       
  1871 		  			<xsl:when test="$paramSort = 2"><font size="4"><b><i><xsl:value-of select="api/@category"/></i></b></font></xsl:when>
       
  1872 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@category"/></i></font></xsl:otherwise>
       
  1873 			  	</xsl:choose>
       
  1874 			  </td>
       
  1875 			 </tr>
       
  1876 		</xsl:if>
       
  1877 		</table>
       
  1878 				</td>
       
  1879 			  <TD align="right" valign="bottom">
       
  1880 						<A>
       
  1881 							<xsl:attribute name="href">
       
  1882 							  javascript:openPath( '<xsl:value-of select="translate(name, '\\', '/')"/>' );
       
  1883 							</xsl:attribute>
       
  1884 							<xsl:if test="name != ''">baseline</xsl:if>
       
  1885 						</A>		
       
  1886 			<xsl:if test="name = ''"><font color="#808080">baseline</font></xsl:if>
       
  1887 			<font size="3"> . </font>
       
  1888 		
       
  1889 						<A>
       
  1890 							<xsl:attribute name="href">
       
  1891 							  javascript:openPath( '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' );
       
  1892 							</xsl:attribute>
       
  1893 							<xsl:if test="comparefilename != ''">current</xsl:if>
       
  1894 						</A>
       
  1895 				
       
  1896 			<xsl:if test="comparefilename = ''"><font color="#808080">current</font></xsl:if>
       
  1897 			<font size="3"> . </font> 
       
  1898 			
       
  1899 			</TD></TR>
       
  1900      </table>
       
  1901      <table>
       
  1902 			  <xsl:choose>
       
  1903 			    <xsl:when test="count(baseplatform) &gt; 0 and count(currentplatform) &gt; 0 ">
       
  1904 			      <tr>
       
  1905 			      <td>
       
  1906 			      <xsl:choose>
       
  1907 					    <xsl:when test="baseplatform!=''"><font size="2">base platform: <xsl:value-of select="baseplatform"/></font></xsl:when>
       
  1908 					    <xsl:otherwise><font size="2">base platform: Unknown</font></xsl:otherwise>
       
  1909 					  </xsl:choose>
       
  1910 					  </td>
       
  1911 					  <xsl:if test="comparefilename != ''">
       
  1912 					  <td/><td/><td/><td/><td/>
       
  1913 					  <td>
       
  1914 					  <xsl:choose>
       
  1915 					    <xsl:when test="currentplatform!=''"><font size="2">current platform: <xsl:value-of select="currentplatform"/></font></xsl:when>
       
  1916 					    <xsl:otherwise><font size="2">current platform: Unknown</font></xsl:otherwise>
       
  1917 					  </xsl:choose>
       
  1918 					  </td>
       
  1919 					  </xsl:if>
       
  1920 					  </tr>
       
  1921 				 </xsl:when>
       
  1922 			 </xsl:choose>
       
  1923 			</table>
       
  1924 			 
       
  1925 			<table border="0" cellpadding="2" cellspacing="0" bgColor="black" width = "100%">
       
  1926 			<TR><TD><table border="0" cellspacing="0" cellpadding="3" width = "100%">
       
  1927 
       
  1928 			<TR>
       
  1929               <xsl:attribute name="bgColor">
       
  1930 			    <xsl:choose>
       
  1931 			      <xsl:when test="status = 'OK'">#a8d098</xsl:when>
       
  1932 			      <xsl:otherwise>#d0c8c0</xsl:otherwise>
       
  1933 			    </xsl:choose>
       
  1934 			  </xsl:attribute>
       
  1935 			<TD align="left">
       
  1936 			<xsl:choose>
       
  1937 			    <xsl:when test="count(issue[status='NOK']) &gt; 0"><b>This library contains changes that cause incompatibility. It must be fixed.</b></xsl:when>
       
  1938 				  <xsl:otherwise><b>This library contains changes that may cause incompatibility. It must be analysed by an expert.</b></xsl:otherwise>
       
  1939 			</xsl:choose>
       
  1940 			</TD></TR>
       
  1941 
       
  1942 			</table>
       
  1943 				<table width="100%" cellpadding="0" cellspacing="0" bgColor="black" height="1"><tr><td/></tr></table>
       
  1944 				<table width = "100%" cellpadding="0" cellspacing="0" bgColor="#b0a8a0">
       
  1945 				<tr><td><table width = "100%" cellpadding="3" cellspacing="1" id="issueTable">
       
  1946 				<tr bgcolor="#f0e8e0">
       
  1947 				<TH align="center" width="70"><B>Change</B></TH>
       
  1948 				<TH align="center" width="70"><B>Pos</B></TH>
       
  1949 				<TH align="left"><B>Details</B></TH>
       
  1950 				<!-- Added by maciejs (3 lines) -->
       
  1951 				<xsl:if test="$isHdrRef = 'true'">
       
  1952 					<TH align="left" width="200"><B>Header reference</B></TH>
       
  1953 				</xsl:if>
       
  1954 				<TH align="left" width="130" id="BCSeverity">
       
  1955 					<xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  1956 					<B>BC Severity</B></TH>
       
  1957 				<xsl:if test="count(issue/sc_severity) &gt; 0">
       
  1958 				<TH align="left" width="130" id="SCSeverity">
       
  1959 					<xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  1960 					<B>SC Severity</B></TH>
       
  1961 				</xsl:if>
       
  1962 				</tr>
       
  1963 
       
  1964 				<xsl:choose>
       
  1965 				<xsl:when test="$issBCSC='0'">
       
  1966 					<xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14 ]">
       
  1967 						<xsl:call-template name="issLIBNotOK">
       
  1968 							<!-- Added by maciejs (2 lines) -->
       
  1969 							<xsl:with-param name="isHdrRef" select="$isHdrRef" />
       
  1970 						</xsl:call-template>
       
  1971 					</xsl:for-each>
       
  1972 				</xsl:when>
       
  1973 				<xsl:when test="$issBCSC='3'">
       
  1974 					<xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and typeid!=7 and typeid!=14]">
       
  1975 						<xsl:call-template name="issLIBNotOK">
       
  1976 							<!-- Added by maciejs (2 lines) -->
       
  1977 							<xsl:with-param name="isHdrRef" select="$isHdrRef" />
       
  1978 						</xsl:call-template>
       
  1979 					</xsl:for-each>
       
  1980 				</xsl:when>
       
  1981 				<xsl:when test="$issBCSC='1'">
       
  1982 					<xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and bc_severity=$issTyp]">
       
  1983 						<xsl:call-template name="issLIBNotOK">
       
  1984 							<xsl:with-param name="issBCSC" select="$issBCSC" />
       
  1985 							<!-- Added by maciejs (1 line) -->
       
  1986 							<xsl:with-param name="isHdrRef" select="$isHdrRef" />
       
  1987 						</xsl:call-template>
       
  1988 					</xsl:for-each>
       
  1989 				</xsl:when>
       
  1990 				<xsl:when test="$issBCSC='2'">
       
  1991 					<xsl:for-each select="issue[(count(status)=0 or status!='OK') and typeid!=2 and sc_severity=$issTyp]">
       
  1992 						<xsl:call-template name="issLIBNotOK">
       
  1993 							<xsl:with-param name="issBCSC" select="$issBCSC" />
       
  1994 							<!-- Added by maciejs (1 line) -->
       
  1995 							<xsl:with-param name="isHdrRef" select="$isHdrRef" />
       
  1996 						</xsl:call-template>
       
  1997 					</xsl:for-each>
       
  1998 				</xsl:when>
       
  1999 				</xsl:choose>
       
  2000 
       
  2001 				</table></td></tr></table>
       
  2002 			</TD></TR></table>
       
  2003 			<BR/>
       
  2004 			</div>
       
  2005 			<!--
       
  2006 			</xsl:if>
       
  2007 			-->
       
  2008 		</xsl:template>
       
  2009 
       
  2010 		<xsl:template name="issLIBNotOK">
       
  2011 			<xsl:param name="issBCSC" select="'0'" />
       
  2012 			<xsl:param name="isHdrRef" select="'false'" />
       
  2013 				
       
  2014 				<xsl:if test="(count(status) = 0) or status!='OK'">
       
  2015  				<xsl:variable name="bccellbgcolour">
       
  2016 				<xsl:choose>
       
  2017 				<xsl:when test="count(bc_severity) &gt; 0">	
       
  2018 				  <xsl:choose>
       
  2019 					  <xsl:when test="bc_severity = 'BBC Break'"><xsl:text>#ffb880</xsl:text></xsl:when>			   
       
  2020 					  <xsl:when test="bc_severity = 'Possible BBC Break' or bc_severity = 'Informative'"><xsl:text>#ffffa0</xsl:text></xsl:when>			  
       
  2021 				    <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise>
       
  2022 				  </xsl:choose>
       
  2023 				</xsl:when>			   
       
  2024 				</xsl:choose> 
       
  2025 				</xsl:variable>
       
  2026 				    
       
  2027 				<xsl:variable name="sccellbgcolour">		
       
  2028 				  <xsl:choose>
       
  2029 				    <xsl:when test="sc_severity = 'SC Break'"><xsl:text>#ffb880</xsl:text></xsl:when>
       
  2030 					  <xsl:when test="sc_severity = 'Possible SC Break' or sc_severity = 'Informative'"><xsl:text>#ffffa0</xsl:text></xsl:when>
       
  2031 					  <xsl:otherwise><xsl:text>White</xsl:text></xsl:otherwise>
       
  2032 				  </xsl:choose>				
       
  2033 				</xsl:variable>	
       
  2034  				<xsl:variable name="sevdesc">
       
  2035 					<xsl:choose>
       
  2036 					  <xsl:when test="typeid=7">Informative</xsl:when>					  
       
  2037 					  <xsl:when test="status='NOK'">BBC Break</xsl:when>
       
  2038 				  	<xsl:when test="status='OK'">Informative</xsl:when>
       
  2039 				  	<xsl:otherwise>Possible BBC Break</xsl:otherwise>
       
  2040 					</xsl:choose>
       
  2041 				</xsl:variable>
       
  2042 				<xsl:variable name="sTxtColor">
       
  2043 					<xsl:choose>
       
  2044 						<xsl:when test="count(status) = 0 or normalize-space(status) = ''">#6611ff</xsl:when>
       
  2045 						<xsl:otherwise>Black</xsl:otherwise>
       
  2046 					</xsl:choose>
       
  2047 				</xsl:variable>
       
  2048 
       
  2049 		    <TR bgcolor= "White">
       
  2050 				  <xsl:choose>
       
  2051 				    <xsl:when test="typeid=1">
       
  2052 				      <TD align="center"><font color="{$sTxtColor}"><i>removed</i></font></TD>
       
  2053 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2054 				      <TD ><font color="{$sTxtColor}">Library is no longer available</font></TD>
       
  2055 				    </xsl:when>
       
  2056 				    <xsl:when test="typeid=3">
       
  2057 				      <TD align="center"><font color="{$sTxtColor}"><i>moved</i></font></TD>
       
  2058 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="funcpos"/> <font size="2"> =&gt; </font> <xsl:value-of select="newfuncpos"/></b></font></TD>
       
  2059 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="funcname"/></font></TD>
       
  2060 				    </xsl:when>
       
  2061 				    <xsl:when test="typeid=4">
       
  2062 				      <TD align="center"><font color="{$sTxtColor}"><i>deleted</i></font></TD>
       
  2063 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="funcpos"/></b></font></TD>
       
  2064 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="funcname"/></font></TD>
       
  2065 				    </xsl:when>
       
  2066 				    <xsl:when test="typeid=5">
       
  2067 				      <TD align="center"><font color="{$sTxtColor}"><i>inserted</i></font></TD>
       
  2068 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="newfuncpos"/></b></font></TD>
       
  2069 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="newfuncname"/></font></TD>
       
  2070 				    </xsl:when>
       
  2071 				    <xsl:when test="typeid=6">
       
  2072 				      <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD>
       
  2073 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><b><xsl:value-of select="funcpos"/></b></font></TD>
       
  2074 				      <TD><font color="{$sTxtColor}"><b><i>was </i></b><xsl:value-of select="funcname"/><br/>
       
  2075 				          <b><i>now </i></b><xsl:value-of select="newfuncname"/></font></TD>
       
  2076 				    </xsl:when>
       
  2077 				    <xsl:when test="typeid=7">
       
  2078 				      <TD align="center"><font color="{$sTxtColor}"><i>added</i></font></TD>
       
  2079 				      <TD align="center" bgcolor="#f8f8f8"><font color="{$sTxtColor}"><b><xsl:value-of select="newfuncpos"/></b></font></TD>
       
  2080 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="newfuncname"/></font></TD>
       
  2081 				    </xsl:when>
       
  2082 				    <xsl:when test="typeid=8">
       
  2083 				      <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD>
       
  2084 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2085 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD>
       
  2086 				    </xsl:when>
       
  2087 				    <xsl:when test="typeid=9">
       
  2088 				      <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD>
       
  2089 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2090 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD>
       
  2091 				    </xsl:when>
       
  2092 				    <xsl:when test="typeid=10">
       
  2093 				      <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD>
       
  2094 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2095 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD>
       
  2096 				    </xsl:when>
       
  2097 				    <xsl:when test="typeid=11">
       
  2098 				      <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD>
       
  2099 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2100 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD>
       
  2101 				    </xsl:when>
       
  2102 				    <xsl:when test="typeid=12">
       
  2103 				      <TD align="center"><font color="{$sTxtColor}"><i>modified</i></font></TD>
       
  2104 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2105 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD>
       
  2106 				    </xsl:when>
       
  2107 				    <xsl:when test="typeid=13">
       
  2108 				      <TD align="center"><font color="{$sTxtColor}"><i>removed</i></font></TD>
       
  2109 				      <TD align="center" bgcolor="#f4f4f4"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2110 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD>
       
  2111 				    </xsl:when>
       
  2112 				    <xsl:when test="typeid=14">
       
  2113 				      <TD align="center"><font color="{$sTxtColor}"><i>not available</i></font></TD>
       
  2114 				      <TD align="center" bgcolor="#f8f8f8"><font color="{$sTxtColor}"><i>-</i></font></TD>
       
  2115 				      <TD><font color="{$sTxtColor}"><xsl:value-of select="typeinfo"/></font></TD>
       
  2116 				    </xsl:when>
       
  2117 				   </xsl:choose>
       
  2118 				   <!-- Added by maciejs (3 lines) -->
       
  2119 				   <xsl:if test="$isHdrRef = 'true'">
       
  2120 					   <TD><xsl:value-of select="refheaderfile"/></TD>
       
  2121 				   </xsl:if>
       
  2122 				
       
  2123 				  <xsl:choose>
       
  2124 				    <xsl:when test="count(bc_severity) = 0">
       
  2125 				      <TD bgcolor="{$bccellbgcolour}"><xsl:value-of select="$sevdesc"/></TD>
       
  2126 				    </xsl:when>
       
  2127 				    <xsl:otherwise>
       
  2128 		          <TD bgcolor="{$bccellbgcolour}">
       
  2129 		          	<xsl:if test="$issBCSC=2"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  2130 		          	<xsl:value-of select="bc_severity"/></TD>
       
  2131 		          <TD bgcolor="{$sccellbgcolour}">
       
  2132 		          	<xsl:if test="$issBCSC=1"><xsl:attribute name="style">display:none</xsl:attribute></xsl:if>
       
  2133 		          	<xsl:value-of select="sc_severity"/></TD>
       
  2134 		        </xsl:otherwise>
       
  2135 		      </xsl:choose>
       
  2136 				</TR>
       
  2137 				</xsl:if>
       
  2138 		</xsl:template>
       
  2139 
       
  2140 		<xsl:template name="LIBOK">
       
  2141 			<!-- Added by maciejs (6 lines)-->
       
  2142 			<xsl:variable name="isHdrRef">
       
  2143 				<xsl:choose>
       
  2144 					<xsl:when test="count(issue/refheaderfile) &gt; 0">true</xsl:when>
       
  2145 					<xsl:otherwise>false</xsl:otherwise>
       
  2146 			    </xsl:choose>
       
  2147 			</xsl:variable>
       
  2148 			<div>
       
  2149 			<xsl:attribute name="id"><xsl:value-of select="$xslRepBlk"/></xsl:attribute>
       
  2150 			<xsl:attribute name="name"><xsl:value-of select="$xslRepBlk"/></xsl:attribute>
       
  2151 			<table border="0" cellpadding="2" cellspacing="0" width = "100%">
       
  2152 			<tr>
       
  2153 				<td>
       
  2154 			<table border="0" cellpadding="2" cellspacing="0">
       
  2155 			<tr>
       
  2156 				<td colspan="3">
       
  2157 			  	<xsl:choose>
       
  2158 		  			<xsl:when test="$show_API = 1 and $paramSort = 0"><font size="4"><b>
       
  2159 		  				<xsl:if test="count(shortname) &gt; 0"><xsl:value-of select="shortname"/></xsl:if>
       
  2160 						  <xsl:if test="count(shortname) = 0"><xsl:value-of select="name"/></xsl:if>
       
  2161 		  			</b></font></xsl:when>
       
  2162 		  			<xsl:otherwise><font size="4">
       
  2163 		  				<xsl:if test="count(shortname) &gt; 0"><xsl:value-of select="shortname"/></xsl:if>
       
  2164 						  <xsl:if test="count(shortname) = 0"><xsl:value-of select="name"/></xsl:if>
       
  2165 		  			</font></xsl:otherwise>
       
  2166 			  	</xsl:choose>
       
  2167 			  </td>
       
  2168 			 </tr>
       
  2169 		<xsl:if test="$show_API=1">
       
  2170 			<tr>
       
  2171 				<td>
       
  2172 			  	<xsl:choose>
       
  2173 		  			<xsl:when test="$paramSort = 1"><font size="4"><b><i><xsl:value-of select="api/@name"/></i></b></font></xsl:when>
       
  2174 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@name"/></i></font></xsl:otherwise>
       
  2175 			  	</xsl:choose>
       
  2176 			  </td>
       
  2177 			  <td width="30" align="center"><font size="3"><b>:</b></font></td>
       
  2178 				<td>
       
  2179 			  	<xsl:choose>
       
  2180 		  			<xsl:when test="$paramSort = 2"><font size="4"><b><i><xsl:value-of select="api/@category"/></i></b></font></xsl:when>
       
  2181 		  			<xsl:otherwise><font size="3"><i><xsl:value-of select="api/@category"/></i></font></xsl:otherwise>
       
  2182 			  	</xsl:choose>
       
  2183 			  </td>
       
  2184 			</tr>
       
  2185 		</xsl:if>
       
  2186 		</table>
       
  2187 				</td>
       
  2188 			  <TD align="right" valign="bottom">
       
  2189 						<A>
       
  2190 							<xsl:attribute name="href">
       
  2191 							  javascript:openPath( '<xsl:value-of select="translate(name, '\\', '/')"/>' );
       
  2192 							</xsl:attribute>
       
  2193 							<xsl:if test="name != ''">baseline</xsl:if>
       
  2194 						</A>		
       
  2195 			<xsl:if test="name = ''"><font color="#808080">baseline</font></xsl:if>
       
  2196 			<font size="3"> . </font>
       
  2197 		
       
  2198 						<A>
       
  2199 							<xsl:attribute name="href">
       
  2200 							  javascript:openPath( '<xsl:value-of select="translate(comparefilename, '\\', '/')"/>' );
       
  2201 							</xsl:attribute>
       
  2202 							<xsl:if test="comparefilename != ''">current</xsl:if>
       
  2203 						</A>
       
  2204 				
       
  2205 			<xsl:if test="comparefilename = ''"><font color="#808080">current</font></xsl:if>
       
  2206 			<font size="3"> . </font> 
       
  2207 			</TD></tr>
       
  2208      </table>
       
  2209      <table>
       
  2210 			  <xsl:choose>
       
  2211 			    <xsl:when test="count(baseplatform) &gt; 0 and count(currentplatform) &gt; 0 ">
       
  2212 			      <tr>
       
  2213 			      <td>
       
  2214 			      <xsl:choose>
       
  2215 					    <xsl:when test="baseplatform!=''"><font size="2">base platform: <xsl:value-of select="baseplatform"/></font></xsl:when>
       
  2216 					    <xsl:otherwise><font size="2">base platform: Unknown</font></xsl:otherwise>
       
  2217 					  </xsl:choose>
       
  2218 					  </td>
       
  2219 					  <xsl:if test="comparefilename != ''">
       
  2220 					  <td/><td/><td/><td/><td/>
       
  2221 					  <td>
       
  2222 					  <xsl:choose>
       
  2223 					    <xsl:when test="currentplatform!=''"><font size="2">current platform: <xsl:value-of select="currentplatform"/></font></xsl:when>
       
  2224 					    <xsl:otherwise><font size="2">current platform: Unknown</font></xsl:otherwise>
       
  2225 					  </xsl:choose>
       
  2226 					  </td>
       
  2227 					  </xsl:if>
       
  2228 					  </tr>
       
  2229 				 </xsl:when>
       
  2230 			 </xsl:choose>
       
  2231 			</table> 
       
  2232 				
       
  2233 			<table border="0" cellpadding="2" cellspacing="0" bgColor="black" width = "100%">
       
  2234 			<TR><TD><table border="0" cellspacing="0" cellpadding="3" width = "100%">
       
  2235 
       
  2236 			<TR>
       
  2237               <xsl:attribute name="bgColor">
       
  2238 			    <xsl:choose>
       
  2239 			      <xsl:when test="status = 'OK'">#a8d098</xsl:when>
       
  2240 			      <xsl:otherwise>#a8d098</xsl:otherwise>
       
  2241 			    </xsl:choose>
       
  2242 			  </xsl:attribute>
       
  2243 			<TD align="left">
       
  2244 			    <b>This library is known to be ok.</b>
       
  2245 			</TD></TR>
       
  2246 
       
  2247 			</table>
       
  2248 				<table width = "100%" cellpadding="0" cellspacing="0" bgColor="black" height="1"><tr><td></td></tr></table>
       
  2249 				<table width = "100%" cellpadding="0" cellspacing="0" bgColor="#b0a8a0">
       
  2250 				<tr><td><table width = "100%" cellpadding="3" cellspacing="1" id="issueTable">
       
  2251 				<tr bgcolor="#f0e8e0">
       
  2252 				<TH align="center" width="70"><B>Change</B></TH>
       
  2253 				<TH align="center" width="70"><B>Pos</B></TH>
       
  2254 				<TH align="left"><B>Details</B></TH>
       
  2255 				<!-- Added by maciejs (3 lines) -->
       
  2256 				<xsl:if test="$isHdrRef = 'true'">
       
  2257 					<TH align="left" width="200"><B>Header reference</B></TH>
       
  2258 				</xsl:if>
       
  2259 				<TH align="left" width="130" id="BCSeverity"><B>BC Severity</B></TH>
       
  2260 				<xsl:if test="count(issue/sc_severity) &gt; 0">
       
  2261 				<TH align="left" width="130" id="SCSeverity"><B>SC Severity</B></TH>
       
  2262 				</xsl:if>
       
  2263 				</tr>
       
  2264 
       
  2265 				<xsl:for-each select="issue[status='OK' and typeid!=2 and typeid!=7 and typeid!=14]">
       
  2266 				<xsl:if test="(status='OK')">
       
  2267  				<xsl:variable name="bgcol">
       
  2268 					<xsl:choose>
       
  2269 					  <xsl:when test="typeid=7">#ffffff</xsl:when>
       
  2270 					  <xsl:when test="typeid=14">#ffffff</xsl:when>
       
  2271 				  	<xsl:when test="status='NOK'">#ffb880</xsl:when>
       
  2272 				  	<xsl:when test="status='OK'">#ffffff</xsl:when>
       
  2273 				  	<xsl:otherwise>#ffffa0</xsl:otherwise>
       
  2274 					</xsl:choose>
       
  2275 				</xsl:variable>
       
  2276  				<xsl:variable name="sevdesc">
       
  2277 					<xsl:choose>
       
  2278 					  <xsl:when test="typeid=7">Informative</xsl:when>
       
  2279 					  <xsl:when test="typeid=14">Informative</xsl:when>
       
  2280 					  <xsl:when test="status='NOK'">BBC Break</xsl:when>
       
  2281 				  	<xsl:when test="status='OK'">Informative</xsl:when>
       
  2282 				  	<xsl:otherwise>Possible BBC Break</xsl:otherwise>
       
  2283 					</xsl:choose>
       
  2284 				</xsl:variable>
       
  2285  				
       
  2286 		    <TR bgcolor= "White">
       
  2287 				  <xsl:choose>
       
  2288 				    	<xsl:when test="typeid=1">
       
  2289 				      <TD align="center"><i>removed</i></TD>
       
  2290 				      <TD align="center" bgcolor="#f4f4f4"><i>-</i></TD>
       
  2291 				      <TD >Library is no longer available</TD>
       
  2292 				    </xsl:when>
       
  2293 				    <xsl:when test="typeid=3">
       
  2294 				      <TD align="center"><i>moved</i></TD>
       
  2295 				      <TD align="center" bgcolor="#f4f4f4"><b><xsl:value-of select="funcpos"/> <font size="2"> =&gt; </font> <xsl:value-of select="newfuncpos"/></b></TD>
       
  2296 				      <TD><xsl:value-of select="funcname"/></TD>
       
  2297 				    </xsl:when>
       
  2298 				    <xsl:when test="typeid=4">
       
  2299 				      <TD align="center"><i>deleted</i></TD>
       
  2300 				      <TD align="center" bgcolor="#f4f4f4"><b><xsl:value-of select="funcpos"/></b></TD>
       
  2301 				      <TD><xsl:value-of select="funcname"/></TD>
       
  2302 				    </xsl:when>
       
  2303 				    <xsl:when test="typeid=5">
       
  2304 				      <TD align="center"><i>inserted</i></TD>
       
  2305 				      <TD align="center" bgcolor="#f4f4f4"><b><xsl:value-of select="newfuncpos"/></b></TD>
       
  2306 				      <TD><xsl:value-of select="newfuncname"/></TD>
       
  2307 				    </xsl:when>
       
  2308 				    <xsl:when test="typeid=6">
       
  2309 				      <TD align="center"><i>modified</i></TD>
       
  2310 				      <TD align="center" bgcolor="#f4f4f4"><b><xsl:value-of select="funcpos"/></b></TD>
       
  2311 				      <TD><b><i>was </i></b><xsl:value-of select="funcname"/><br/>
       
  2312 				          <b><i>now </i></b><xsl:value-of select="newfuncname"/></TD>
       
  2313 				    </xsl:when>
       
  2314 				    <xsl:when test="typeid=7">
       
  2315 				      <TD align="center"><i>added</i></TD>
       
  2316 				      <TD align="center" bgcolor="#f8f8f8"><b><xsl:value-of select="newfuncpos"/></b></TD>
       
  2317 				      <TD><xsl:value-of select="newfuncname"/></TD>
       
  2318 				    </xsl:when>
       
  2319 				    <xsl:when test="typeid=8">
       
  2320 				      <TD align="center"><i>modified</i></TD>
       
  2321 				      <TD align="center" bgcolor="#f4f4f4"><i>-</i></TD>
       
  2322 				      <TD><xsl:value-of select="typeinfo"/></TD>
       
  2323 				    </xsl:when>
       
  2324 				    <xsl:when test="typeid=9">
       
  2325 				      <TD align="center"><i>modified</i></TD>
       
  2326 				      <TD align="center" bgcolor="#f4f4f4"><i>-</i></TD>
       
  2327 				      <TD><xsl:value-of select="typeinfo"/></TD>
       
  2328 				    </xsl:when>
       
  2329 				    <xsl:when test="typeid=10">
       
  2330 				      <TD align="center"><i>modified</i></TD>
       
  2331 				      <TD align="center" bgcolor="#f4f4f4"><i>-</i></TD>
       
  2332 				      <TD><xsl:value-of select="typeinfo"/></TD>
       
  2333 				    </xsl:when>
       
  2334 				    <xsl:when test="typeid=11">
       
  2335 				      <TD align="center"><i>modified</i></TD>
       
  2336 				      <TD align="center" bgcolor="#f4f4f4"><i>-</i></TD>
       
  2337 				      <TD><xsl:value-of select="typeinfo"/></TD>
       
  2338 				    </xsl:when>
       
  2339 				    <xsl:when test="typeid=12">
       
  2340 				      <TD align="center"><i>modified</i></TD>
       
  2341 				      <TD align="center" bgcolor="#f4f4f4"><i>-</i></TD>
       
  2342 				      <TD><xsl:value-of select="typeinfo"/></TD>
       
  2343 				    </xsl:when>
       
  2344 				    <xsl:when test="typeid=13">
       
  2345 				      <TD align="center"><i>removed</i></TD>
       
  2346 				      <TD align="center" bgcolor="#f4f4f4"><i>-</i></TD>
       
  2347 				      <TD><xsl:value-of select="typeinfo"/></TD>
       
  2348 				    </xsl:when>
       
  2349 				    <xsl:when test="typeid=14">
       
  2350 				      <TD align="center"><i>not available</i></TD>
       
  2351 				      <TD align="center" bgcolor="#f8f8f8"><i>-</i></TD>
       
  2352 				      <TD><xsl:value-of select="typeinfo"/></TD>
       
  2353 				    </xsl:when>
       
  2354 				  </xsl:choose>
       
  2355 				  <!-- Added by maciejs (3 lines) -->
       
  2356 				  <xsl:if test="$isHdrRef = 'true'">
       
  2357 					<TD><xsl:value-of select="refheaderfile"/></TD>
       
  2358 				  </xsl:if>
       
  2359 				  <xsl:choose>
       
  2360 				    <xsl:when test="count(bc_severity) = 0">
       
  2361 				      <TD bgcolor="{$bgcol}"><xsl:value-of select="$sevdesc"/></TD>
       
  2362 				    </xsl:when>
       
  2363 				    <xsl:otherwise>
       
  2364 		          <TD bgcolor="{$bgcol}"><xsl:value-of select="bc_severity"/></TD>
       
  2365 		          <TD bgcolor="{$bgcol}"><xsl:value-of select="sc_severity"/></TD>
       
  2366 		        </xsl:otherwise>
       
  2367 		      </xsl:choose>
       
  2368 				</TR>
       
  2369 				</xsl:if>
       
  2370 				</xsl:for-each>
       
  2371 				</table></td></tr></table>
       
  2372 			</TD></TR></table>
       
  2373 			<BR/>
       
  2374 			</div>
       
  2375 		</xsl:template>
       
  2376 </xsl:stylesheet>