Dial-up performance issue?

Subject: Dial-up performance issue?
From: "Doug Howell" <doug@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 7 Aug 2000 17:26:57 -0400
I've got an HTML page that loads XML and XSL docs and displays the
transformation results. It works perfectly at home (running on my local hard
disk), and there are no errors. However, when I upload it to the server at
work and run it over the dial-up connection, the XML docs don't load, and
the status bar says "error on page."

I'm wondering if any of you have any experience with what might be the
problem. Do I need to introduce some time delays? If so, where in the
script, and how much time?

Thanks for any help you can offer,
Doug

Here's the HTML page source code [I've only included the loading functions:
preparePage(),
loadXSLCategories(), loadXSLAlpha(), loadAndTransformCategories(),
loadAndTransformAlpha()]:

<script language="JScript">
<!--
// global variables to hold references to objects
var gobjResults;
var gobjXML;
var gobjXSL;

//********************************

function preparePage() {
  window.status = "Loading XML...";
  // get the reference to the results DIV element
  gobjResults = document.all['divResults'];
  // get the reference to the XML document parser
  gobjXML = document.all['XMLDocument'];
  // get the reference to the XSL stylesheet parser
  gobjXSL = document.all['XSLDocument'];
  // load the XML document and check for errors
  gobjXML.load('openaccess.xml');
  if (gobjXML.parseError.errorCode != 0) {
    // error found so show error message and stop
    gobjResults.innerHTML = showError(gobjXML);
    return false;
  }
  // all OK, so do default transformation
  loadAndTransformCategories();
} // end of preparePage()

//********************************

function loadXSLCategories() {
  // load the XSL categories stylesheet and check for errors
  gobjXSL.load('openaccess-c.xsl');
  if (gobjXSL.parseError.errorCode != 0) {
    // error found so show error message and stop
    gobjResults.innerHTML = showError(gobjXSL);
    return false;
  }
  // all OK, so return true
  return true;
} // end of loadXSLCategories()

//********************************

function loadXSLAlpha() {
  // load the XSL alpha stylesheet and check for errors
  gobjXSL.load('openaccess-a.xsl');
  if (gobjXSL.parseError.errorCode != 0) {
    // error found so show error message and stop
    gobjResults.innerHTML = showError(gobjXSL);
    return false;
  }
  // all OK, so return true
  return true;
} // end of loadXSLAlpha()

//********************************

function showError(objDocument) {
  // create the error message
  var strError = new String;
  strError = 'Invalid XML file !<BR />'
           + 'File URL: ' + objDocument.parseError.url + '<BR/>'
           + 'Line No.: ' + objDocument.parseError.line + '<BR/>'
           + 'Character: ' + objDocument.parseError.linepos + '<BR/>'
           + 'File Position: ' + objDocument.parseError.filepos + '<BR/>'
           + 'Source Text: ' + objDocument.parseError.srcText + '<BR/>'
           + 'Error Code: ' + objDocument.parseError.errorCode + '<BR/>'
           + 'Description: ' + objDocument.parseError.reason
  return strError;
} // end of showError()

//********************************

function loadAndTransformCategories() {
  window.status = "Loading XML...";
  loadXSLCategories();
  // perform the transformation
  strResult = gobjXML.transformNode(gobjXSL);
  // and update the contents of the DIV element
  gobjResults.innerHTML = strResult;
  // hide the List by Alphabet and Expand All buttons
  // and show the List by Categories one
  window.document.all["expandAllButton"].className = "showElement";
  window.document.all["listAlphaButton"].className = "showElement";
  window.document.all["listCategoriesButton"].className = "hideElement";
  //show appropriate directions
  window.document.all["directions"].innerHTML = "<p>The following Internet
sites are open to all Borders home office employees. Click on a category
heading to view/hide sites in that category. Click Expand All to expand all
category headings. To list sites alphabetically, click List by
Alphabet.</p>";
  window.status = "";
} // end of loadAndTransformCategories()

//********************************

function loadAndTransformAlpha()

  window.status = "Loading XML...";
  loadXSLAlpha(); //load the alpha stylesheet
  // perform the transformation
  strResult = gobjXML.transformNode(gobjXSL);
  // and update the contents of the DIV element
  gobjResults.innerHTML = strResult;
  // hide the List by Alphabet and Expand All buttons
  // and show the List by Categories one
  window.document.all["expandAllButton"].className = "hideElement";
  window.document.all["collapseAllButton"].className = "hideElement";
  window.document.all["listAlphaButton"].className = "hideElement";
  window.document.all["listCategoriesButton"].className = "showElement";
  //show appropriate directions
  window.document.all["directions"].innerHTML = "<p>The following Internet
sites are open to all Borders home office employees. To list sites by
category, click List by Category.</p>";
  window.status = "";
} // end of loadAndTransformAlpha()


</script>

</head>

<body onload="if (preparePage()) loadAndTransformCategories()">
<h1>Open Access Internet Sites</h1>
<div id="directions"><p>The following Internet sites are open to all
home office employees. Click on a category heading to view/hide sites in
that category. Click Expand All to expand all category headings. To list
sites alphabetically, click List by Alphabet.</p></div>

<form>
<span id="expandAllButton" class="showElement"><button style="font-size:
.5em" onclick="expandAll()">Expand All</button></span>
<span id="collapseAllButton" class="hideElement"><button style="font-size:
.5em" onclick="collapseAll()">Collapse All</button></span>
<span id="listAlphaButton" class="showElement"><button style="font-size:
.5em" onclick="loadAndTransformAlpha()">List by Alphabet</button></span>
<span id="listCategoriesButton" class="hideElement"><button
style="font-size: .5em" onclick="loadAndTransformCategories()">List by
Category</button></span>
</form>

<object id="XMLDocument" width="0" height="0"
  classid="clsid:f5078f32-c551-11d3-89b9-0000f81fe221">
  <param name="async" value="false">
  <param name="validateOnParse" value="false">
</object>

<object id="XSLDocument" width="0" height="0"
  classid="clsid:f5078f32-c551-11d3-89b9-0000f81fe221">
  <param name="async" value="false">
  <param name="validateOnParse" value="false">
</object>

<!-- to insert the results of parsing the object model -->
<div id="expandIndex" class="saveHistory">
<div id="divResults" class="sitelist"></div>
</div>
<hr width="100%" align="right" color="#CC9900" size="1">

</div>


Doug Howell
Tech Writer
734.747.7471 or 477.2857



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread