| 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/tr/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
 Example File From "JavaScript and DHTML Cookbook"
 Published by O'Reilly & Associates
 Copyright 2003 Danny Goodman
 -->
 <html>
 <head>
 <title>Convert XML to HTML</title>
 <style rel="stylesheet" id="mainStyle" type="text/css">
 
 html {background-color:#cccccc}
 body {background-color:#eeeeee; font-family:Tahoma,Arial,Helvetica,sans-serif; font-size:12px;
 margin-left:15%; margin-right:15%; border:3px groove darkred; padding:15px}
 h1 {text-align:right; font-size:1.5em; font-weight:bold}
 h2 {text-align:left; font-size:1.1em; font-weight:bold; text-decoration:underline}
 .buttons {margin-top:10px}
 
 </style>
 <style type="text/css">
 table {table-collapse:collapse; border-spacing:0}
 td {border:2px groove black; padding:7px; background-color:#ccffcc}
 th {border:2px groove black; padding:7px; background-color:#ffffcc}
 .ctr {text-align:center}
 </style>
 <script type="text/javascript">
 var xDoc;
 
 // verify that browser supports XML features and load external .xml file
 function verifySupport(xFile) {
 if (document.implementation && document.implementation.createDocument) {
 // this is the W3C DOM way, supported so far only in NN6+
 xDoc = document.implementation.createDocument("", "theXdoc", null);
 } else if (typeof ActiveXObject != "undefined") {
 // make sure real object is supported (sorry, IE5/Mac)
 if (document.getElementById("msxml").async) {
 xDoc = new ActiveXObject("Msxml.DOMDocument");
 }
 }
 if (xDoc && typeof xDoc.load != "undefined") {
 // load external file (from same domain)
 xDoc.load(xFile);
 return true;
 } else {
 var reply = confirm("This example requires a browser with XML support, " +
 "such as IE5+/Windows or Netscape 6+.\n \nGo back to previous page?");
 if (reply) {
 history.back();
 }
 }
 return false;
 }
 
 // Draw table from xDoc document tree data
 function drawTable(tbody) {
 var tr, td, i, j, oneRecord;
 tbody = document.getElementById(tbody);
 // node tree
 var data = xDoc.getElementsByTagName("worldcup")[0];
 // for td class attributes
 var classes = ["ctr","","","","ctr"];
 for (i = 0; i < data.childNodes.length; i++) {
 // use only 1st level element nodes to skip 1st level text nodes in NN
 if (data.childNodes[i].nodeType == 1) {
 // one final match record
 oneRecord = data.childNodes[i];
 tr = tbody.insertRow(tbody.rows.length);
 td = tr.insertCell(tr.cells.length);
 td.setAttribute("class",classes[tr.cells.length-1]);
 td.innerHTML =
 oneRecord.getElementsByTagName("year")[0].firstChild.nodeValue;
 td = tr.insertCell(tr.cells.length);
 td.setAttribute("class",classes[tr.cells.length-1]);
 td.innerHTML =
 oneRecord.getElementsByTagName("location")[0].firstChild.nodeValue;
 td = tr.insertCell(tr.cells.length);
 td.setAttribute("class",classes[tr.cells.length-1]);
 td.innerHTML =
 oneRecord.getElementsByTagName("winner")[0].firstChild.nodeValue;
 td = tr.insertCell(tr.cells.length);
 td.setAttribute("class",classes[tr.cells.length-1]);
 td.innerHTML =
 oneRecord.getElementsByTagName("loser")[0].firstChild.nodeValue;
 td = tr.insertCell(tr.cells.length);
 td.setAttribute("class",classes[tr.cells.length-1]);
 td.innerHTML =
 oneRecord.getElementsByTagName("winscore")[0].firstChild.nodeValue +
 " - " +
 oneRecord.getElementsByTagName("losscore")[0].firstChild.nodeValue;
 }
 }
 }
 
 function init(xFile) {
 // confirm browser supports needed features and load .xml file
 if (verifySupport(xFile)) {
 // let file loading catch up to execution thread
 setTimeout("drawTable('matchData')", 1000);
 }
 }
 
 
 </script>
 </head>
 <body onload="init('worldCupFinals.xml')">
 <h1>Transforming XML into HTML Tables</h1>
 <hr />
 
 <table id="cupFinals">
 <thead>
 <tr><th>Year</th>
 <th>Host Country</th>
 <th>Winner</th>
 <th>Loser</th>
 <th>Score (Win - Lose)</th>
 </tr>
 </thead>
 <tbody id="matchData"></tbody>
 </table>
 
 <!-- Try to load Msxml.DOMDocument ActiveX to assist support verification -->
 <object id="msxml" WIDTH="1" HEIGHT="1"
 classid="CLSID:2933BF90-7B36-11d2-B20E-00C04F983E60" ></object>
 
 </body>
 </html>
 
 <!-- File:worldCupFinals.xml
 <?xml version="1.0"?>
 <worldcup>
 <final>
 <location>Uruguay</location>
 <year>1930</year>
 <winner>Uruguay</winner>
 <winscore>4</winscore>
 <loser>Argentina</loser>
 <losscore>2</losscore>
 </final>
 <final>
 <location>Italy</location>
 <year>1934</year>
 <winner>Italy</winner>
 <winscore>2</winscore>
 <loser>Czechoslovakia</loser>
 <losscore>1</losscore>
 </final>
 <final>
 <location>France</location>
 <year>1938</year>
 <winner>Italy</winner>
 <winscore>4</winscore>
 <loser>Hungary</loser>
 <losscore>2</losscore>
 </final>
 <final>
 <location>Brazil</location>
 <year>1950</year>
 <winner>Uruguay</winner>
 <winscore>2</winscore>
 <loser>Brazil</loser>
 <losscore>1</losscore>
 </final>
 <final>
 <location>Switzerland</location>
 <year>1954</year>
 <winner>West Germany</winner>
 <winscore>3</winscore>
 <loser>Hungary</loser>
 <losscore>2</losscore>
 </final>
 <final>
 <location>Sweden</location>
 <year>1958</year>
 <winner>Brazil</winner>
 <winscore>5</winscore>
 <loser>Sweden</loser>
 <losscore>2</losscore>
 </final>
 <final>
 <location>Chile</location>
 <year>1962</year>
 <winner>Brazil</winner>
 <winscore>3</winscore>
 <loser>Czechoslovakia</loser>
 <losscore>1</losscore>
 </final>
 <final>
 <location>England</location>
 <year>1966</year>
 <winner>England</winner>
 <winscore>4</winscore>
 <loser>West Germany</loser>
 <losscore>2</losscore>
 </final>
 <final>
 <location>Mexico</location>
 <year>1970</year>
 <winner>Brazil</winner>
 <winscore>4</winscore>
 <loser>Italy</loser>
 <losscore>1</losscore>
 </final>
 </worldcup>
 
 -->
 
 
 
 |