%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 122.154.253.140 / Your IP : 216.73.216.138 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Windows/SysWOW64/ |
Upload File : |
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ec="urn:microsoft.com:dfsrerrors" xmlns:dfsr="urn:microsoft.com:dfsrstrings" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts">
<!-- Set encoding for HTML file here -->
<xsl:output method="html" indent="no" encoding="UTF-8"/>
<!-- Set global parameters for transform -->
<xsl:param name="strData" select="document(concat($muiFolder,'\dfsrHealthStrings.xml'))/dfsr:strings/string"/>
<xsl:param name="version" select="1.0"/>
<xsl:param name="maxversion" select="1.0"/>
<xsl:param name="muiFolder"/>
<!-- This parameter must be passed into the transform as the output HTML file name-->
<!-- <xsl:param name="htmlFileName" select="'file.html'" -->
<xsl:param name="ecodes" select="document(concat($muiFolder,'\dfsrHealthMessages.xml'))/staticData/ecset"/>
<xsl:variable name="serverErrorCount">
<xsl:value-of select="count(/dfsReplicationReport/members/server/serverErrors/error[@type='error'][1])"/>
</xsl:variable>
<xsl:variable name="serverWarningCount">
<xsl:value-of select="count(/dfsReplicationReport/members/server/serverErrors/error[@type='warning'][1])"/>
</xsl:variable>
<xsl:variable name="serverUnavailableCount">
<xsl:value-of select="count(/dfsReplicationReport/members/server/serverErrors/error[@type='unavailableServerError'][1])"/>
</xsl:variable>
<xsl:param name="params" select="./dfsReplicationReport/header/parameters"/>
<xsl:param name="members" select="./dfsReplicationReport/members"/>
<xsl:param name="referencemember" select="./dfsReplicationReport/header/parameters/referenceMember/@dnsName"/>
<xsl:param name="referencememberinfo" select="./dfsReplicationReport/members/server[@dns=$referencemember]"/>
<xsl:param name="referencememberpos">
<xsl:for-each select="$members/server">
<xsl:if test="@dns=$referencemember">
<xsl:value-of select="position()"/>
</xsl:if>
</xsl:for-each>
</xsl:param>
<!-- root template starts here -->
<xsl:template match="/">
<xsl:comment> saved from url=(0014)about:internet </xsl:comment>
<xsl:text> </xsl:text>
<html dir="ltr" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<!--Meta tag is generated by the transformer -->
<!--Title generated based on type attribute of dfsRepReport element. This allows for multiple report types based on same XML structure. -->
<title>
<xsl:value-of select="$strData[@id='s006.1']"/>
<xsl:choose>
<xsl:when test="dfsReplicationReport[@type='health']">
<xsl:value-of select="$strData[@id='s006.2']"/>
</xsl:when>
</xsl:choose>
</title>
<!-- CSS Styles. Commented styles are not currently used and are not passed along to HTML by transformer -->
<style type="text/css">
body { background-color:#FFFFFF; border:1px solid#buttonshadow; color:#000000; font-size:68%; font-family:Tahoma; margin:10,10,10px,10; word-break:normal; word-wrap:break-word; }
table { table-layout:fixed; width:100%; font-size:100%; font-family:Tahoma; }
td,th { overflow:visible; text-align:left; vertical-align:top; text-indent: 0pt; white-space:normal; padding: 3px; }
.center { text-align:left; }
.right { text-align:left; }
.report { border:none; color:buttonshadow; display:block; margin:-18px,0px,-1px,0px; position:relative; table-layout:fixed; width:100%; z-index:5; }
.he0_expanded { background-color:background; border-top-width: 1px; border-top-style: solid; border-top-color: #ffffff; color:#FFFFFF; display:block; font-weight:bold; margin-bottom:0px; margin-left:0px; margin-right:0px; padding-left:3px; padding-right:5em; padding-top:0px; padding-bottom:4px; position:relative; width:100%; height:28px;}
<!--
.he0 { background-color:background; border-top-width: 1px; border-top-style: solid; border-top-color: #ffffff; color:#FFFFFF; cursor:hand; display:block; font-weight:bold; margin-bottom:0px; margin-left:0px; margin-right:0px; padding-left:3px; padding-right:5em; padding-top:0px; padding-bottom:4px; position:relative; width:100%; height:28px;}
.he1_expanded { background-color:buttonshadow; border:1px solid #inactiveborder; border-color:#FFFFFF,inactiveborder,#FFFFFF,inactiveborder ; cursor:hand; display:block; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-left:0px; padding-right:5em; padding-top:4px; position:relative; width:100%; }
-->
.he1 { background-color:appworkspace; border-top:1px solid inactiveborder; border-right:1px solid background; border-bottom:1px solid inactiveborder; border-left:1px solid background; color:#FFFFFF; display:block;font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-left:0px; padding-right:5em; padding-top:4px; position:relative; width:100%; }
<!--
.he2 { background-color:#FFFFFF; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: buttonshadow; border-top-width: 1px; border-top-style: solid; border-top-color: buttonshadow; color:#000000; cursor:hand; display:block; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:26px; margin-right:10px; padding-left:0px; padding-top:4px; text-indent: 0pt; position:relative; width:100%; }
-->
.he2_expanded { border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: buttonshadow; border-top-width: 1px; border-top-style: solid; border-top-color: buttonshadow; color:#000000; display:block; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:-2px; margin-right:10px; padding-left:0px; padding-top:4px; padding-bottom:8px; text-indent: 0pt; position:relative; width:100%; }
<!--
.he3 { background-color:#ffffff; border:1px solid buttonshadow; color:#000000; cursor:hand; display:block; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-left:11px; padding-right:5em; padding-top:4px; text-indent: 30pt; position:relative; width:100%; }
.he4 { background-color:#ffffff; border:1px solid buttonshadow; color:#000000; cursor:hand; display:block; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-left:11px; padding-right:5em; padding-top:4px; text-indent: 40pt; position:relative; width:100%; }
-->
.he4h {; border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; display:block; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:15px; margin-right:0px; padding-left:2px; padding-right:5em; padding-top:4px; text-indent: 0pt; position:relative; width:100%; }
.he4i { border:1px solid background; color:#000000; display:block; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-bottom:5px; padding-left:0px; padding-top:0px; text-indent: 30pt; position:relative; width:100%; }
.he4i2 { border:0px solid buttonshadow; color:#000000; display:block; margin-bottom:-1px; margin-left:20px; margin-right:10px; padding-bottom:5px; padding-left:0px; padding-top:0px; text-indent: 0pt; position:relative; width:100%; }
.he4i3 { border-top:1px solid buttonshadow; border-right:1px solid background; border-bottom:1px solid background; border-left:1px solid background; color:#000000; display:block; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-bottom:5px; padding-left:46px; padding-top:0px; text-indent: 0pt; position:relative; width:100%; }
.he4i4 { border:0px solid buttonshadow; color:#000000; display:block; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-bottom:5px; padding-left:38px; padding-top:0px; text-indent: 0pt; position:relative; width:100%; }
.he4i4b { border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; color:#000000; display:block; font-weight:bold; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-bottom:5px; padding-left:40px; padding-top:0px; text-indent: 0pt; position:relative; width:100%; }
<!--
.he5 { border:0px solid buttonshadow; color:#000000; cursor:hand; display:block; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:10px; margin-right:0px; padding-left:0px; padding-right:5em; padding-top:4px; position:relative; width:100%; }
.he5h { border:0px solid buttonshadow; color:#000000; cursor:hand; display:block; padding-left:20px; padding-right:5em; padding-top:4px; margin-bottom:-1px; margin-left:0px; margin-right:0px; position:relative; width:100%; }
-->
.he5i { border:0px solid #inactiveborder; color:#000000; display:block; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-left:0px; padding-bottom:5px; padding-top: 4px; position:relative; width:100%; }
.he5ib { border:0px solid buttonshadow; color:#000000; display:block; font-weight:bold; margin-bottom:-1px; margin-left:-27px; margin-right:0px; padding-left:0px; padding-bottom:5px; padding-top: 4px; position:relative; width:100%; }
DIV .expando { display:block; font-weight:normal; margin-left:5px; margin-top:7px; z-index: 0; }
DIV .expando2 { display:block; font-weight:normal; margin-left:29px; margin-top:4px; z-index: 0; }
DIV .expando3 { display:block; font-weight:normal; margin-left:5px; z-index: 0; }
DIV .expando4 { display:block; font-weight:normal; position:absolute; left:12px; vertical-align:middle; z-index: 0; }
.showhide { color:appworkspace; display:block; font-weight:normal; position:absolute; right:20px; top:30px; z-index: 1000; }
.showhide2 { color:inactiveborder; display:block; font-weight:normal; position:absolute; right:5px; margin-top:-12px; z-index:0; }
.loading { color:background; display:block; font-weight:bold; margin-top:20px; z-index: 1000; }
.msgtbl { line-height:1em; padding:0px,0px,0px,0px; margin:0px,0px,0px,0px; }
.info, .info2, .info3, .info4, .info5, .info6, { border:1px solid inactiveborder; color:#000000; display:block; line-height:1.6em; padding:5px; margin:0px,0px,0px,0px; }
.warnings { margin:0px,0px,0px,0px; }
.unavailableservers { margin:0px,0px,0px,0px; }
.serverdetails { margin:0px,0px,0px,0px; border-left-width: 1px; border-left-style: solid; border-left-color: background; border-right-width: 1px; border-right-style: solid; border-right-color: background; }
tr.info { padding:0px; }
.info TD { font-weight:normal; border:1px solid inactiveborder; padding-left:10px; padding-right:10px; }
.info2 TD { font-weight:normal; border:1px solid inactiveborder; padding-left:10px; padding-right:10px; width:25%; }
.info3 TD { font-weight:normal; border:1px solid inactiveborder; padding-left:10px; padding-right:10px; width:33%; }
.info4 TD { font-weight:normal; border:1px solid inactiveborder; padding-left:10px; padding-right:10px; width:25%; }
.info5 TD { font-weight:normal; border:1px solid inactiveborder; padding-left:10px; padding-right:10px; width:20%; }
.info6 TD { font-weight:normal; border:1px solid inactiveborder; padding-left:10px; padding-right:10px; width:16%; }
td.tblwhiteleft { background-color:inactiveborder; border-left-width: 1px; border-left-style: solid; border-left-color: inactiveborder; border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; border-right-width: 1px; border-right-style: solid; border-right-color: #ffffff; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: inactiveborder; color:#000000; display:block; padding-left:10px; padding-right:10px; text-align:left; }
td.tblwhiteright { background-color:inactiveborder; border-left-width: 1px; border-left-style: solid; border-left-color: #ffffff; border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; border-right-width: 1px; border-right-style: solid; border-right-color: inactiveborder; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: inactiveborder; color:#000000; display:block; padding-left:10px; padding-right:10px; text-align:left; }
td.tblwhiteboth { background-color:inactiveborder; border-left-width: 1px; border-left-style: solid; border-left-color: #ffffff; border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; border-right-width: 1px; border-right-style: solid; border-right-color: #ffffff; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: inactiveborder; color:#000000; display:block; padding-left:10px; padding-right:10px; text-align:left; }
.container { display:block; position:relative; }
.reportheader { background-color:#ffffff; border-bottom:0px solid black; color:background; font-size:24pt; font-weight:bold; padding-bottom:2px; text-align:left; }
.reportdetails { background-color:#ffffff; border-bottom:0px solid black; color:#000000; font-weight:bold; padding-bottom:2px; text-align:left; }
td.topline { text-align: left; padding: 2px; border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; position: relative; }
<!--
td.firsttopline { margin-left:-20px; text-align: left; padding: 2px; border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; position: relative; }
-->
td.toplinenarrow { width: 175px; text-align: left; padding: 2px; border-top-width: 1px; border-top-style: solid; border-top-color: inactiveborder; position: relative; }
td.line { color: #000000; text-align: left; padding-left:9px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: inactiveborder; position: relative; }
<!--
td.linedark { text-align: left; padding-left:9px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: buttonshadow; position: relative; }
-->
td.linenarrow { width: 175px; text-align: left; padding-left:9px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: inactiveborder; position: relative; }
td.nolinenarrow { width: 175px; text-align: left; padding-left:9px; position: relative; }
.narrow { width: 125px; }
.error { text-indent: 0px; padding-left:12px; }
.server { text-indent: 2pt; padding-left:24px; position:absolute: left:0px; font-weight:bold; }
v\:* {behavior:url(#default#VML);}
.er1 { width:14px;height:14px;font-size:1px; position: relative; top: 3px; }
.er1a { width:14px;height:14px;font-size:1px; position: relative; top: 0px; }
.er2 { width:20px;height:20px;font-size:1px; position: relative; top: 6px; margin-top:-2px;}
.wa1 { width:16px;height:16px;font-size:1px; position: relative; top: 2px; }
<!--
.wa1a { width:16px;height:16px;font-size:1px; position: relative; top: 0px; }
-->
.wa2 { width:20px;height:20px;font-size:1px; position: relative; top: 4px; margin-top:-2px;}
<!--
.in1 { width:14px;height:14px;font-size:1px; position: relative; top: 2px; }
.in1a { width:14px;height:14px;font-size:1px; position: relative; top: 0px; }
.in2 { width:18px;height:18px;font-size:1px; position: relative; top: 2px; }
.icon1 { width:14px;height:14px;font-size:1px; position: relative; top: 2px; }
.icon2 { width:18px;height:18px;font-size:1px; position: relative; top: 2px; }
-->
.pm1 { width:12px;height:12px;}
.sectionTitle {position:absolute; top:0px; left:0px; margin-left:30px;}
.sectionTitle2 {position:absolute; top:4px; left:0px; margin-left:50px;}
.sectionTitle3 {position:absolute; top:4px; left:0px; margin-left:25px;}
.normal { font-weight:normal; text-decoration:none; color:#000000; }
.normal2{ font-weight:normal; text-decoration:none; color:appworkspace; }
.infobar {font: bold 16px verdana; color: #000000; background-color: #ffcc00; border: 2px solid #ffaa00; padding: 4px;}
</style>
<!-- Javascript starts here -->
<script type="text/javascript" language="javascript">
<xsl:text><!--</xsl:text>
<!-- Set Globals -->
var initialized=false;
var srcObj, targetObj, tid, tid2, locate, pmNodeSet, showHideNodeSet;
var IE = (document.all) ? true : false;
var show='#Plus';
var hide='#Minus';
<!-- init() from onload event of body -->
function init(){
initialized=true;
getObj('infobar').innerHTML = ''; // hide infobar message
getObj('infobar').style.display='none';
getObj('showhideall').innerHTML='<xsl:value-of select="$strData[@id='s135']"/>'; // display Show All text at top of doc
getObj('message').style.display='none'; // hide report loading message
getObj('main').style.display='block'; // show main body of report
document.body.style.cursor='auto'; // change wait cursor
}
<!-- Changes the +/- icons for a nodeset passed from other functions-->
function procAllPlusMinus(nodeSet, val) {
var sign='Plus';
if(!val) val=show;
if(val == hide) sign='Minus';
var i=0;
for( i=0; i < nodeSet.length; i++) {
nodeSet[i].setAttribute('sign',sign);
nodeSet[i].childNodes[0].src=val;
}
}
<!-- Removes hilighting for link roll overs (onmouseout event)-->
function unhilite(obj, color){
if(!color)color='background';
obj.style.color='';
obj.style.textDecoration='none';
obj.style.cursor='auto';
}
<!-- Provides hilighting for link roll overs (onmouseover event)-->
function hilite(obj, color){
if(!initialized){event.cancelBubble=true; return;} // prevent hilite function from running when onclick functions are runnning
if(!color)color='background';
obj.style.color=color;
obj.style.textDecoration='underline';
obj.style.cursor='hand';
}
<!-- Switches the +/- icon for passed object containing a plusminus child -->
<!-- Called by doShowError, showInfo, and by onlcick event of container divs in HTML-->
function switchSign(obj){
var i=0;
for( i=0; i < obj.length; i++) {
if (obj[i].id=='plusminus') {
if(obj[i].childNodes[0].src.indexOf('#Plu')>=0){
obj[i].childNodes[0].src=hide;
}
else{
obj[i].childNodes[0].src=show;
}
}
}
}
<!-- Called by onclick event in id=showhidesection elements to expand or collapse a section with Show All / Hide All-->
<!-- Note: These elements are inserted by showHideSectionCode template in XSLT -->
function showHideSection(obj, showBlock){
if(!initialized){event.cancelBubble=true; return;}
event.cancelBubble=true; // Cancel onclick event propagation to enclosing elements with onclick events
initialized=false; // Set busy flag
obj.style.cursor='wait'; // Set wait cursors
document.body.style.cursor='wait';
showBlock=getObj(showBlock); // Get element corresponding to passed id val
if(showBlock.id=='srvrInfo'){ // If we're expanding srvrInfo, first hide it to improve redraw performance
if(obj.innerHTML=='<xsl:value-of select="$strData[@id='s135']"/>'){
if(showBlock.style.display=='block'){
showBlock.style.display='none';
message2.style.display='block';
}
}
}
showHideNodeSet=showBlock.all.namedItem('showhidesection'); // set global to contain plusminus child nodes of showBlock
targetObj=showBlock.parentNode.all.tags('div'); // set gloabl to contain all the container divs of parent node
srcObj=obj; // set global to event source obj used later for resetting the cursor
pmNodeSet=showBlock.parentNode.all.namedItem('plusminus'); // set global to collection of +/- nodes in enclosing div
tid=setTimeout('showHideAllContinue()', 250); // set timeout to allow for cursor change (this value may be high)
}
<!-- Similar to showHideSection but for the whole documentl -->
function showHideAll(obj){
if(!initialized){event.cancelBubble=true; return;}
initialized=false;
document.body.style.cursor='wait';
obj.style.cursor='wait';
pmNodeSet=document.getElementsByName('plusminus'); // get all the +/- elements in the document
showHideNodeSet=document.getElementsByName('showhidesection'); // get all the Show All / Hide All elements
srcObj=obj;
targetObj=document.getElementsByTagName('div');
tid=setTimeout('showHideAllContinue()', 250);
}
<!-- This gets called from timeouts in showHideSection and showHideAll -->
function showHideAllContinue(){
obj=srcObj;
if(obj.innerHTML=='<xsl:value-of select="$strData[@id='s135']"/>'){ // If Show All, change to Hide All and set +/- to -
style='block';
obj.innerHTML='<xsl:value-of select="$strData[@id='s136']"/>';
if(showHideNodeSet){
var i;
for(i=0; i < showHideNodeSet.length; i++){
showHideNodeSet[i].innerHTML='<xsl:value-of select="$strData[@id='s136']"/>';
}
}
procAllPlusMinus(pmNodeSet, hide);
}
else { // Must be Hide All so change to Hide All and set +/- to -
style='none';
obj.innerHTML='<xsl:value-of select="$strData[@id='s135']"/>';
if(showHideNodeSet){
var i;
for(i=0; i < showHideNodeSet.length; i++){
showHideNodeSet[i].innerHTML='<xsl:value-of select="$strData[@id='s135']"/>';
}
}
procAllPlusMinus(pmNodeSet);
}
showHide(targetObj, style); // Show or hide all the class="container" divs in the global nodeSet
pmNodeSet=null; // clear the globals
showHideNodeSet=null;
message2.style.display='none'; // ide the message if showing
document.body.style.cursor='auto'; // reset the cursors
obj.style.cursor='auto';
initialized=true; // reset the busy flag
clearTimeout(tid); // clear the timeout
}
<!-- called from showHideAllContinue. Shows or hides class="container" divs in passed collection -->
function showHide(obj, style){
if(!style) style='none';
var i=0;
for( i=0; i < obj.length; i++) {
if (obj[i].className=='container') {
obj[i].style.display=style;
}
}
}
<!-- Jump to an error or warning in server section from listing in errors, warnings, or unavailable servers -->
function doShowError(obj, str, loc){
if(!initialized){event.cancelBubble=true; return;}
obj2=getObj(obj+str); // get the enclosing section (errors or warnings) that we want to jump to
if(obj2.style.display=='none') { // if it's not showing, show it and change the +/- to -
obj2.style.display='block';
switchSign(obj2.previousSibling.childNodes);
}
doShowInfo(obj, loc); // Make sure the server info block is displayed and go to the location
}
<!-- Shows the server info bloack for a given server id -->
function doShowInfo(obj, loc){
if(!initialized){event.cancelBubble=true; return;}
initialized=false;
event.cancelBubble=true; // stop propagation of onclick event to enclosing div
locate=loc; // global to hold the target window location
obj=getObj(obj); // get the object with id=obj
srcObj=event.srcElement; // set global to event source
srcObj.style.cursor='wait'; // set the wait cursors
document.body.style.cursor='wait';
tid=setTimeout('showInfo()', 250); // timeout to activate cursors
}
<!-- called from timeout in doShowInfo. Displays server info block if hidden -->
function showInfo() {
initialized=false;
if(srvrInfo.style.display=='none') { // change the sign on the +/- of server info block
srvrInfo.style.display='block';
switchSign(srvrInfo.previousSibling.previousSibling.childNodes);
}
if(obj.style.display=='none') { // show appropriate error or warning block and switch the +/- sign
obj.style.display='block';
switchSign(obj.previousSibling.childNodes);
}
if (locate) {
if(tid2) clearTimeout(tid2); // if we set this timeout previously, clear it
locate='#'+locate;
tid2=setTimeout('window.location=locate', 250); // set a timeout before calling window.location
}
resetCursors(); // reset the wait cursors
if(tid) clearTimeout(tid); // clear timeout
//if(tid2) clearTimeout(tid2);
initialized=true; // reset busy flag
}
<!-- shows or hides an individual class="container" div. Called from the onclick event of the header div -->
function doShowBlock(objID){
if(!initialized){event.cancelBubble=true; return;}
initialized=false; // set busy flag
var obj=getObj(objID); // get obj to show/hide from passed id value
srcObj=event.srcElement.parentElement; //pass the parent element to the global to reset cursor
srcObj.style.cursor='wait'; // set wait cursors
document.body.style.cursor='wait';
tid = setTimeout('showBlock(this.obj)', 250); // set timeout for wait cursor to activate
}
<!-- called in timeout from doShowBlock -->
function showBlock(obj){
if(obj.style.display=='none') obj.style.display='block'; // if obj is hidden, display it
else obj.style.display='none'; // else hide it
document.body.style.cursor='auto'; // reset cursors
srcObj.style.cursor='hand';
clearTimeout(tid); // clear timeout
initialized=true; // reset busy flag
}
<!-- uses DOM method to get an object from its passed ID value -->
function getObj(objIdString){
obj = document.getElementById(objIdString);
return obj;
}
<!-- reset cursors on document body and obj contained in global-->
;function resetCursors(){
document.body.style.cursor='auto';
srcObj.style.cursor='hand';
if(tid) clearTimeout(tid);
}
<!-- Like hilite, but only changes the cursor for mouseover and mouseout events on clickable headers -->
function pointer(obj, cursor){
if(!initialized){event.cancelBubble=true; return;}
if(cursor) obj.style.cursor=cursor;
else obj.style.cursor='auto';
}
var errorNA = '<xsl:value-of select="$strData[@id='s066']"/>';
function showDateInOtherTimezone(dateval, offset) {
if (!dateval) return(errorNA);
var d = new Date((dateval - 116444736000000000) / 10000);
var d2 = new Date(d); // + (offset * 60000));
return(d2.toLocaleDateString() + '<xsl:value-of select="$strData[@id='s109']"/>' + d2.toLocaleTimeString() + ' ' + showTimezone(offset));
}
function showTimezone(offset) {
var tzHours = Math.floor(offset / 60);
var tzMinutes = Math.abs(offset - 60 * tzHours);
var str = (tzMinutes > 9) ? '' : '0';
return('<xsl:value-of select="$strData[@id='s110']"/>' + tzHours + ':' + str + tzMinutes + ')');
}
<xsl:text>--></xsl:text>
</script>
<!-- VML icons for this report -->
<v:group id="Err1" style="width:12px;height:12px;vertical-align:middle" coordsize="100,100">
<v:oval class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="red" strokecolor="red"/>
<v:line class="vmlimage" style="z-index:1" from="25,25" to="75,75" strokecolor="white" strokeweight="2px"/>
<v:line class="vmlimage" style="z-index:2" from="75,25" to="25,75" strokecolor="white" strokeweight="2px"/>
</v:group>
<v:group id="Err2" style="width:20px;height:20px;vertical-align:middle" coordsize="100,100">
<v:oval class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="red" strokecolor="red"/>
<v:line class="vmlimage" style="z-index:1" from="25,25" to="75,75" strokecolor="white" strokeweight="3px"/>
<v:line class="vmlimage" style="z-index:2" from="75,25" to="25,75" strokecolor="white" strokeweight="3px"/>
</v:group>
<v:group id="UnAv1" class="vmlimage" style="width:12px;height:12px;vertical-align:middle" coordsize="100,100" alt="Unavailable Servers">
<v:oval class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="white" strokecolor="black"/>
<v:line class="vmlimage" style="z-index:1" from="50,15" to="50,65" strokecolor="red" strokeweight="3px"/>
<v:line class="vmlimage" style="z-index:2" from="25,60" to="75,60" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:3" from="30,65" to="70,65" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:4" from="35,70" to="65,70" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:5" from="40,75" to="60,75" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:6" from="45,80" to="55,80" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:7" from="50,85" to="50,85" strokecolor="red" strokeweight="1px"/>
</v:group>
<v:group id="UnAv2" class="vmlimage" style="width:20px;height:20px;vertical-align:middle" coordsize="100,100" alt="Unavailable Servers">
<v:oval class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="white" strokecolor="black"/>
<v:line class="vmlimage" style="z-index:1" from="50,15" to="50,65" strokecolor="red" strokeweight="3px"/>
<v:line class="vmlimage" style="z-index:2" from="25,60" to="75,60" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:3" from="30,65" to="70,65" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:4" from="35,70" to="65,70" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:5" from="40,75" to="60,75" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:6" from="45,80" to="55,80" strokecolor="red" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:7" from="50,85" to="50,85" strokecolor="red" strokeweight="1px"/>
</v:group>
<v:group id="Warn1" class="vmlimage" style="width:16px;height:16px;vertical-align:middle" coordsize="100,100" alt="Warning">
<v:polyline class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="yellow" strokecolor="black" points="0,100 50,0 100,100 0,100"/>
<v:line class="vmlimage" style="z-index:1" from="50,30" to="50,70" strokecolor="black" strokeweight="2px"/>
<v:line class="vmlimage" style="z-index:2" from="50,75" to="50,85" strokecolor="black" strokeweight="2px"/>
</v:group>
<v:group id="Warn2" class="vmlimage" style="width:24px;height:24px;vertical-align:middle" coordsize="100,100" alt="Warning">
<v:polyline class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="yellow" strokecolor="black" points="0,100 50,0 100,100 0,100"/>
<v:line class="vmlimage" style="z-index:1" from="50,30" to="50,70" strokecolor="black" strokeweight="2px"/>
<v:line class="vmlimage" style="z-index:2" from="50,75" to="50,85" strokecolor="black" strokeweight="2px"/>
</v:group>
<v:group id="NoErr" class="vmlimage" style="width:12px;height:12px;vertical-align:middle" coordsize="100,100" alt="Servers with no errors or warnings">
<v:oval class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="white" strokecolor="black"/>
<v:line class="vmlimage" style="z-index:1" from="25,50" to="50,80" strokecolor="green" strokeweight="2px"/>
<v:line class="vmlimage" style="z-index:2" from="50,80" to="80,25" strokecolor="green" strokeweight="2px"/>
</v:group>
<v:group id="Details" class="vmlimage" style="width:20px;height:20px;vertical-align:middle;" coordsize="100,100" alt="Server details">
<v:rect class="vmlimage" style="left:40px;width:40;height:95;z-index:0" fillcolor="#cccccc" strokecolor="black"/>
<v:line class="vmlimage" style="z-index:1" from="40,25" to="80,25" strokecolor="black" strokeweight="0px"/>
<v:line class="vmlimage" style="z-index:2" from="40,45" to="80,45" strokecolor="black" strokeweight="0px"/>
<v:line class="vmlimage" style="z-index:3" from="87,5" to="87,100" strokecolor="#999999" strokeweight="3px"/>
<v:line class="vmlimage" style="z-index:5" from="40,100" to="80,100" strokecolor="#cccccc" strokeweight="0px"/>
</v:group>
<v:group id="Inf1" class="vmlimage" style="width:10px;height:10px;vertical-align:middle" coordsize="100,100" alt="Information">
<v:oval class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="white" strokecolor="#336699"/>
<v:line class="vmlimage" style="z-index:1" from="50,15" to="50,25" strokecolor="#336699" strokeweight="3px"/>
<v:line class="vmlimage" style="z-index:2" from="50,35" to="50,80" strokecolor="#336699" strokeweight="3px"/>
</v:group>
<v:group id="Plus" class="vmlimage" style="width:15px;height:15px;vertical-align:middle;" coordsize="100,100" alt="Expand">
<v:rect class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="#ffffff" strokecolor="#666666"/>
<v:polyline class="vmlimage" style="z-index:1" fillcolor="#cccccc" strokecolor="none" points="90,10 90,90 10,90 30,80 70,50 90,10"/>
<v:line class="vmlimage" style="z-index:2" from="0,0" to="0,100" strokecolor="black"/>
<v:line class="vmlimage" style="z-index:3" from="25,50" to="75,50" strokecolor="black" strokeweight="1px"/>
<v:line class="vmlimage" style="z-index:4" from="50,25" to="50,75" strokecolor="black" strokeweight="1px"/>
</v:group>
<v:group id="Minus" class="vmlimage" style="width:15px;height:15px;vertical-align:middle;" coordsize="100,100" alt="Collapse">
<v:rect class="vmlimage" style="width:100;height:100;z-index:0" fillcolor="#ffffff" strokecolor="#666666"/>
<v:polyline class="vmlimage" style="z-index:1" fillcolor="#cccccc" strokecolor="none" points="10,90 10,10 90,10 40,30 30,60 10,90"/>
<v:line class="vmlimage" style="z-index:2" from="0,0" to="0,100" strokecolor="black"/>
<v:line class="vmlimage" style="z-index:3" from="25,50" to="75,50" strokecolor="black" strokeweight="1px"/>
</v:group>
<!-- end VML icons for this report -->
</head>
<body onload="init();" style="cursor:wait;">
<div class="infobar" id="infobar">
<xsl:value-of select="$strData[@id='s119']"/>
</div>
<xsl:if test="$maxversion < /dfsReplicationReport/@version">
<div class="infobar">
<xsl:value-of select="$strData[@id='s133']"/>
<xsl:value-of select="$strData[@id='s133.1']"/>
<xsl:value-of select="$version"/>
<xsl:value-of select="$strData[@id='s133.2']"/>
<xsl:value-of select="/dfsReplicationReport/@version"/>
</div>
</xsl:if>
<!-- Create report title -->
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<div class="reportheader">
<xsl:choose>
<xsl:when test="dfsReplicationReport[@type='health']">
<xsl:value-of select="$strData[@id='s001']"/>
</xsl:when>
</xsl:choose>
</div>
</td>
<td>
<span id="showhideall" tabindex="0" onclick="showHideAll(this)" onkeypress="showHideAll(this)" onmouseover="hilite(this)" onmouseout="unhilite(this)" class="showhide"/>
</td>
</tr>
</table>
<!-- Create report header -->
<table class="report" cellpadding="0" cellspacing="0" border="0">
<xsl:text> </xsl:text>
<tr>
<td class="toplinenarrow" height="4px"> </td>
<td class="topline" height="4px"> </td>
</tr>
<tr>
<td class="linenarrow">
<div class="reportdetails">
<xsl:value-of select="$strData[@id='s007']"/>
</div>
</td>
<td class="line">
<!--xsl:apply-templates select="./dfsReplicationReport/header/timestamp" mode="systemTime" /-->
<!-- Display to user in locale format but in remote timezone -->
<xsl:variable name="timezone" select="./dfsReplicationReport/header/timestamp/@timezone"/>
<script>
document.write(showDateInOtherTimezone(<xsl:value-of select="number(./dfsReplicationReport/header/timestamp/fileTime)"/>, <xsl:value-of select="$timezone"/>));
</script>
<!--
<span id="fileTime">
<xsl:value-of select="./dfsReplicationReport/header/timestamp/fileTime" />
</span>
-->
</td>
</tr>
<!--
<tr><td class="linenarrow"><div class="reportdetails"><xsl:value-of select="$strData[@id='s008']" /></div></td>
<td class="line">
<xsl:value-of select="$htmlFileName" />
</td>
</tr>
-->
<tr>
<!-- Name and domain for the replication group -->
<td class="linenarrow">
<div class="reportdetails">
<xsl:value-of select="$strData[@id='s009']"/>
</div>
</td>
<td class="line">
<xsl:value-of select="/dfsReplicationReport/header/replicationGroup/@name"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="./dfsReplicationReport/header/replicationGroup/@domain"/>
<xsl:text>)</xsl:text>
</td>
</tr>
<xsl:if test="$referencemember and $referencemember != ''">
<tr>
<!-- Name and domain for the reference member -->
<td class="linenarrow">
<div class="reportdetails">
<xsl:value-of select="$strData[@id='s128']"/>
</div>
</td>
<td class="line">
<xsl:choose>
<xsl:when test="not($referencememberpos) or $referencememberpos=''">
<xsl:value-of select="$referencemember"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="generateMemberLink">
<xsl:with-param name="pos" select="$referencememberpos"/>
<xsl:with-param name="dns" select="$referencememberinfo/@dns"/>
<xsl:with-param name="name" select="$referencememberinfo/@name"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:if>
<tr>
<!-- counted # servers in the report and reported # of servers in the replication group -->
<td class="linenarrow">
<div class="reportdetails">
<xsl:value-of select="$strData[@id='s010']"/>
</div>
</td>
<td class="line">
<xsl:value-of select="$strData[@id='s011.1']"/>
<xsl:value-of select="count($members/server)"/>
<xsl:value-of select="$strData[@id='s011.2']"/>
<xsl:value-of select="./dfsReplicationReport/header/replicationGroup/totalMembers"/>
<xsl:value-of select="$strData[@id='s011.3']"/>
</td>
</tr>
<tr>
<td class="linenarrow">
<div class="reportdetails">
<xsl:value-of select="$strData[@id='s012']"/>
</div>
</td>
<td class="line">
<xsl:variable name="ratio1">
<xsl:call-template name="finalRDCRatio">
<xsl:with-param name="dfsrStatsNodeSet" select="$members/server/contentSets/set/dfsrStats |
$members/server/contentSets/set/rdcStats"/>
<xsl:with-param name="displayExtraInformation">
<xsl:text>true</xsl:text>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="finalRDCRatioGraph">
<xsl:with-param name="ratio" select="$ratio1"/>
</xsl:call-template>
</td>
</tr>
<tr>
<td class="nolinenarrow">
<div class="reportdetails">
<xsl:value-of select="$strData[@id='s013']"/>
</div>
</td>
<td>
<!-- Nested table displays # of servers without errors, with errors, with warnings, and unavailable -->
<table cellpadding="0" cellspacing="0">
<tr>
<td width="50%">
<v:vmlframe src="#NoErr" class="er1"/>
<xsl:text> </xsl:text>
<span>
<xsl:value-of select="$strData[@id='s014']"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="count(dfsReplicationReport/members/server) - count(dfsReplicationReport/members/server/serverErrors[error])"/>
<xsl:text>)</xsl:text>
</span>
</td>
<td width="50%">
<v:vmlframe src="#UnAv1" class="er1"/>
<xsl:text> </xsl:text>
<span>
<xsl:value-of select="$strData[@id='s015']"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="$serverUnavailableCount"/>
<xsl:text>)</xsl:text>
</span>
</td>
<td> </td>
</tr>
<tr>
<td>
<span>
<v:vmlframe src="#Err1" class="er1"/>
</span>
<xsl:text> </xsl:text>
<span>
<xsl:value-of select="$strData[@id='s016']"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="$serverErrorCount"/>
<xsl:text>)</xsl:text>
</span>
</td>
<td>
<span>
<v:vmlframe src="#Warn1" class="wa1"/>
</span>
<xsl:text> </xsl:text>
<span>
<xsl:value-of select="$strData[@id='s017']"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="$serverWarningCount"/>
<xsl:text>)</xsl:text>
</span>
</td>
</tr>
</table>
<br/>
</td>
</tr>
</table>
<!--message div displays only while report is loading. This gets hidden by init() function triggered by onload event.-->
<div id="message" align="center">
<span class="loading">
<xsl:value-of select="$strData[@id='s018']"/>
</span>
</div>
<div id="main" style="display:none;">
<!-- Start Errors Section -->
<xsl:comment>Error Section Start </xsl:comment>
<!-- Create Error section header -->
<div class="error">
<div class="he0_expanded">
<xsl:if test="$serverErrorCount>0">
<!-- Only insert the onclick handler and +/- icon if there are errors to report -->
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onmouseover"><xsl:text>pointer(this, 'hand')</xsl:text></xsl:attribute>
<xsl:attribute name="onmouseout"><xsl:text>pointer(this)</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('srvrErrs');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('srvrErrs');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
</xsl:if>
<!-- indicate the # of servers reporting errors -->
<span class="sectionTitle" tabindex="0">
<v:vmlframe src="#Err2" class="er2"/>  <xsl:value-of select="$strData[@id='s002']"/>
<xsl:text>  (</xsl:text>
<xsl:value-of select="$serverErrorCount"/>
<xsl:choose>
<xsl:when test="$serverErrorCount=1">
<xsl:value-of select="$strData[@id='s019']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s020']"/>
</xsl:otherwise>
</xsl:choose>
</span>
<xsl:if test="$serverErrorCount>0">
<!-- Only insert Show All/hide All if there are errors to report -->
<xsl:call-template name="showHideSectionCode">
<xsl:with-param name="blockID">
<xsl:text>'srvrErrs'</xsl:text>
</xsl:with-param>
<xsl:with-param name="hiliteColor">
<xsl:text>'white'</xsl:text>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</div>
<!-- If there are servers with errors, process each server and report the errors -->
<xsl:if test="$serverErrorCount>0">
<div id="srvrErrs" class="container" style="display:none;">
<div class="he4i">
<table class="msgtbl" cellpadding="0" cellspacing="0">
<xsl:for-each select="dfsReplicationReport/members/server">
<xsl:sort select="@name"/>
<xsl:variable name="mem" select="."/>
<xsl:variable name="pos">
<xsl:for-each select="$members/server">
<xsl:if test="$mem = .">
<xsl:value-of select="position()"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:if test="serverErrors/error[@type='error'][1]">
<xsl:variable name="srvrID" select="concat('svr', format-number(number($pos),'0000'))"/>
<xsl:call-template name="errors">
<xsl:with-param name="srvrID" select="$srvrID"/>
<xsl:with-param name="idval1" select="concat($srvrID, '_ErrList')"/>
<xsl:with-param name="errtype" select="'error'"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</table>
</div>
</div>
</xsl:if>
</div>
<xsl:comment>End Error Section </xsl:comment>
<!--End Errors Section -->
<!-- Start Warnings Section -->
<xsl:comment>Start Warnings Section </xsl:comment>
<div class="error">
<div class="he0_expanded" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:if test="$serverWarningCount>0">
<!-- Only insert the onclick handler and +/- icon if there are warnings to report -->
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('srvrWarn');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('srvrWarn');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
</xsl:if>
<span class="sectionTitle" tabindex="0">
<!-- Indicate the # of servers with warnings -->
<v:vmlframe src="#Warn2" class="wa2"/>  <xsl:value-of select="$strData[@id='s003']"/>
<xsl:text>  (</xsl:text>
<xsl:value-of select="$serverWarningCount"/>
<xsl:choose>
<xsl:when test="$serverWarningCount=1">
<xsl:value-of select="$strData[@id='s021']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s022']"/>
</xsl:otherwise>
</xsl:choose>
</span>
<xsl:if test="$serverWarningCount>0">
<!-- Only insert Show All/hide All if there are errors to report -->
<xsl:call-template name="showHideSectionCode">
<xsl:with-param name="blockID">
<xsl:text>'srvrWarn'</xsl:text>
</xsl:with-param>
<xsl:with-param name="hiliteColor">
<xsl:text>'white'</xsl:text>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</div>
<!-- If there are servers with warnings, process each server and report the warnings -->
<xsl:if test="$serverWarningCount>0">
<div id="srvrWarn" class="container" style="display:none;">
<div class="he4i">
<table class="msgtbl" cellpadding="0" cellspacing="0">
<xsl:for-each select="dfsReplicationReport/members/server">
<xsl:sort select="@name"/>
<xsl:variable name="mem" select="."/>
<xsl:variable name="pos">
<xsl:for-each select="$members/server">
<xsl:if test="$mem/@dns = @dns">
<xsl:value-of select="position()"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:if test="serverErrors/error[@type='warning'][1]">
<xsl:variable name="srvrID" select="concat('svr', format-number(number($pos),'0000'))"/>
<xsl:call-template name="errors">
<xsl:with-param name="srvrID" select="$srvrID"/>
<xsl:with-param name="idval1" select="concat($srvrID, '_WarnList')"/>
<xsl:with-param name="errtype" select="'warning'"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</table>
</div>
</div>
</xsl:if>
</div>
<xsl:comment>End Warnings Section </xsl:comment>
<!--End Warnings Section -->
<!--Start Unavailable Servers-->
<xsl:comment>Start Unavailable Servers</xsl:comment>
<!-- Create the section header -->
<div class="error">
<div class="he0_expanded" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<!-- If there are unavailable servers add onclick code to expand this block -->
<xsl:if test="$serverUnavailableCount>0">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('unavSrvrs');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('unavSrvrs');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
</xsl:if>
<!-- Header title -->
<span class="sectionTitle" tabindex="0">
<v:vmlframe src="#UnAv2" class="er2"/>  <xsl:value-of select="$strData[@id='s004']"/>
<xsl:choose>
<!-- Indicate # of unavailable servers -->
<xsl:when test="$serverUnavailableCount=0">
<xsl:text>  </xsl:text>
<xsl:value-of select="$strData[@id='s023']"/>
</xsl:when>
<xsl:when test="$serverUnavailableCount=1">
<xsl:text>  (</xsl:text>
<xsl:value-of select="$serverUnavailableCount"/>
<xsl:value-of select="$strData[@id='s024']"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>  (</xsl:text>
<xsl:value-of select="$serverUnavailableCount"/>
<xsl:value-of select="$strData[@id='s025']"/>
</xsl:otherwise>
</xsl:choose>
</span>
<xsl:if test="$serverUnavailableCount>0">
<!-- Insert Show All/hide All if there are unavailable servers -->
<xsl:call-template name="showHideSectionCode">
<xsl:with-param name="blockID">
<xsl:text>'unavSrvrs'</xsl:text>
</xsl:with-param>
<xsl:with-param name="hiliteColor">
<xsl:text>'white'</xsl:text>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</div>
<!-- If there are unavailable severs add a table with server and message information -->
<xsl:if test="$serverUnavailableCount>0">
<div id="unavSrvrs" class="container" style="display:none;">
<div class="he4i">
<table class="msgtbl" cellpadding="0" cellspacing="0">
<xsl:for-each select="dfsReplicationReport/members/server[serverErrors/error/@type='unavailableServerError']">
<!-- Process each unavailable server -->
<xsl:sort select="@name"/>
<xsl:variable name="mem" select="."/>
<xsl:variable name="pos">
<xsl:for-each select="$members/server">
<xsl:if test="$mem/@dns = @dns">
<xsl:value-of select="position()"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:if test="serverErrors/error[@type='unavailableServerError'][1]">
<xsl:variable name="srvrID" select="concat('svr', format-number(number($pos),'0000'))"/>
<xsl:call-template name="errors">
<xsl:with-param name="srvrID" select="$srvrID"/>
<xsl:with-param name="idval1" select="concat($srvrID, '_UnavErrList')"/>
<xsl:with-param name="errtype" select="'unavailableServerError'"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</table>
</div>
</div>
</xsl:if>
</div>
<xsl:comment>End Unavailable Servers</xsl:comment>
<!--End Unavailable Servers-->
<!--Start Server Info-->
<xsl:comment>Start Server Info</xsl:comment>
<!-- Check if there are servers (there better be) and set a flag (srvrsExist) -->
<xsl:variable name="srvrsExist">
<xsl:if test="dfsReplicationReport/members/server[1]">
<xsl:text>1</xsl:text>
</xsl:if>
</xsl:variable>
<xsl:variable name="serverCount">
<xsl:value-of select="count(dfsReplicationReport/members/server)"/>
</xsl:variable>
<!-- Create the section header -->
<div class="error">
<div class="he0_expanded" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<!-- If srvrsExist flag is true, add onclick code to expand this block and the +/- icon-->
<xsl:if test="$srvrsExist>0">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('srvrInfo');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('srvrInfo');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
</xsl:if>
<!-- Header titile -->
<span class="sectionTitle" tabindex="0">
<v:vmlframe src="#Details" class="er2"/>  <xsl:value-of select="$strData[@id='s005']"/>
<!--Indicate the number of servers -->
<xsl:text>  (</xsl:text>
<xsl:value-of select="$serverCount"/>
<xsl:choose>
<xsl:when test="$serverCount=1">
<xsl:value-of select="$strData[@id='s026']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s027']"/>
</xsl:otherwise>
</xsl:choose>
</span>
<xsl:call-template name="showHideSectionCode">
<!--Add the Show All/Hide All for this block-->
<xsl:with-param name="blockID">
<xsl:text>'srvrInfo'</xsl:text>
</xsl:with-param>
<xsl:with-param name="hiliteColor">
<xsl:text>'white'</xsl:text>
</xsl:with-param>
</xsl:call-template>
</div>
<!-- message2 div displays when doing a Show All on Server Info with srvrInfo block showing -->
<div id="message2" align="center" style="display:none;">
<span class="loading">
<xsl:value-of select="$strData[@id='s116']"/>
</span>
</div>
<!-- Main div containing each individual server info group -->
<div id="srvrInfo" class="container" style="display:none;">
<!-- Process each server in the report-->
<xsl:for-each select="$members/server">
<xsl:sort select="@name"/>
<xsl:variable name="server" select="."/>
<xsl:variable name="pos">
<xsl:for-each select="$members/server">
<xsl:if test="$server/@dns = @dns">
<xsl:value-of select="position()"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<!-- Set variables for use in element IDs and hrefs. These get passed as params to: error mode="info"-->
<xsl:variable name="srvrID">
<xsl:value-of select="concat('svr', format-number(number($pos),'0000'))"/>
</xsl:variable>
<xsl:variable name="srvrErrs">
<xsl:value-of select="concat($srvrID, 'err')"/>
</xsl:variable>
<xsl:variable name="srvrWarn">
<xsl:value-of select="concat($srvrID, 'warn')"/>
</xsl:variable>
<!-- Count server errors and server warnings -->
<xsl:variable name="srvrErrCount">
<xsl:value-of select="count(./serverErrors/error[@type='error' or @type='unavailableServerError'])"/>
</xsl:variable>
<xsl:variable name="srvrWarnCount">
<xsl:value-of select="count(./serverErrors/error[@type='warning'])"/>
</xsl:variable>
<!-- Start container DIV -->
<div>
<a>
<xsl:attribute name="name"><xsl:value-of select="format-number(number($pos),'0000')"/></xsl:attribute>
</a>
<!-- Header DIV for individual Server Information Block -->
<div class="he1" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrID"/><xsl:text>');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrID"/><xsl:text>');switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando2" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
<span class="sectionTitle2" tabindex="0">
<xsl:value-of select="@name"/>
</span>
<xsl:call-template name="showHideSectionCode">
<!-- Add Show All/Hide All functionality-->
<xsl:with-param name="blockID">
<xsl:text>'</xsl:text>
<xsl:value-of select="$srvrID"/>
<xsl:text>'</xsl:text>
</xsl:with-param>
<xsl:with-param name="hiliteColor">
<xsl:text>'white'</xsl:text>
</xsl:with-param>
</xsl:call-template>
</div>
<!-- End header DIV for individual Server Information Block -->
<!-- Start Server Overview DIV id="$srvrID" -->
<div class="container" style="display:none;" name="container">
<xsl:attribute name="id"><xsl:value-of select="$srvrID"/></xsl:attribute>
<div class="he4i3">
<!--xsl:if test="not(./serverErrors/error[@type='unavailableServerError'][1])"-->
<!-- If the server is unavailable, we dont show this section 'cuz there's no info -->
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="narrow">
<xsl:value-of select="$strData[@id='s028']"/>
</td>
<td>
<xsl:value-of select="@dns"/>
</td>
</tr>
<tr>
<td>
<xsl:value-of select="$strData[@id='s029']"/>
</td>
<td>
<xsl:value-of select="@domain"/>
</td>
</tr>
<tr>
<td>
<xsl:value-of select="$strData[@id='s134']"/>
</td>
<td>
<xsl:choose>
<xsl:when test="not(serverInfo/referenceDC/@dnsName) or serverInfo/referenceDC/@dnsName=''">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="serverInfo/referenceDC/@dnsName"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr>
<td>
<xsl:value-of select="$strData[@id='s120']"/>
</td>
<td>
<xsl:choose>
<xsl:when test="not(@ipAddress) or @ipAddress=''">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@ipAddress"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr>
<td>
<xsl:value-of select="$strData[@id='s030']"/>
</td>
<td>
<xsl:choose>
<xsl:when test="not(@site) or @site=''">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@site"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<tr>
<td>
<xsl:value-of select="$strData[@id='s031']"/>
</td>
<td>
<xsl:choose>
<xsl:when test="current()/serviceInfo/timestamp/@timezone">
<script>
document.write(showTimezone(<xsl:value-of select="current()/serviceInfo/timestamp/@timezone"/>));
</script>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</table>
<!--/xsl:if-->
<!-- Start Server Errors Section -->
<!-- Section Header -->
<div class="he2_expanded" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:attribute name="style"><!--xsl:if test="./serverErrors/error[@type='unavailableServerError'][1]"--><xsl:text>border-top:1px solid #999999;</xsl:text><!--/xsl:if--></xsl:attribute>
<xsl:if test="$srvrErrCount>0">
<!-- If server has errors, add onclick code -->
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrErrs"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrErrs"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="$srvrErrCount>0">
<!-- If server has errors, add +/- icon and indicate # of errors-->
<span id="plusminus" class="expando3" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
<span class="sectionTitle3" tabindex="0">
<v:vmlframe src="#Err1" class="er1"/>
<xsl:text>  </xsl:text>
<xsl:value-of select="$strData[@id='s002']"/>
<xsl:choose>
<xsl:when test="$srvrErrCount=1">
<xsl:value-of select="$strData[@id='s032']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s033.1']"/>
<xsl:value-of select="$srvrErrCount"/>
<xsl:value-of select="$strData[@id='s033.2']"/>
</xsl:otherwise>
</xsl:choose>
</span>
</xsl:when>
<xsl:otherwise>
<span class="sectionTitle3" tabindex="0">
<v:vmlframe src="#Err1" class="er1"/>
<xsl:text>  </xsl:text>
<xsl:value-of select="$strData[@id='s002']"/>
<xsl:value-of select="$strData[@id='s034']"/>
</span>
</xsl:otherwise>
</xsl:choose>
</div>
<!--End Section Header-->
<!-- Process errors for the server -->
<!--Create the DIV to hold the error list-->
<xsl:if test="$srvrErrCount>0">
<div class="container" style="display:none;" name="container">
<xsl:attribute name="id"><xsl:value-of select="$srvrErrs"/></xsl:attribute>
<div class="he4i2">
<!--Sort errors based on sortkey attribute and process each -->
<xsl:for-each select="./serverErrors/error[@type='error' or @type='unavailableServerError']">
<!--xsl:sort select="@sortkey" order="ascending" /-->
<xsl:sort select="$ecodes/error[@id=current()/@id]/code" order="ascending"/>
<xsl:variable name="err" select="."/>
<xsl:variable name="errFind">
<xsl:for-each select="$server/serverErrors/error">
<xsl:if test="$err = . and $err/@id = @id">
<xsl:value-of select="position()"/>;
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="errPos" select="substring-before($errFind, ';')"/>
<xsl:apply-templates select="." mode="info">
<xsl:with-param name="etype">
<xsl:text>err</xsl:text>
</xsl:with-param>
<xsl:with-param name="srvrID">
<xsl:value-of select="$srvrID"/>
</xsl:with-param>
<xsl:with-param name="srvrPosition">
<xsl:value-of select="$pos"/>
</xsl:with-param>
<xsl:with-param name="errPosition">
<xsl:value-of select="format-number($errPos, '0000')"/>
</xsl:with-param>
<xsl:with-param name="errId">
<xsl:value-of select="@id"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</div>
</div>
</xsl:if>
<!-- End Processing errors for server -->
<!-- End Server Errors Section -->
<!-- Start Server Warnings Section -->
<!-- Section Header -->
<!--If the server is unavailable, we don't show this section at all-->
<xsl:if test="not(./serverErrors/error[@type='unavailableServerError'][1])">
<div class="he2_expanded" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:if test="$srvrWarnCount>0">
<!-- If server has warnings, add onclick code -->
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrWarn"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrWarn"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="$srvrWarnCount>0">
<!-- If server has warnings, add +/- icon, title, and warning count -->
<span id="plusminus" class="expando3" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
<span class="sectionTitle3" tabindex="0">
<v:vmlframe src="#Warn1" class="er1"/>
<xsl:text>  </xsl:text>
<xsl:value-of select="$strData[@id='s003']"/>
<xsl:choose>
<xsl:when test="$srvrWarnCount=1">
<xsl:value-of select="$strData[@id='s035']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s036.1']"/>
<xsl:value-of select="$srvrWarnCount"/>
<xsl:value-of select="$strData[@id='s036.2']"/>
</xsl:otherwise>
</xsl:choose>
</span>
</xsl:when>
<xsl:otherwise>
<!-- otherwise just ad title and indicate no warnings-->
<span class="sectionTitle3" tabindex="0">
<v:vmlframe src="#Warn1" class="er1"/>
<xsl:value-of select="$strData[@id='s003']"/>
<xsl:value-of select="$strData[@id='s037']"/>
</span>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:if>
<!--End Section Header-->
<!-- Process warnings for the server -->
<!--Create the DIV to hold warnings-->
<xsl:if test="$srvrWarnCount>0">
<div class="container" style="display:none;" name="container">
<xsl:attribute name="id"><xsl:value-of select="$srvrWarn"/></xsl:attribute>
<div class="he4i2">
<!--Sort errors based on sortkey attribute and process each -->
<xsl:for-each select="./serverErrors/error[@type='warning']">
<!--xsl:sort select="@sortkey" order="ascending" /-->
<xsl:sort select="$ecodes/error[@id=current()/@id]/code" order="ascending"/>
<xsl:variable name="err" select="."/>
<xsl:variable name="errFind">
<xsl:for-each select="$server/serverErrors/error">
<xsl:if test="$err = . and $err/@id = @id">
<xsl:value-of select="position()"/>;
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="errPos" select="substring-before($errFind, ';')"/>
<xsl:apply-templates select="." mode="info">
<xsl:with-param name="etype">
<xsl:text>warn</xsl:text>
</xsl:with-param>
<xsl:with-param name="srvrID">
<xsl:value-of select="$srvrID"/>
</xsl:with-param>
<xsl:with-param name="srvrPosition">
<xsl:value-of select="$pos"/>
</xsl:with-param>
<xsl:with-param name="errPosition">
<xsl:value-of select="format-number($errPos, '0000')"/>
</xsl:with-param>
<xsl:with-param name="errId">
<xsl:value-of select="@id"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</div>
</div>
</xsl:if>
<!-- End Processing errors for server -->
<!-- End Server Warnings Section -->
<!-- Start Server Informational section -->
<!-- Set variables -->
<xsl:variable name="srvrInfo">
<xsl:value-of select="concat($srvrID,'info')"/>
</xsl:variable>
<!--Add onclick handlers, icons, title -->
<div class="he2_expanded" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrInfo"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$srvrInfo"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando3" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
<span class="sectionTitle3" tabindex="0">
<v:vmlframe src="#Inf1" class="er1"/>
<xsl:text>  </xsl:text>
<xsl:value-of select="$strData[@id='s039']"/>
</span>
</div>
<xsl:choose>
<!--If the sever is unavailable we don't show this entire section, just a brief message-->
<xsl:when test="./serverErrors/error[@type='unavailableServerError'][1]">
<div class="container" style="display:none;" name="container">
<xsl:attribute name="id"><xsl:value-of select="$srvrInfo"/></xsl:attribute>
<div class="he4i2">
<table cellspacing="0">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td colspan="1">
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s038']"/>
</td>
</tr>
</table>
</div>
</div>
</xsl:when>
<!--Otherwise we show all the info we have for the server-->
<xsl:otherwise>
<div class="container" style="display:none;" name="container">
<xsl:attribute name="id"><xsl:value-of select="$srvrInfo"/></xsl:attribute>
<div class="he4i2">
<!-- Add the overview and nested content set tables for the server-->
<table cellspacing="0">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td colspan="1">
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s040']"/>
<xsl:choose>
<xsl:when test="serviceInfo/state=1">
<xsl:value-of select="$strData[@id='s040.1']"/>
</xsl:when>
<xsl:when test="serviceInfo/state=2">
<xsl:value-of select="$strData[@id='s040.2']"/>
</xsl:when>
<xsl:when test="serviceInfo/state=3">
<xsl:value-of select="$strData[@id='s040.3']"/>
</xsl:when>
<xsl:when test="serviceInfo/state=4">
<xsl:value-of select="$strData[@id='s040.4']"/>
</xsl:when>
<xsl:when test="serviceInfo/state=5">
<xsl:value-of select="$strData[@id='s040.5']"/>
</xsl:when>
<xsl:when test="serviceInfo/state=6">
<xsl:value-of select="$strData[@id='s040.6']"/>
</xsl:when>
<xsl:when test="serviceInfo/state=7">
<xsl:value-of select="$strData[@id='s040.7']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s040.8']"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:if test="serviceInfo/state=1">
<tr>
<td colspan="3" height="4px"> </td>
</tr>
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td colspan="1">
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s040.1b']"/>
</td>
</tr>
</xsl:if>
<tr>
<td colspan="3" height="4px"> </td>
</tr>
</table>
<xsl:if test="serviceInfo/state=4">
<table cellspacing="0">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td colspan="1">
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s041']"/>
<xsl:call-template name="calcUptime">
<xsl:with-param name="startTime">
<xsl:value-of select="serviceInfo/timestamp/fileTime"/>
</xsl:with-param>
<xsl:with-param name="endTime">
<xsl:value-of select="/dfsReplicationReport/header/timestamp/fileTime"/>
</xsl:with-param>
</xsl:call-template>
</td>
</tr>
<tr>
<td colspan="3" height="4px"> </td>
</tr>
<xsl:if test="serviceInfo/version">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td colspan="1">
<v:vmlframe src="#Inf1" class="er1a" />
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s041.1']" />
<xsl:value-of select="serviceInfo/version" />
</td>
</tr>
</xsl:if>
</table>
</xsl:if>
<xsl:if test="count(contentSets/set) > 0">
<!-- Begin High Level CS view table -->
<table cellspacing="0">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td>
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s042']"/>
</td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s043']"/>
</td>
</tr>
<tr>
<td colspan="3" height="4px"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<table cellspacing="0">
<xsl:attribute name="class"><xsl:choose><xsl:when test="$params/ShowBacklog = '0'">info4</xsl:when><xsl:when test="$params/ShowBacklog = '1' and $server/@name = $referencememberinfo/@name">info4</xsl:when><xsl:otherwise>info6</xsl:otherwise></xsl:choose></xsl:attribute>
<tr>
<td class="tblwhiteleft">
<xsl:value-of select="$strData[@id='s044']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s045']"/>
</td>
<xsl:if test="$params/ShowBacklog = '1'">
<xsl:if test="$server/@name != $referencememberinfo/@name">
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s046.0']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s046.1']"/>
</td>
</xsl:if>
</xsl:if>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s048']"/>
</td>
<td class="tblwhiteright">
<xsl:value-of select="$strData[@id='s049']"/>
</td>
</tr>
<xsl:for-each select="contentSets/set">
<xsl:sort select="@name" order="ascending"/>
<xsl:if test="status != 6">
<tr>
<td>
<xsl:value-of select="@name"/>
</td>
<td>
<xsl:choose>
<xsl:when test="status=-1">
<xsl:value-of select="$strData[@id='s050.-1']"/>
</xsl:when>
<xsl:when test="status=0">
<xsl:value-of select="$strData[@id='s050.0']"/>
</xsl:when>
<xsl:when test="status=1">
<xsl:value-of select="$strData[@id='s050.1']"/>
</xsl:when>
<xsl:when test="status=2">
<xsl:value-of select="$strData[@id='s050.2']"/>
</xsl:when>
<xsl:when test="status=3">
<xsl:value-of select="$strData[@id='s050.3']"/>
</xsl:when>
<xsl:when test="status=4">
<xsl:value-of select="$strData[@id='s050.4']"/>
</xsl:when>
<xsl:when test="status=5">
<xsl:value-of select="$strData[@id='s050.5']"/>
</xsl:when>
<xsl:when test="status=6">
<xsl:value-of select="$strData[@id='s050.6']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s050.7']"/>
</xsl:otherwise>
</xsl:choose>
</td>
<xsl:if test="$params/ShowBacklog = '1'">
<xsl:if test="$server/@name != $referencememberinfo/@name">
<td>
<xsl:variable name="backlogOutboundCount">
<xsl:choose>
<xsl:when test="status=6">
<xsl:value-of select="-1"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="transactions/backlogOutbound"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="num">
<xsl:with-param name="num" select="$backlogOutboundCount"/>
</xsl:call-template>
</td>
<td>
<xsl:variable name="backlogInboundCount">
<xsl:choose>
<xsl:when test="status=6">
<xsl:value-of select="-1"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="transactions/backlogInbound"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="num">
<xsl:with-param name="num" select="$backlogInboundCount"/>
</xsl:call-template>
</td>
</xsl:if>
</xsl:if>
<td>
<xsl:variable name="recvdfiles">
<xsl:choose>
<xsl:when test="status=6">
<xsl:value-of select="-1"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="transactions/recvdfiles"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="num">
<xsl:with-param name="num" select="$recvdfiles"/>
</xsl:call-template>
</td>
<td>
<xsl:choose>
<xsl:when test="status=6">
<xsl:call-template name="num">
<xsl:with-param name="num" select="-1"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="finalRDCRatio">
<xsl:with-param name="dfsrStatsNodeSet" select="dfsrStats | rdcStats"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
<div>
<v:vmlframe src="#Inf1" class="er1"/>   <xsl:value-of select="$strData[@id='s132']"/>
</div>
<xsl:if test="$params/ShowBacklog = '1'">
<div>
<v:vmlframe src="#Inf1" class="er1"/>  
<xsl:choose>
<xsl:when test="$server/@name = $referencememberinfo/@name">
<xsl:value-of select="$strData[@id='s129']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s130.1']"/>
<xsl:choose>
<xsl:when test="not($referencememberpos) or $referencememberpos=''">
<xsl:value-of select="$referencemember"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="generateMemberLink">
<xsl:with-param name="pos" select="$referencememberpos"/>
<xsl:with-param name="dns" select="$referencememberinfo/@dns"/>
<xsl:with-param name="name" select="$referencememberinfo/@name"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$strData[@id='s130.2']"/>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:if>
</td>
</tr>
</table>
<br/>
<!-- End High level CS view -->
<xsl:if test="$params/ShowFiles = '1'">
<table cellspacing="0">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td>
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s054']"/>
</td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s055']"/>
</td>
</tr>
<tr>
<td colspan="3" height="4px"> </td>
</tr>
</table>
<!-- Sort content sets alphabetically by name and show info for each in expandable block-->
<xsl:for-each select="contentSets/set">
<xsl:sort select="@name" order="ascending"/>
<xsl:if test="status != 6">
<xsl:variable name="contentSetID">
<xsl:value-of select="concat($srvrID, 'set', format-number(position(), '0000'))"/>
</xsl:variable>
<!--Add title block with onclick event handler, +/- icon, and name of content set-->
<div class="he4h" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$contentSetID"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$contentSetID"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando3" sign="plus">
<v:vmlframe src="#Plus" class="pm1">
</v:vmlframe>
</span>
<span class="sectionTitle3" tabindex="0">
<xsl:value-of select="@name"/>
<xsl:value-of select="$strData[@id='s056']"/>
</span>
</div>
<div name="container" class="container" style="display:none;">
<xsl:attribute name="id"><xsl:value-of select="$contentSetID"/></xsl:attribute>
<!--Add the content set folder info for each folder in the set-->
<div class="he4i4">
<xsl:for-each select="folder">
<div style="margin-bottom: 7px;">
<b>
<xsl:choose>
<xsl:when test="@type='root'">
<xsl:value-of select="$strData[@id='s062']"/>:
</xsl:when>
<xsl:when test="@type='shared'">
<xsl:value-of select="$strData[@id='s063']"/>:
</xsl:when>
<xsl:when test="@type='conflict'">
<xsl:value-of select="$strData[@id='s064']"/>:
</xsl:when>
<xsl:when test="@type='staging'">
<xsl:value-of select="$strData[@id='s065']"/>:
</xsl:when>
</xsl:choose>
</b>
<xsl:for-each select="path">
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="."/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
<xsl:text>, </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:if test="position() != last()">
<br/>
</xsl:if>
</div>
</xsl:for-each>
<table cellspacing="0">
<xsl:attribute name="class"><xsl:choose><xsl:when test="$params/ShowFiles = '1'">info5</xsl:when><xsl:otherwise>info2</xsl:otherwise></xsl:choose></xsl:attribute>
<tr>
<td class="tblwhiteleft">
<xsl:value-of select="$strData[@id='s057']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s059']"/>
</td>
<xsl:if test="$params/ShowFiles = '1'">
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s060']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s061']"/>
</td>
<td class="tblwhiteright">
<xsl:value-of select="$strData[@id='s122']"/>
</td>
</xsl:if>
</tr>
<xsl:for-each select="folder">
<tr>
<td>
<xsl:choose>
<xsl:when test="@type='root'">
<xsl:value-of select="$strData[@id='s062']"/>
</xsl:when>
<xsl:when test="@type='shared'">
<xsl:value-of select="$strData[@id='s063']"/>
</xsl:when>
<xsl:when test="@type='conflict'">
<xsl:value-of select="$strData[@id='s064']"/>
</xsl:when>
<xsl:when test="@type='staging'">
<xsl:value-of select="$strData[@id='s065']"/>
</xsl:when>
</xsl:choose>
</td>
<td class="center">
<xsl:choose>
<xsl:when test="configSize > 0">
<xsl:call-template name="calcByteUnitSize">
<!--Reduce value appropriate size scale-->
<xsl:with-param name="size">
<xsl:value-of select="configSize"/>
</xsl:with-param>
<xsl:with-param name="unit" select="configSize/@unit"/>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:otherwise>
</xsl:choose>
</td>
<xsl:if test="$params/ShowFiles = '1'">
<td class="center">
<xsl:call-template name="calcByteUnitSize">
<!--Reduce value appropriate size scale-->
<xsl:with-param name="size">
<xsl:value-of select="size"/>
</xsl:with-param>
<xsl:with-param name="unit" select="size/@unit"/>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
<!-- Commenting out Ghosting related entries
<xsl:if test="../ghosted = 1 and ((ghostedCount >=0) or (physicalSize >= 0))">
<xsl:value-of select="$strData[@id='s143']"/>
<xsl:call-template name="calcByteUnitSize">
-->
<!-- Reduce value appropriate size scale -->
<!-- Commenting out Ghosting related entries
<xsl:with-param name="size">
<xsl:value-of select="physicalSize"/>
</xsl:with-param>
<xsl:with-param name="unit" select="size/@unit"/>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
<xsl:value-of select="$strData[@id='s144']"/>
</xsl:if>
-->
</td>
<td class="center">
<xsl:choose>
<xsl:when test="not(fileCount) or fileCount < 0">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:when test="fileCount = 0">
<xsl:text>0</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number(fileCount, '###,###,###')"/>
</xsl:otherwise>
</xsl:choose>
</td>
<td class="center">
<xsl:choose>
<xsl:when test="not(folderCount) or folderCount < 0">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:when test="folderCount = 0">
<xsl:text>0</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number(folderCount, '###,###,###')"/>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
<!-- Commenting out Ghosting related entries
<xsl:if test="ghosted = 1">
<v:vmlframe src="#Inf1" class="er1"/>  
<xsl:value-of select="$strData[@id='s145']"/>
</xsl:if>
-->
</div>
</div>
</xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:if>
<xsl:if test="count(disks/drive) > 0">
<!-- Add info about the disks on the server-->
<table cellspacing="0">
<tr>
<td width="20px" height="4px" class="topline"> </td>
<td height="4px" class="topline"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td colspan="1">
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s067']"/>
</td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s068']"/>
</td>
</tr>
<tr>
<td colspan="1"> </td>
<td colspan="2">
<!--Process each disk on the server -->
<xsl:apply-templates select="./disks"/>
</td>
</tr>
<tr>
<td colspan="3" height="4px"> </td>
</tr>
</table>
<br/>
</xsl:if>
<xsl:if test="count(contentSets/set/dfsrStats | contentSets/set/rdcStats) > 0">
<!--Show RDC stats for the server-->
<table cellspacing="0">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td width="150px" height="4px" class="topline"> </td>
<td height="4px" class="topline"> </td>
</tr>
<tr>
<td colspan="1">
<v:vmlframe src="#Inf1" class="er1a"/>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s069']"/>
</td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s071']"/>
</td>
</tr>
<tr>
<td> </td>
<td>
<xsl:value-of select="$strData[@id='s073']"/>
</td>
<td>
<!--Calculate and display reduced WAN traffic-->
<xsl:call-template name="calcByteUnitSize">
<!--Reduce value appropriate size scale-->
<xsl:with-param name="size">
<xsl:value-of select="sum(contentSets/set/dfsrStats/sizeOfFilesReceived) - sum(contentSets/set/dfsrStats/totalBytesReceived) + sum(contentSets/set/rdcStats/rdcUncompressedReceivedBytes) - sum(contentSets/set/rdcStats/rdcCompressedReceivedBytes)"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:text>B</xsl:text>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
</td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s075']"/>
</td>
</tr>
<tr>
<td> </td>
<td colspan="2">
<!-- This table shows the RDC stats for each content set on the server-->
<table class="info4" cellspacing="0">
<tr>
<td class="tblwhiteleft">
<xsl:value-of select="$strData[@id='s076']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s078']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s077']"/>
</td>
<td class="tblwhiteright" nowrap="0">
<xsl:value-of select="$strData[@id='s079']"/>
</td>
</tr>
<!-- Sort each CS by name and display the stats-->
<xsl:for-each select="contentSets/set">
<xsl:sort select="@name" order="ascending"/>
<xsl:if test="status != 6">
<tr>
<td class="center">
<xsl:value-of select="@name"/>
</td>
<td nowrap="yes" class="center">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="dfsrStats/sizeOfFilesReceived | rdcStats/rdcUncompressedReceivedBytes"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:text>B</xsl:text>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
</td>
<td class="center">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="dfsrStats/totalBytesReceived | rdcStats/rdcCompressedReceivedBytes"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:text>B</xsl:text>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
</td>
<td class="center">
<!--Calculate the RDC compression ratio for the set and assign to a variable-->
<xsl:call-template name="finalRDCRatio">
<xsl:with-param name="dfsrStatsNodeSet" select="dfsrStats | rdcStats"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
</xsl:for-each>
<!--Show the overall combined RDC stats for all sets on the server-->
<tr>
<td class="center">
<b>
<xsl:value-of select="$strData[@id='s081']"/>
</b>
</td>
<td class="center">
<b>
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="sum(contentSets/set/dfsrStats/sizeOfFilesReceived | contentSets/set/rdcStats/rdcUncompressedReceivedBytes)"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:text>B</xsl:text>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
</b>
</td>
<td class="center">
<b>
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="sum(contentSets/set/dfsrStats/totalBytesReceived | contentSets/set/rdcStats/rdcCompressedReceivedBytes)"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:text>B</xsl:text>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
</b>
</td>
<td class="center">
<b>
<xsl:call-template name="finalRDCRatio">
<xsl:with-param name="dfsrStatsNodeSet" select="contentSets/set/dfsrStats | contentSets/set/rdcStats"/>
</xsl:call-template>
</b>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="3" height="4px"> </td>
</tr>
</table>
</xsl:if>
</div>
</div>
</xsl:otherwise>
</xsl:choose>
<!--If this is the last server, add a line below-->
<xsl:if test="position()=last()">
<div class="he2_expanded"/>
</xsl:if>
</div>
</div>
<!-- this DIV ends the INFORMATIONAL section -->
<!-- End Server Info section -->
</div>
<!-- End Server Overview DIV id="$srvrID" -->
</xsl:for-each>
<!-- End of individual server info -->
</div>
<!-- End main srvrInfo DIV -->
</div>
<!--End Starting DIV for Server Info DIV -->
<xsl:comment>End Server Info</xsl:comment>
<!--End Server Info -->
</div>
<!-- End of Main -->
</body>
</html>
</xsl:template>
<!-- ***************************************************************************************************** -->
<!-- ***************************************************************************************************** -->
<!-- ***************************************************************************************************** -->
<!-- ***************************************************************************************************** -->
<!-- CALLED & MATCHED TEMPLATES -->
<!-- This template processes the affected file list for a given error and content set.
It is called from <template name="errors" mode="info">-->
<xsl:template name="affectedFileList">
<xsl:param name="srvrPosition"/>
<xsl:param name="errPosition"/>
<xsl:param name="errId"/>
<xsl:param name="contentSet"/>
<xsl:param name="setPosition"/>
<xsl:param name="nodeSet"/>
<xsl:param name="errorNode"/>
<xsl:variable name="affectedFileSetID">
<xsl:value-of select="concat($srvrPosition, 'err', $errPosition, 'set', $setPosition)"/>
</xsl:variable>
<div>
<div class="he4h" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$affectedFileSetID"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$affectedFileSetID"/><xsl:text>'); switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando3" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
<span class="sectionTitle3" tabindex="0">
<xsl:value-of select="$contentSet"/>
<xsl:value-of select="$strData[@id='s082']"/>
</span>
</div>
<div class="container" name="container" style="display:none;">
<xsl:attribute name="id"><xsl:value-of select="$affectedFileSetID"/></xsl:attribute>
<div class="he4i4">
<table cellspacing="0" width="100%">
<tr>
<td class="narrow" height="1px"> </td>
<td height="1px"> </td>
</tr>
<tr>
<td class="narrow">
<xsl:value-of select="$strData[@id='s083']"/>
</td>
<td>
<xsl:choose>
<xsl:when test="../folder[@type=$errorNode/@refers2]">
<xsl:value-of select="../folder[@type=$errorNode/@refers2]/path"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="../folder[@type='root']/path"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:for-each select="$errorNode/nestedTableString">
<xsl:choose>
<xsl:when test="./description">
<tr>
<td>
<xsl:value-of select="$strData[@id='s084']"/>
</td>
<td>
<xsl:apply-templates select="description" mode="afs">
<xsl:with-param name="serverposition">
<xsl:value-of select="$srvrPosition"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errPosition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errId"/>
</xsl:with-param>
<xsl:with-param name="contentset">
<xsl:value-of select="$contentSet"/>
</xsl:with-param>
</xsl:apply-templates>
</td>
</tr>
</xsl:when>
<xsl:when test="./str[@value='folderconfigsize']">
<tr>
<td>
<xsl:value-of select="$strData[@id='s085']"/>
</td>
<td>
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="$members/server[position()=$srvrPosition]/contentSets/set[position()=$setPosition]/folder[@type='staging']/configSize"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:value-of select="$members/server[position()=$srvrPosition]/contentSets/set[position()=$setPosition]/folder[@type='staging']/configSize/@unit"/>
</xsl:with-param>
</xsl:call-template>
</td>
</tr>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:if test="timestamp/fileTime">
<tr>
<td>
<xsl:value-of select="$strData[@id='s086']"/>
</td>
<td>
<!--xsl:apply-templates select="timestamp" mode="systemTime" /-->
<xsl:variable name="timezone" select="timestamp/@timezone"/>
<script>
document.write(showDateInOtherTimezone(<xsl:value-of select="number(timestamp/fileTime)"/>, <xsl:value-of select="timestamp/@timezone"/>));
</script>
</td>
</tr>
</xsl:if>
<xsl:if test="$errorNode/nestedTableString/action">
<tr>
<td>
<xsl:value-of select="$strData[@id='s087']"/>
</td>
<td>
<xsl:apply-templates select="$errorNode/nestedTableString/action" mode="afs">
<xsl:with-param name="serverposition">
<xsl:value-of select="$srvrPosition"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errPosition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errId"/>
</xsl:with-param>
<xsl:with-param name="contentset">
<xsl:value-of select="$contentSet"/>
</xsl:with-param>
</xsl:apply-templates>
</td>
</tr>
</xsl:if>
<tr>
<td colspan="2" height="4px"> </td>
</tr>
</table>
<xsl:if test="$nodeSet/file">
<div class="he5ib">
<span class="sectionTitle" tabindex="0">
<xsl:value-of select="$strData[@id='s088']"/>
<xsl:value-of select="path"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="count($nodeSet/file)"/>
<xsl:text>):</xsl:text>
<xsl:if test="count($nodeSet/file) > 100">
<xsl:value-of select="$strData[@id='s118']"/>
</xsl:if>
</span>
</div>
<div class="he5i" style="margin-top:10px;">
<table cellspacing="0" class="info">
<tr>
<td class="tblwhiteleft" style="padding-left:10px; width:80%;">
<xsl:value-of select="$strData[@id='s089']"/>
</td>
<xsl:if test="$errorNode/@reports!='none'">
<td class="tblwhiteright" style="padding-left:10px; width:20%;">
<xsl:choose>
<xsl:when test="$errorNode[@reports='age']">
<xsl:value-of select="$strData[@id='s090']"/>
</xsl:when>
<xsl:when test="$errorNode[@reports='size']">
<xsl:value-of select="$strData[@id='s091']"/>
</xsl:when>
</xsl:choose>
</td>
</xsl:if>
</tr>
<xsl:for-each select="file">
<xsl:sort select="size" order="descending" data-type="number"/>
<xsl:if test="position() <= 100">
<tr>
<td style="padding-left:10px;">
<xsl:value-of select="concat(path, '\', name)"/>
</td>
<xsl:if test="$errorNode/@reports!='none'">
<td>
<xsl:choose>
<xsl:when test="$errorNode[@reports='age']">
<xsl:call-template name="calcUptime">
<xsl:with-param name="startTime" select="timestamp/fileTime"/>
<xsl:with-param name="endTime" select="/dfsReplicationReport/header/timestamp/fileTime"/>
<xsl:with-param name="mode" select="1"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$errorNode[@reports='size']">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="size"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:value-of select="size/@unit"/>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:value-of select="0"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</td>
</xsl:if>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</div>
</xsl:if>
</div>
</div>
</div>
</xsl:template>
<!--Determine the optimal reported size for file or disk size data.
This template calls itself recursively until optimal size is acheived then outputs size and unit value.-->
<xsl:template name="calcByteUnitSize">
<xsl:param name="size"/>
<xsl:param name="unit"/>
<xsl:param name="precision"/>
<xsl:choose>
<xsl:when test="not($size) or $size = NaN or $size = '' or $size < 0">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:when test="$size = 0">
<xsl:text>0 KB</xsl:text>
</xsl:when>
<xsl:when test="($size>=1024 and (not($unit) or $unit!='EB')) or ($unit='B' or $unit='' or not($unit))">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="$size div 1024"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:choose>
<xsl:when test="not($unit) or $unit='B' or $unit =''">
<xsl:text>KB</xsl:text>
</xsl:when>
<xsl:when test="$unit='KB'">
<xsl:text>MB</xsl:text>
</xsl:when>
<xsl:when test="$unit='MB'">
<xsl:text>GB</xsl:text>
</xsl:when>
<xsl:when test="$unit='GB'">
<xsl:text>TB</xsl:text>
</xsl:when>
<xsl:when test="$unit='TB'">
<xsl:text>PB</xsl:text>
</xsl:when>
<xsl:when test="$unit='PB'">
<xsl:text>EB</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>KB</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:value-of select="$precision"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$precision='0'">
<xsl:value-of select="format-number($size, '#,##0')"/>
</xsl:when>
<xsl:when test="$precision='1'">
<xsl:value-of select="format-number($size, '#,##0.0')"/>
</xsl:when>
<xsl:when test="$precision='2'">
<xsl:value-of select="format-number($size, '#,##0.00')"/>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$size<10">
<xsl:value-of select="format-number($size, '#,###.00')"/>
</xsl:when>
<xsl:when test="$size<100 and $size>=10">
<xsl:value-of select="format-number($size, '#,###.0')"/>
</xsl:when>
<xsl:when test="$size>=100">
<xsl:value-of select="format-number($size, '#,##0')"/>
</xsl:when>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
<xsl:choose>
<xsl:when test="not($unit) or $unit = ''">B</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$unit"/>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Calculates server uptime from filetime for server start and filetime for report.
Result is displayed in hours or days and hours if hours > 24.-->
<xsl:template name="calcUptime">
<xsl:param name="startTime"/>
<xsl:param name="endTime"/>
<xsl:param name="mode"/>
<xsl:variable name="runTimeHrs" select="($endTime - $startTime) div 36000000000"/>
<xsl:variable name="days">
<xsl:choose>
<xsl:when test="$mode">
<xsl:value-of select="0"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="floor($runTimeHrs div 24)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="hours" select="floor($runTimeHrs - ($days * 24))"/>
<xsl:variable name="mins" select="floor(($runTimeHrs - (($days * 24) + $hours)) * 60)"/>
<xsl:choose>
<xsl:when test="not($startTime) or not($endTime)">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$days > 0">
<xsl:value-of select="$days"/>
<xsl:choose>
<xsl:when test="$days = 1">
<xsl:value-of select="$strData[@id='s092']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s093']"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:if test="$hours > 0">
<xsl:value-of select="$hours"/>
<xsl:value-of select="$strData[@id='s094']"/>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:if test="($hours = 0) or ($days = 0)">
<xsl:choose>
<xsl:when test="$mins = 0">
<xsl:text>0</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$mins"/>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$strData[@id='s121']"/>
</xsl:if>
<xsl:text> </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Creates the VML bar graph of RDC compression ratio.-->
<xsl:template name="drawBarGraphs">
<xsl:param name="primaryValue"/>
<div style="width: expression(((this.parentNode.offsetWidth / 2) - 70) + 'px'); float: left; clear: right;">
<v:rect fillcolor="blue">
<xsl:attribute name="style"><xsl:text>width:</xsl:text><xsl:value-of select="format-number(($primaryValue * .95), '##.##')"/><xsl:text>%;margin:0px;padding:0px</xsl:text></xsl:attribute>
</v:rect>
<v:rect fillcolor="#EEEEEE">
<xsl:attribute name="style"><xsl:text>width:</xsl:text><xsl:value-of select="format-number(((100 - $primaryValue) * .95), '##.##')"/><xsl:text>%;margin:0px 0px 0px -3px;padding:0px</xsl:text></xsl:attribute>
</v:rect>
</div>
</xsl:template>
<!-- Calculate the RDC compression ratio. May have to rework this algorythym
Currently takes ((((sum(<basis>) - sum(<recvd>)) div sum(<basis>))/count(<contentset/dfsrStats>))*100)
This number may be skewed?? -->
<xsl:template name="finalRDCRatio">
<xsl:param name="dfsrStatsNodeSet"/>
<xsl:param name="displayExtraInformation"/>
<xsl:variable name="uncompressed" select="sum($dfsrStatsNodeSet/sizeOfFilesReceived | $dfsrStatsNodeSet/rdcUncompressedReceivedBytes)"/>
<xsl:variable name="compressed" select="sum($dfsrStatsNodeSet/totalBytesReceived | $dfsrStatsNodeSet/rdcCompressedReceivedBytes)"/>
<xsl:variable name="rdcRatio">
<xsl:choose>
<xsl:when test="$uncompressed = 0 and $compressed = 0">
<xsl:value-of select="0.00"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="((($uncompressed - $compressed) div $uncompressed)*100)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="not(number($rdcRatio) = number($rdcRatio))">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:when test="$rdcRatio < 0">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:when test="$rdcRatio = 0">
<xsl:text>0.00%</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="format-number($rdcRatio, '##.##')"/>
<xsl:text>%</xsl:text>
<!--Display extra information if needed (X instead of Y transferred)-->
<xsl:if test="$displayExtraInformation='true'">
<xsl:value-of select="$strData[@id='s140']"/>
<xsl:call-template name="calcByteUnitSize">
<!--Reduce value appropriate size scale-->
<xsl:with-param name="size">
<xsl:value-of select="$compressed"/>
</xsl:with-param>
<xsl:with-param name="precision">
<xsl:text>2</xsl:text>
</xsl:with-param>
</xsl:call-template>
<xsl:value-of select="$strData[@id='s141']"/>
<xsl:call-template name="calcByteUnitSize">
<!--Reduce value appropriate size scale-->
<xsl:with-param name="size">
<xsl:value-of select="$uncompressed"/>
</xsl:with-param>
</xsl:call-template>
<xsl:value-of select="$strData[@id='s142']"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="finalRDCRatioGraph">
<xsl:param name="ratio"/>
<xsl:variable name="ratio2" select="substring-before($ratio, '%')"/>
<xsl:choose>
<xsl:when test="$ratio and $ratio != $strData[@id='s066'] and number($ratio2) >= 0">
<!--Pass variable to a template that draws the bar graph in VML-->
<xsl:call-template name="drawBarGraphs">
<xsl:with-param name="primaryValue" select="number($ratio2)"/>
</xsl:call-template>
<xsl:value-of select="$ratio"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Processes link elements that appear in error information in dfsrHealthMessages.xml-->
<xsl:template match="link">
<xsl:param name="serverposition"/>
<xsl:param name="errorposition"/>
<xsl:param name="errorid"/>
<a>
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
<xsl:attribute name="target"><xsl:value-of select="@target"/></xsl:attribute>
<xsl:choose>
<xsl:when test="@string">
<xsl:value-of select="@string"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="child::node()">
<xsl:with-param name="serverposition" select="$serverposition"/>
<xsl:with-param name="errorposition" select="$errorposition"/>
<xsl:with-param name="errorid" select="$errorid"/>
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
</a>
</xsl:template>
<!--Determines what info to display for the affected content sets item in an error or warning-->
<xsl:template match="affectedContentSets">
<xsl:choose>
<xsl:when test="current()[@sets='all']">
<xsl:value-of select="$strData[@id='s095']"/>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="set">
<xsl:sort select="@name" order="ascending"/>
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
</xsl:when>
<xsl:otherwise>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>,</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="code|description|action">
<xsl:param name="serverposition"/>
<xsl:param name="errorposition"/>
<xsl:param name="errorid"/>
<xsl:for-each select="node()">
<xsl:apply-templates select=".">
<xsl:with-param name="serverposition">
<xsl:value-of select="$serverposition"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errorposition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errorid"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<!-- Processes these elements when found in an error in affected FileSet-->
<xsl:template match="code|description|action" mode="afs">
<xsl:param name="serverposition"/>
<xsl:param name="errorposition"/>
<xsl:param name="errorid"/>
<xsl:param name="contentset"/>
<xsl:for-each select="node()">
<xsl:apply-templates select=".">
<xsl:with-param name="serverposition">
<xsl:value-of select="$serverposition"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errorposition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errorid"/>
</xsl:with-param>
<xsl:with-param name="contentset">
<xsl:value-of select="$contentset"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<!--Displays disk information for a server. Disks are sorted alphabetically by drive letter.-->
<xsl:template match="disks">
<table class="info6" cellspacing="0">
<tr>
<td class="tblwhiteleft">
<xsl:value-of select="$strData[@id='s096']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s097']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s098']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s100']"/>
</td>
<td class="tblwhiteboth">
<xsl:value-of select="$strData[@id='s099']"/>
</td>
<td class="tblwhiteright">
<xsl:value-of select="$strData[@id='s101']"/>
</td>
</tr>
<xsl:for-each select="drive">
<xsl:sort select="@letter" order="ascending"/>
<tr>
<td class="center">
<xsl:value-of select="@letter"/>
</td>
<td class="center">
<xsl:choose>
<xsl:when test="@name != ''">
<xsl:value-of select="@name"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s123']"/>
</xsl:otherwise>
</xsl:choose>
</td>
<td class="center">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="totalSpace"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:value-of select="totalSpace/@unit"/>
</xsl:with-param>
</xsl:call-template>
</td>
<td class="center">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="freeSpace"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:value-of select="freeSpace/@unit"/>
</xsl:with-param>
</xsl:call-template>
</td>
<td class="center">
<xsl:value-of select="format-number(((freeSpace div totalSpace)*100), '###0.0')"/>
<xsl:text>%</xsl:text>
</td>
<td class="center">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="journalSize"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:value-of select="journalSize/@unit"/>
</xsl:with-param>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
<!--Processes errors, warnings, and unavailable server errors in the overview sections-->
<xsl:template name="errors">
<xsl:param name="srvrID"/>
<xsl:param name="idval1"/>
<xsl:param name="errtype"/>
<xsl:variable name="prefix">
<xsl:choose>
<xsl:when test="$errtype='error'">
<xsl:text>err</xsl:text>
</xsl:when>
<xsl:when test="$errtype='warning'">
<xsl:text>warn</xsl:text>
</xsl:when>
<xsl:when test="$errtype='unavailableServerError'">
<xsl:text>err</xsl:text>
</xsl:when>
</xsl:choose>
</xsl:variable>
<tr>
<td class="line" width="15px"> </td>
<td class="line" align="right" colspan="2">
<div class="server" onmouseover="pointer(this, 'hand')" onmouseout="pointer(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$idval1"/><xsl:text>'), switchSign(this.childNodes);</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowBlock('</xsl:text><xsl:value-of select="$idval1"/><xsl:text>'), switchSign(this.childNodes);</xsl:text></xsl:attribute>
<span id="plusminus" class="expando4" sign="plus">
<v:vmlframe src="#Plus" class="pm1"/>
</span>
<xsl:value-of select="@name"/>
<xsl:text>  </xsl:text>
<span class="normal">
<xsl:text> (</xsl:text>
<xsl:variable name="errcount">
<xsl:value-of select="count(serverErrors/error[@type=$errtype])"/>
</xsl:variable>
<xsl:value-of select="$errcount"/>
<xsl:choose>
<xsl:when test="$errtype='error' or $errtype='unavailableServerError'">
<xsl:choose>
<xsl:when test="$errcount=1">
<xsl:value-of select="$strData[@id='s112']"/>
<xsl:text>    </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s113']"/>
<xsl:text>    </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="$errtype='warning'">
<xsl:choose>
<xsl:when test="$errcount=1">
<xsl:value-of select="$strData[@id='s114']"/>
<xsl:text>    </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s115']"/>
<xsl:text>    </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</span>
<span class="normal2" onmouseover="hilite(this)" onmouseout="unhilite(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowInfo('</xsl:text><xsl:value-of select="$srvrID"/><xsl:text>', '</xsl:text><xsl:value-of select="format-number(number(substring-after($srvrID, 'r')),'0000')"/><xsl:text>')</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowInfo('</xsl:text><xsl:value-of select="$srvrID"/><xsl:text>', '</xsl:text><xsl:value-of select="format-number(number(substring-after($srvrID, 'r')),'0000')"/><xsl:text>')</xsl:text></xsl:attribute>
<xsl:value-of select="$strData[@id='s102']"/>
</span>
</div>
</td>
</tr>
<tr>
<td colspan="3">
<div class="container" style="display:none;" name="container">
<xsl:attribute name="id"><xsl:value-of select="$idval1"/></xsl:attribute>
<table class="msgtbl" cellpadding="0" cellspacing="0">
<xsl:variable name="server" select="."/>
<xsl:for-each select="./serverErrors/error[@type=$errtype]">
<!--xsl:sort select="@sortkey" order="ascending" /-->
<xsl:sort select="$ecodes/error[@id=current()/@id]/code" order="ascending"/>
<xsl:variable name="err" select="."/>
<xsl:variable name="errFind">
<xsl:for-each select="$server/serverErrors/error">
<xsl:if test="$err = . and $err/@id = @id">
<xsl:value-of select="position()"/>;
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="errPos" select="substring-before($errFind, ';')"/>
<tr>
<td width="30px"> </td>
<td class="line">
<div class="error">
<span class="normal" onmouseover="hilite(this)" onmouseout="unhilite(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>doShowError('</xsl:text><xsl:value-of select="$srvrID"/><xsl:text>', '</xsl:text><xsl:value-of select="$prefix"/><xsl:text>', '</xsl:text><xsl:value-of select="concat($srvrID, $prefix, format-number($errPos, '0000'))"/><xsl:text>')</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>doShowError('</xsl:text><xsl:value-of select="$srvrID"/><xsl:text>', '</xsl:text><xsl:value-of select="$prefix"/><xsl:text>', '</xsl:text><xsl:value-of select="concat($srvrID, $prefix, format-number($errPos, '0000'))"/><xsl:text>')</xsl:text></xsl:attribute>
<xsl:variable name="errid" select="current()/@id"/>
<xsl:choose>
<xsl:when test="$ecodes/error[@id=$errid]">
<xsl:for-each select="$ecodes/error[@id=$errid]/code">
<xsl:apply-templates select=".">
<xsl:with-param name="serverposition">
<xsl:value-of select="substring-after($srvrID,'r')"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errPos"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errid"/>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$strData[@id='s117']"/> (<xsl:value-of select="$errid"/>)
</xsl:otherwise>
</xsl:choose>
</span>
</div>
</td>
<!-- <td class="line"><xsl:value-of select="timestamp" /></td> -->
</tr>
</xsl:for-each>
</table>
</div>
</td>
</tr>
</xsl:template>
<!--Processes errors and warnings in the Server Info section-->
<xsl:template match="error" mode="info">
<xsl:param name="etype"/>
<xsl:param name="srvrPosition"/>
<xsl:param name="srvrID"/>
<xsl:param name="errPosition"/>
<xsl:param name="errId"/>
<xsl:variable name="errorNode" select="$ecodes/error[@id=current()/@id]"/>
<a>
<xsl:attribute name="name"><xsl:value-of select="concat($srvrID, $etype, $errPosition)"/></xsl:attribute>
</a>
<table cellspacing="0">
<tr>
<td width="20" height="4px" class="topline"> </td>
<td height="4px" class="toplinenarrow">
 
</td>
<td height="4px" class="topline"> </td>
</tr>
<xsl:choose>
<xsl:when test="$errorNode/code">
<tr>
<td colspan="1">
<xsl:choose>
<xsl:when test="$etype='err'">
<v:vmlframe src="#Err1" class="er1a"/>
</xsl:when>
<xsl:when test="$etype='warn'">
<v:vmlframe src="#Warn1" class="er1a"/>
</xsl:when>
</xsl:choose>
</td>
<td colspan="2">
<xsl:apply-templates select="$errorNode/code">
<xsl:with-param name="serverposition">
<xsl:value-of select="$srvrPosition"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errPosition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errId"/>
</xsl:with-param>
</xsl:apply-templates>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="unknownError">
<xsl:with-param name="errorId" select="$errId"/>
<xsl:with-param name="serverposition" select="$srvrPosition"/>
<xsl:with-param name="errorposition" select="$errPosition"/>
<xsl:with-param name="etype" select="$etype"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="affectedContentSets">
<xsl:choose>
<xsl:when test="affectedContentSets[@sets='all']">
<tr>
<td> </td>
<td class="narrow">
<xsl:value-of select="$strData[@id='s104']"/>
</td>
<td>
<xsl:value-of select="$strData[@id='s106']"/>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<xsl:if test="affectedContentSets/set">
<tr>
<td> </td>
<td class="narrow">
<xsl:value-of select="$strData[@id='s104']"/>
</td>
<td>
<xsl:apply-templates select="affectedContentSets"/>
</td>
</tr>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="$errorNode/description/node() or not($errorNode/@hideeventid) or $errorNode/@hideeventid!='true'">
<tr>
<td> </td>
<td>
<xsl:value-of select="$strData[@id='s084']"/>
</td>
<td>
<xsl:apply-templates select="$errorNode/description">
<xsl:with-param name="serverposition">
<xsl:value-of select="$srvrPosition"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errPosition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errId"/>
</xsl:with-param>
</xsl:apply-templates>
<xsl:if test="not($errorNode/@hideeventid) or $errorNode/@hideeventid!='true'">
<xsl:value-of select="$strData[@id='s131']"/>
<xsl:value-of select="$errId"/>
</xsl:if>
</td>
</tr>
</xsl:if>
<xsl:if test="timestamp/fileTime">
<tr>
<td> </td>
<td>
<xsl:value-of select="$strData[@id='s086']"/>
</td>
<td>
<!--xsl:apply-templates select="timestamp" mode="systemTime" /-->
<xsl:variable name="timezone" select="timestamp/@timezone"/>
<script>
document.write(showDateInOtherTimezone(<xsl:value-of select="number(timestamp/fileTime)"/>, <xsl:value-of select="timestamp/@timezone"/>));
</script>
</td>
</tr>
</xsl:if>
<xsl:if test="$errorNode/action/node()">
<tr>
<td> </td>
<td>
<xsl:value-of select="$strData[@id='s137']"/>
</td>
<td>
<xsl:apply-templates select="$errorNode/action">
<xsl:with-param name="serverposition">
<xsl:value-of select="$srvrPosition"/>
</xsl:with-param>
<xsl:with-param name="errorposition">
<xsl:value-of select="$errPosition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errId"/>
</xsl:with-param>
</xsl:apply-templates>
</td>
</tr>
</xsl:if>
</table>
<xsl:if test="$errorNode/@refers2">
<xsl:for-each select="./affectedContentSets/set">
<xsl:variable name="setName">
<xsl:value-of select="@name"/>
</xsl:variable>
<xsl:variable name="setPosition">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:for-each select="$members/server[position()=$srvrPosition]/contentSets/set[@name=$setName]/affectedFileSet[@folder=$errorNode/@refers2]">
<xsl:sort select="../@name" order="ascending"/>
<xsl:call-template name="affectedFileList">
<xsl:with-param name="srvrPosition">
<xsl:value-of select="$srvrPosition"/>
</xsl:with-param>
<xsl:with-param name="errPosition">
<xsl:value-of select="$errPosition"/>
</xsl:with-param>
<xsl:with-param name="errorid">
<xsl:value-of select="$errId"/>
</xsl:with-param>
<xsl:with-param name="contentSet">
<xsl:value-of select="$setName"/>
</xsl:with-param>
<xsl:with-param name="setPosition">
<xsl:value-of select="$setPosition"/>
</xsl:with-param>
<xsl:with-param name="nodeSet" select="$members/server[position()=$srvrPosition]/contentSets/set[@name=$setName]/affectedFileSet[@folder=$errorNode/@refers2]"/>
<xsl:with-param name="errorNode" select="$errorNode"/>
</xsl:call-template>
</xsl:for-each>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template name="unknownError">
<xsl:param name="errorId"/>
<xsl:param name="serverposition"/>
<xsl:param name="errorposition"/>
<xsl:param name="etype"/>
<tr>
<td colspan="1">
<xsl:choose>
<xsl:when test="$etype='err'">
<v:vmlframe src="#Err1" class="er1a"/>
</xsl:when>
<xsl:when test="$etype='warn'">
<v:vmlframe src="#Warn1" class="er1a"/>
</xsl:when>
</xsl:choose>
</td>
<td colspan="2">
<xsl:value-of select="$strData[@id='s117']"/> (<xsl:value-of select="$strData[@id='s126']"/>
<xsl:value-of select="$errorId"/>)
</td>
</tr>
<xsl:for-each select="$members/server[position()=number($serverposition)]/serverErrors/error[@id=$errorId and position() = $errorposition]/errorReferences/ref">
<tr>
<td> </td>
<td class="narrow">
<xsl:value-of select="$strData[@id='s127']"/>
<xsl:value-of select="substring-after(@refId, '.')"/>:
</td>
<td>
<xsl:apply-templates>
<xsl:with-param name="serverposition" select="$serverposition"/>
<xsl:with-param name="errorposition" select="$errorposition"/>
<xsl:with-param name="errorid" select="$errorId"/>
</xsl:apply-templates>
</td>
</tr>
</xsl:for-each>
</xsl:template>
<!--Process str elements that appear in error descriptions and actions in dfsrHealthMessages.xml-->
<xsl:template match="str">
<xsl:param name="serverposition"/>
<xsl:param name="errorposition"/>
<xsl:param name="errorid"/>
<xsl:param name="contentset"/>
<xsl:choose>
<xsl:when test="@value='servernamefull'">
<xsl:value-of select="$members/server[position()=$serverposition]/@name"/>
</xsl:when>
<xsl:when test="@value='servername'">
<xsl:call-template name="extractServerShortName">
<xsl:with-param name="serverName">
<xsl:value-of select="$members/server[position()=$serverposition]/@name"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="@value='serverdomain'">
<xsl:value-of select="$members/server[position()=$serverposition]/@domain"/>
</xsl:when>
<xsl:when test="@value='foldersize'">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="$members/server[position()=$serverposition]/contentSets/set[@name=$contentset]/folder[@type=string(../../@refers2)]/size"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:value-of select="$members/server[position()=$serverposition]/contentSets/set[@name=$contentset]/folder[@type=string(../../@refers2)]/size/@unit"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="@value='folderconfigsize'">
<xsl:call-template name="calcByteUnitSize">
<xsl:with-param name="size">
<xsl:value-of select="$members/server[position()=$serverposition]/contentSets/set[@name=$contentset]/folder[@type=current()/../../@refers2]/configSize"/>
</xsl:with-param>
<xsl:with-param name="unit">
<xsl:value-of select="$members/server[position()=$serverposition]/contentSets/set[@name=$contentset]/folder[@type=current()/../../@refers2]/configSize/@unit"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="@value='filecount'">
<xsl:value-of select="count($members/server[position()=$serverposition]/contentSets/set/affectedFileSet[@folder=current()/../../@refers2]/file)"/>
</xsl:when>
<xsl:when test="@value='setcount'">
<xsl:value-of select="count($members/server[position()=$serverposition]/contentSets/set[affectedFileSet/@folder=current()/../../@refers2])"/>
</xsl:when>
<xsl:when test="@value='helpref'">
<a href="../FRS_Help.htm">
<xsl:value-of select="$strData[@id='s108']"/>
</a>
</xsl:when>
<xsl:when test="@value='msweb'">
<a href="http://go.microsoft.com/fwlink/events.asp" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='rpckb'">
<a href="http://support.microsoft.com/Default.aspx?kbid=839880" target="_blank">
<xsl:value-of select="$strData[@id='s138']"/>
</a>
</xsl:when>
<xsl:when test="@value='1004'">
<a href="http://go.microsoft.com/fwlink?linkid=52839" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='1010'">
<a href="http://go.microsoft.com/fwlink?linkid=52840" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='1106'">
<a href="http://go.microsoft.com/fwlink?linkid=52844" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='1108'">
<a href="http://go.microsoft.com/fwlink?linkid=52845" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='1202'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52846" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='1208'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52847" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='1302'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52848" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='1312'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52849" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='2004'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52851" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='2104'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52852" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='2202'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52853" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='2204'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52854" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='2208'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52855" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='2210'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52856" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4004'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52857" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4114'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52858" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4202'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52859" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4206'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52860" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4208'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52861" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4212'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52863" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4302'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52862" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4304'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52864" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4312'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52865" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4402'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52866" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4406'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52867" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='4502'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52868" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='5002'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52870" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='5008'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52872" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='5012'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52873" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='5102'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52875" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6002'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52876" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6004'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52878" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6006'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52879" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6008'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52880" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6010'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52881" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6012'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52882" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6016'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52883" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6104'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52884" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6302'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52885" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6402'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52886" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6404'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52892" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6406'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52894" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6408'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52893" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6410'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52896" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6412'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52897" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6602'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52900" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='6702'">
<a href="http://go.microsoft.com/fwlink/?LinkId=52902" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='10021'">
<a href="http://go.microsoft.com/fwlink/?LinkID=53335" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='10016'">
<a href="http://go.microsoft.com/fwlink?linkid=53326" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='10017'">
<a href="http://support.microsoft.com/?kbid=300956" target="_blank">
<xsl:value-of select="$strData[@id='s146']"/>
</a>
</xsl:when>
<xsl:when test="@value='10020'">
<a href="http://go.microsoft.com/fwlink?linkid=53328" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='11021'">
<a href="http://go.microsoft.com/fwlink?linkid=53329" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='11002'">
<a href="http://go.microsoft.com/fwlink?linkid=53330" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='getvv'">
<a href="http://go.microsoft.com/fwlink?linkid=53331" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='getbacklog'">
<a href="http://go.microsoft.com/fwlink?linkid=53332" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='0cs'">
<a href="http://go.microsoft.com/fwlink?linkid=53333" target="_blank">
<xsl:value-of select="$strData[@id='s124']"/>
</a>
</xsl:when>
<xsl:when test="@value='wmi'">
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_error_constants.asp" target="_blank">
<xsl:value-of select="$strData[@id='s139']"/>
</a>
</xsl:when>
</xsl:choose>
</xsl:template>
<!--Processes errorReferences. ref elements appear in report.xml in error and are referenced back to
ref element placeholders in dfsrHealthMessages.xml. They are x-ref'd by id value derived from the id value of the parent error
element.-->
<xsl:template match="ref">
<xsl:param name="serverposition"/>
<xsl:param name="errorposition"/>
<xsl:param name="errorid"/>
<xsl:value-of select="$members/server[position()=number($serverposition)]/serverErrors/error[position() = $errorposition]/errorReferences/ref[@refId=current()/@id]"/>
<!--xsl:value-of select="$members/server[position()=number($serverposition)]/serverErrors/error[@id=$errorid]/errorReferences/ref[@refId=current()/@id]" /-->
</xsl:template>
<!--Defualt processing for text() nodes-->
<xsl:template match="text()">
<xsl:value-of select="."/>
</xsl:template>
<!-- Shows a number if positive, or the N/A string if it's negative or NaN; shows "error" if the value is -2 -->
<xsl:template name="num">
<xsl:param name="num"/>
<xsl:choose>
<xsl:when test="number($num) = -2">
<xsl:value-of select="$strData[@id='s125']"/>
</xsl:when>
<xsl:when test="$num = '' or $num = 'NaN' or number($num) = NaN or number($num) < 0">
<xsl:value-of select="$strData[@id='s066']"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="number($num)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Converts systemTime format "Day, Month dd, yyyy hh:mm:ss"-->
<!--This may need changed to accomodate final format of systemTime-->
<!--
- TODO: is this used?
-
<xsl:template match="timestamp" mode="systemTime">
<xsl:variable name="string">
<xsl:value-of select="normalize-space(systemTime)" />
</xsl:variable>
<xsl:variable name="length">
<xsl:value-of select="string-length($string)" />
</xsl:variable>
<xsl:value-of select="substring($string, 1, $length - 8)" />
<xsl:value-of select="$strData[@id='s109']" />
<xsl:variable name="time">
<xsl:value-of select="substring($string, $length - 8)" />
</xsl:variable>
<xsl:variable name="hour">
<xsl:value-of select="substring-before($time, ':')" />
</xsl:variable>
<xsl:choose>
<xsl:when test="$hour > 12">
<xsl:value-of select="concat($hour - 12, ':', substring-after($time, ':'), ' PM')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(format-number($hour, '##'), ':', substring-after($time, ':'), ' AM')" />
</xsl:otherwise>
</xsl:choose>
<xsl:if test="@timezone">
<xsl:value-of select="$strData[@id='s110']" />
<xsl:value-of select="concat(@timezone, ')')" />
<xsl:text> </xsl:text>
<xsl:value-of select="current()/@timezone" />
</xsl:if>
</xsl:template>
-->
<!-- Derives server name from a domain\subdomain\server string-->
<xsl:template name="extractServerShortName">
<xsl:param name="serverName"/>
<xsl:choose>
<xsl:when test="substring-after($serverName, '\')">
<xsl:call-template name="extractServerShortName">
<xsl:with-param name="serverName">
<xsl:value-of select="substring-after($serverName, '\')"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$serverName"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Adds SPAN element and onclick, mouseover, mouseout handlers for section level Show All/Hide All. -->
<xsl:template name="showHideSectionCode">
<xsl:param name="blockID"/>
<xsl:param name="hiliteColor"/>
<div width="50px" class="showhide2">
<span id="showhidesection">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>showHideSection(this, </xsl:text><xsl:value-of select="$blockID"/><xsl:text>)</xsl:text></xsl:attribute>
<xsl:attribute name="onkeypress"><xsl:text>showHideSection(this, </xsl:text><xsl:value-of select="$blockID"/><xsl:text>)</xsl:text></xsl:attribute>
<xsl:attribute name="onmouseover"><xsl:text>hilite(this, </xsl:text><xsl:value-of select="$hiliteColor"/><xsl:text>)</xsl:text></xsl:attribute>
<xsl:attribute name="onmouseout"><xsl:text>unhilite(this, </xsl:text><xsl:value-of select="$hiliteColor"/><xsl:text>)</xsl:text></xsl:attribute>
<xsl:value-of select="$strData[@id='s111']"/>
</span>
</div>
</xsl:template>
<xsl:template name="generateMemberLink">
<xsl:param name="pos"/>
<xsl:param name="dns"/>
<xsl:param name="name"/>
<xsl:variable name="fn" select="format-number(number($pos), '0000')"/>
<span class="normal2" onmouseover="hilite(this)" onmouseout="unhilite(this)">
<xsl:attribute name="tabindex"><xsl:text>0</xsl:text></xsl:attribute>
<xsl:attribute name="onclick">
doShowInfo('<xsl:value-of select="concat('svr', $fn)"/>', '<xsl:value-of select="$fn"/>')
</xsl:attribute>
<xsl:attribute name="onkeypress">
doShowInfo('<xsl:value-of select="concat('svr', $fn)"/>', '<xsl:value-of select="$fn"/>')
</xsl:attribute>
<xsl:value-of select="$name"/>
<xsl:if test="$dns">
<xsl:text> (</xsl:text>
<xsl:value-of select="$dns"/>
<xsl:text>)</xsl:text>
</xsl:if>
</span>
</xsl:template>
</xsl:stylesheet>