Errors in walking through XML

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • aneely@canada.com

    Errors in walking through XML

    I have code that successfully displays results, but throws an error in
    Fx 3 and IE 6.

    A sample of the XML file:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mycds>
    <cd>
    <title>Wolf City</title>
    <artist>Amon Duul II</artist>
    <artist_id>1</artist_id>
    <sequence>1</sequence>
    <track_nameSurr ounded By The Stars</track_name>
    <track_id>2</track_id>
    <sequence>2</sequence>
    <track_nameGree n Bubble Raincoated Man</track_name>
    <track_id>3</track_id>
    <sequence>3</sequence>
    <track_nameJa il-House-Frog</track_name>
    <track_id>4</track_id>
    <sequence>4</sequence>
    <track_nameWo lf City</track_name>
    <track_id>5</track_id>
    <sequence>5</sequence>
    <track_nameWi e Der Wind Am Ende Einer Strabe</track_name>
    <track_id>6</track_id>
    <sequence>6</sequence>
    <track_nameDeut sch Nepal</track_name>
    <track_id>7</track_id>
    <sequence>7</sequence>
    <track_nameSlee pwalker's Timeless Bridge</track_name>
    </cd>
    </mycds>

    I get the sequence and tracks with code like this:
    var x=xmlDoc.getEle mentsByTagName( "cd");

    function show(i)
    {
    for (j=0; j < tracks.length; j++)
    {
    sequence = x[i].getElementsByT agName("sequenc e")
    [j].childNodes[0].nodeValue;
    ..
    ..
    ..
    }
    }

    But that produces the error:
    Error: x[i].getElementsByT agName("sequenc e")[j] is undefined

    Note: var i is successfully passed in.

    As mentioned, the code works - but throws an error.
    Can someone shed some light on why this might be getting the error,
    and how to 'correct' it?
  • aneely@canada.com

    #2
    Re: Errors in walking through XML

    On Sep 19, 4:22 pm, ane...@canada.c om wrote:
    I have code that successfully displays results, but throws an error in
    Fx 3 and IE 6.
    >
    A sample of the XML file:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mycds>
    <cd>
            <title>Wolf City</title>
            <artist>Amon Duul II</artist>
            <artist_id>1</artist_id>
            <sequence>1</sequence>
            <track_nameSurr ounded By The Stars</track_name>
            <track_id>2</track_id>
            <sequence>2</sequence>
            <track_nameGree n Bubble Raincoated Man</track_name>
            <track_id>3</track_id>
            <sequence>3</sequence>
            <track_nameJa il-House-Frog</track_name>
            <track_id>4</track_id>
            <sequence>4</sequence>
            <track_nameWo lf City</track_name>
            <track_id>5</track_id>
            <sequence>5</sequence>
            <track_nameWi e Der Wind Am Ende Einer Strabe</track_name>
            <track_id>6</track_id>
            <sequence>6</sequence>
            <track_nameDeut sch Nepal</track_name>
            <track_id>7</track_id>
            <sequence>7</sequence>
            <track_nameSlee pwalker's Timeless Bridge</track_name>
    </cd>
    </mycds>
    Sorry. I missed the first track:
    <track_id>1</track_id>
    <sequence>1</sequence>
    <track_nameSurr ounded By The Stars</track_name>

    Comment

    • sasuke

      #3
      Re: Errors in walking through XML

      On Sep 20, 1:22 am, ane...@canada.c om wrote:
      I have code that successfully displays results, but throws an error in
      Fx 3 and IE 6.
      >
      A sample of the XML file:
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <mycds>
      <cd>
              <title>Wolf City</title>
              <artist>Amon Duul II</artist>
              <artist_id>1</artist_id>
              <sequence>1</sequence>
              <track_nameSurr ounded By The Stars</track_name>
      <track_id>1</track_id>
      [snip]
      </cd>
      </mycds>
      >
      I get the sequence and tracks with code like this:
      var x=xmlDoc.getEle mentsByTagName( "cd");
      >
      function show(i)
      {
      for (j=0; j < tracks.length; j++)
      {
      sequence = x[i].getElementsByT agName("sequenc e")
      [j].childNodes[0].nodeValue;
      .
      .
      .
      >
      }
      }
      >
      But that produces the error:
      Error: x[i].getElementsByT agName("sequenc e")[j] is undefined
      >
      Note: var i is successfully passed in.
      >
      As mentioned, the code works - but throws an error.
      Can someone shed some light on why this might be getting the error,
      and how to 'correct' it?
      Where is the declaration of `tracks'? It would better if you posted a
      simple test case with minimalistic data and the relevant code instead
      of snipping out parts from it. Use firebug to test your application
      and inspect the program values at runtime. Most probably, a particular
      combination of i and j is non-existent and hence the error. A simple
      example like this should do the trick:

      <code>//untested

      var cds = doc.getElements ByTagName("cds" );
      if(!cds) return;
      for(var i = 0, maxI = cds.length; i < maxI; ++i) {
      var cd = cds[i];
      // grab the title, artist, artist id
      var seqs = cd.getElementsB yTagName("seque nce");
      var tracks = cd.getElementsB yTagName("track _name");
      for(var j = 0, maxJ = seqs.length; j < maxJ; ++j) {
      var seq = seqs[j].firstChild.nod eValue;
      var trackName = tracks[j].firstChild.nod eValue;
      // grab hold of track_id in the same way
      }
      }

      </code>

      /sasuke

      Comment

      • aneely@canada.com

        #4
        Re: Errors in walking through XML

        On Sep 20, 1:08 am, sasuke <database...@gm ail.comwrote:
        On Sep 20, 1:22 am, ane...@canada.c om wrote:
        >
        >
        >
        I have code that successfully displays results, but throws an error in
        Fx 3 and IE 6.
        >
        A sample of the XML file:
        <?xml version="1.0" encoding="ISO-8859-1"?>
        <mycds>
        <cd>
                <title>Wolf City</title>
                <artist>Amon Duul II</artist>
                <artist_id>1</artist_id>
                <sequence>1</sequence>
                <track_nameSurr ounded By The Stars</track_name>
                <track_id>1</track_id>
                [snip]
        </cd>
        </mycds>
        >
        I get the sequence and tracks with code like this:
        var x=xmlDoc.getEle mentsByTagName( "cd");
        >
        function show(i)
        {
        for (j=0; j < tracks.length; j++)
        {
        sequence = x[i].getElementsByT agName("sequenc e")
        [j].childNodes[0].nodeValue;
        .
        .
        .
        >
        }
        }
        >
        But that produces the error:
        Error: x[i].getElementsByT agName("sequenc e")[j] is undefined
        >
        Note: var i is successfully passed in.
        >
        As mentioned, the code works - but throws an error.
        Can someone shed some light on why this might be getting the error,
        and how to 'correct' it?
        >
        Where is the declaration of `tracks'? It would better if you posted a
        simple test case with minimalistic data and the relevant code instead
        of snipping out parts from it. Use firebug to test your application
        and inspect the program values at runtime. Most probably, a particular
        combination of i and j is non-existent and hence the error. A simple
        example like this should do the trick:
        >
        <code>//untested
        >
        var cds = doc.getElements ByTagName("cds" );
        if(!cds) return;
        for(var i = 0, maxI = cds.length; i < maxI; ++i) {
          var cd = cds[i];
          // grab the title, artist, artist id
          var seqs = cd.getElementsB yTagName("seque nce");
          var tracks = cd.getElementsB yTagName("track _name");
          for(var j = 0, maxJ = seqs.length; j < maxJ; ++j) {
            var seq = seqs[j].firstChild.nod eValue;
            var trackName = tracks[j].firstChild.nod eValue;
            // grab hold of track_id in the same way
          }
        >
        }
        >
        </code>
        >
        /sasuke
        I should know better. Here is a 'working' script, but still throws an
        error. The xml file is as above:
        <code>
        <html>
        <head>

        <script type="text/javascript">

        var xmlDoc;

        if (window.ActiveX Object)
        {
        xmlDoc=new ActiveXObject(" Microsoft.XMLDO M");
        }
        else if (document.imple mentation.creat eDocument)
        {
        xmlDoc=document .implementation .createDocument ("","",null) ;
        }
        else
        {
        alert('Your browser cannot handle this script');
        }

        xmlDoc.async=fa lse;
        xmlDoc.load("my cd.xml");

        var x=xmlDoc.getEle mentsByTagName( "cd");
        function show(i)
        {
        var txt="";
        var artist=(x[i].getElementsByT agName("artist" )
        [0].childNodes[0].nodeValue);
        var title=(x[i].getElementsByT agName("title")
        [0].childNodes[0].nodeValue);
        var tracks=xmlDoc.g etElementsByTag Name("track_nam e")
        [0].childNodes[0].nodeValue;

        var txt="Artist: "+artist+"< br />Title: "+title+"<b r />";
        var sequence ="";
        for (j=0; j < tracks.length; j++)
        {
        var sequence = x[i].getElementsByT agName("sequenc e")
        [j].childNodes[0].nodeValue;
        var track_name=x[i].getElementsByT agName("track_n ame")
        [j].childNodes[0].nodeValue;
        txt=txt+"[" + sequence + "] " + track_name + "<br />";
        document.getEle mentById("show" ).innerHTML=txt ;
        }
        }
        </script>
        </head>

        <body>
        <script type="text/javascript">
        document.write( "<table border='1'>");
        document.write( "<tr>");
        document.write( "<td align='center'> Disk Number</td>");//
        document.write( "<td align='center'> Artist</td>");
        document.write( "<td align='center'> Title</td>");
        document.write( "</tr>");

        for (var i=0;i<x.length; i++)
        {
        document.write( "<tr onclick='show(" + i + ");'>");
        document.write( "<td>");
        document.write( x[i].getElementsByT agName("cd_id")
        [0].childNodes[0].nodeValue);
        document.write( "</td>");

        document.write( "<td>");
        document.write( x[i].getElementsByT agName("artist" )
        [0].childNodes[0].nodeValue);
        document.write( "</td>");

        document.write( "<td>");
        document.write( x[i].getElementsByT agName("title")
        [0].childNodes[0].nodeValue);
        document.write( "</td>");

        document.write( "</tr>");
        }
        document.write( "</table>");
        </script>

        <div id='show'>
        Click on one of the table rows to display the full album information.
        </div>
        </body>
        </html>
        </code>

        Comment

        • sasuke

          #5
          Re: Errors in walking through XML

          On Sep 20, 10:47 am, ane...@canada.c om wrote:
          I should know better. Here is a 'working' script, but still throws an
          error. The xml file is as above:
          <code>
          <html>
          <head>
          >
          <script type="text/javascript">
          >
          var xmlDoc;
          >
          if (window.ActiveX Object)
          {
                  xmlDoc=new ActiveXObject(" Microsoft.XMLDO M");}
          >
          else if (document.imple mentation.creat eDocument)
          {
                  xmlDoc=document .implementation .createDocument ("","",null) ;}
          >
          else
          {
          alert('Your browser cannot handle this script');
          >
          }
          >
          xmlDoc.async=fa lse;
          xmlDoc.load("my cd.xml");
          >
          var x=xmlDoc.getEle mentsByTagName( "cd");
          function show(i)
          {
                  var txt="";
                  var artist=(x[i].getElementsByT agName("artist" )
          [0].childNodes[0].nodeValue);
                  var title=(x[i].getElementsByT agName("title")
          [0].childNodes[0].nodeValue);
                  var tracks=xmlDoc.g etElementsByTag Name("track_nam e")
          [0].childNodes[0].nodeValue;
          >
                  var txt="Artist: "+artist+"< br />Title: "+title+"<b r />";
                  var sequence ="";
                  for (j=0; j < tracks.length; j++)
                          {
                                  var sequence = x[i].getElementsByT agName("sequenc e")
          [j].childNodes[0].nodeValue;
                                  var track_name=x[i].getElementsByT agName("track_n ame")
          [j].childNodes[0].nodeValue;
                                  txt=txt+"[" + sequence + "] " + track_name + "<br />";
                                  document.getEle mentById("show" ).innerHTML=txt ;
                          }}
          >
          </script>
          </head>
          >
          <body>
          <script type="text/javascript">
          document.write( "<table border='1'>");
          document.write( "<tr>");
          document.write( "<td align='center'> Disk Number</td>");//
          document.write( "<td align='center'> Artist</td>");
          document.write( "<td align='center'> Title</td>");
          document.write( "</tr>");
          >
          for (var i=0;i<x.length; i++)
          {
                  document.write( "<tr onclick='show(" + i + ");'>");
                  document.write( "<td>");
                  document.write( x[i].getElementsByT agName("cd_id")
          [0].childNodes[0].nodeValue);
                  document.write( "</td>");
          >
                  document.write( "<td>");
                  document.write( x[i].getElementsByT agName("artist" )
          [0].childNodes[0].nodeValue);
                  document.write( "</td>");
          >
                  document.write( "<td>");
                  document.write( x[i].getElementsByT agName("title")
          [0].childNodes[0].nodeValue);
                  document.write( "</td>");
          >
                  document.write( "</tr>");}
          >
          document.write( "</table>");
          </script>
          >
          <div id='show'>
          Click on one of the table rows to display the full album information.
          </div>
          </body>
          </html>
          </code>
          The offending piece of code here is the declaration and definition of
          `tracks'. Most probably a classic example of copy-paste-errors; it it
          currently assigning the name of the first track to `tracks' instead of
          an HTMLCollection.

          Replace:
          var tracks=xmlDoc.g etElementsByTag Name("track_nam e")[0].
          childNodes[0].nodeValue; // 'surrounded by the stars'
          with:
          var tracks=xmlDoc.g etElementsByTag Name("track_nam e");

          HTH,
          /sasuke

          Comment

          • aneely@canada.com

            #6
            Re: Errors in walking through XML

            On Sep 20, 3:57 am, sasuke <database...@gm ail.comwrote:
            On Sep 20, 10:47 am, ane...@canada.c om wrote:
            >
            >
            >
            I should know better. Here is a 'working' script, but still throws an
            error. The xml file is as above:
            <code>
            <html>
            <head>
            >
            <script type="text/javascript">
            >
            var xmlDoc;
            >
            if (window.ActiveX Object)
            {
                    xmlDoc=new ActiveXObject(" Microsoft.XMLDO M");}
            >
            else if (document.imple mentation.creat eDocument)
            {
                    xmlDoc=document .implementation .createDocument ("","",null) ;}
            >
            else
            {
            alert('Your browser cannot handle this script');
            >
            }
            >
            xmlDoc.async=fa lse;
            xmlDoc.load("my cd.xml");
            >
            var x=xmlDoc.getEle mentsByTagName( "cd");
            function show(i)
            {
                    var txt="";
                    var artist=(x[i].getElementsByT agName("artist" )
            [0].childNodes[0].nodeValue);
                    var title=(x[i].getElementsByT agName("title")
            [0].childNodes[0].nodeValue);
                    var tracks=xmlDoc.g etElementsByTag Name("track_nam e")
            [0].childNodes[0].nodeValue;
            >
                    var txt="Artist: "+artist+"< br />Title: "+title+"<b r />";
                    var sequence ="";
                    for (j=0; j < tracks.length; j++)
                            {
                                    var sequence = x[i].getElementsByT agName("sequenc e")
            [j].childNodes[0].nodeValue;
                                    var track_name=x[i].getElementsByT agName("track_n ame")
            [j].childNodes[0].nodeValue;
                                    txt=txt+"[" + sequence + "] " + track_name + "<br />";
                                    document.getEle mentById("show" ).innerHTML=txt ;
                            }}
            >
            </script>
            </head>
            >
            <body>
            <script type="text/javascript">
            document.write( "<table border='1'>");
            document.write( "<tr>");
            document.write( "<td align='center'> Disk Number</td>");//
            document.write( "<td align='center'> Artist</td>");
            document.write( "<td align='center'> Title</td>");
            document.write( "</tr>");
            >
            for (var i=0;i<x.length; i++)
            {
                    document.write( "<tr onclick='show(" + i + ");'>");
                    document.write( "<td>");
                    document.write( x[i].getElementsByT agName("cd_id")
            [0].childNodes[0].nodeValue);
                    document.write( "</td>");
            >
                    document.write( "<td>");
                    document.write( x[i].getElementsByT agName("artist" )
            [0].childNodes[0].nodeValue);
                    document.write( "</td>");
            >
                    document.write( "<td>");
                    document.write( x[i].getElementsByT agName("title")
            [0].childNodes[0].nodeValue);
                    document.write( "</td>");
            >
                    document.write( "</tr>");}
            >
            document.write( "</table>");
            </script>
            >
            <div id='show'>
            Click on one of the table rows to display the full album information.
            </div>
            </body>
            </html>
            </code>
            >
            The offending piece of code here is the declaration and definition of
            `tracks'. Most probably a classic example of copy-paste-errors; it it
            currently assigning the name of the first track to `tracks' instead of
            an HTMLCollection.
            >
            Replace:
              var tracks=xmlDoc.g etElementsByTag Name("track_nam e")[0].
                         childNodes[0].nodeValue; // 'surrounded by thestars'
            with:
              var tracks=xmlDoc.g etElementsByTag Name("track_nam e");
            >
            HTH,
            /sasuke
            With Firebug installed, the script does not display correctly. Firebug
            and error console say I don't have permission to call method
            Element.getElem entsByTagName !? No line # is indicated.

            Comment

            • sasuke

              #7
              Re: Errors in walking through XML

              On Sep 20, 8:54 pm, ane...@canada.c om wrote:
              With Firebug installed, the script does not display correctly. Firebug
              and error console say I don't have permission to call method
              Element.getElem entsByTagName !? No line # is indicated.
              The code works fine on my firebug. Maybe something wrong with your
              script / sample XML file.

              -----------------------------------D<--------------------------------
              <html>
              <head>
              <script type="text/javascript">
              var xmlDoc;
              if (window.ActiveX Object)
              {
              xmlDoc=new ActiveXObject(" Microsoft.XMLDO M");
              }
              else if (document.imple mentation.creat eDocument)
              {
              xmlDoc=document .implementation .createDocument ("","",null) ;
              }
              else
              {
              alert('Your browser cannot handle this script');
              }
              xmlDoc.async=fa lse;
              xmlDoc.load("my cd.xml");

              var x=xmlDoc.getEle mentsByTagName( "cd");
              function show(i)
              {
              var txt="";
              var artist=(x[i].getElementsByT agName("artist" )
              [0].childNodes[0].nodeValue);
              var title=(x[i].getElementsByT agName("title")
              [0].childNodes[0].nodeValue);
              var tracks=xmlDoc.g etElementsByTag Name("track_nam e");

              var txt="Artist: "+artist+"< br />Title: "+title+"<b r />";
              var sequence ="";
              for (var j=0; j < tracks.length; j++)
              {
              var sequence = x[i].getElementsByT agName("sequenc e")
              [j].childNodes[0].nodeValue;
              var track_name=x[i].getElementsByT agName("track_n ame")
              [j].childNodes[0].nodeValue;
              txt=txt+"[" + sequence + "] " + track_name + "<br />";
              document.getEle mentById("show" ).innerHTML=txt ;
              }
              }
              </script>
              </head>
              <body>
              <script type="text/javascript">
              document.write( "<table border='1'>");
              document.write( "<tr>");
              document.write( "<td align='center'> Disk Number</td>");//
              document.write( "<td align='center'> Artist</td>");
              document.write( "<td align='center'> Title</td>");
              document.write( "</tr>");

              for (var i=0;i<x.length; i++)
              {
              document.write( "<tr onclick='show(" + i + ");'>");
              document.write( "<td>");
              document.write( x[i].getElementsByT agName("cd_id")
              [0].childNodes[0].nodeValue);
              document.write( "</td>");

              document.write( "<td>");
              document.write( x[i].getElementsByT agName("artist" )
              [0].childNodes[0].nodeValue);
              document.write( "</td>");

              document.write( "<td>");
              document.write( x[i].getElementsByT agName("title")
              [0].childNodes[0].nodeValue);
              document.write( "</td>");
              document.write( "</tr>");
              }
              document.write( "</table>");
              </script>
              <div id='show'>
              Click on one of the table rows to display the full album
              information.
              </div>
              </body>
              </html>
              </code>

              <?xml version="1.0"?>
              <mycds>
              <cd>
              <cd_id>1</cd_id>
              <title>Wolf City</title>
              <artist>Amon Duul II</artist>
              <artist_id>1</artist_id>
              <track_id>1</track_id>
              <sequence>1</sequence>
              <track_nameSurr ounded By The Stars</track_name>
              <track_id>2</track_id>
              <sequence>2</sequence>
              <track_nameGree n Bubble Raincoated Man</track_name>
              <track_id>3</track_id>
              <sequence>3</sequence>
              <track_nameJa il-House-Frog</track_name>
              <track_id>4</track_id>
              <sequence>4</sequence>
              <track_nameWo lf City</track_name>
              <track_id>5</track_id>
              <sequence>5</sequence>
              <track_nameWi e Der Wind Am Ende Einer Strabe</track_name>
              <track_id>6</track_id>
              <sequence>6</sequence>
              <track_nameDeut sch Nepal</track_name>
              <track_id>7</track_id>
              <sequence>7</sequence>
              <track_nameSlee pwalker's Timeless Bridge</track_name>
              </cd>
              </mycds>
              -----------------------------------D<--------------------------------

              /sasuke

              Comment

              • aneely@canada.com

                #8
                Re: Errors in walking through XML

                *** SOLVED ***
                After reading the replies from 'sasuke' and some head scratching, I
                realized that the loop to display individual tracks was the culprit.
                Specifically, the track length was still using the total number of
                tracks in the XML file, not the number of tracks on 1 CD. Below is the
                working script. XML file follows. Thank you sasuke for pointing me in
                the right direction.
                8X------------------------- cut here -------------------------- 8X
                <html>
                <head>
                <style type="text/css">
                ..left_pane
                {
                border:solid 2px black;
                background-color:#99E592;
                color:black;
                font-family:verdana;
                width:49%;
                margin-left:0px;
                float:left;
                }

                ..right_pane
                {
                border:solid 2px black;
                background-color:#2DE51F;
                color:black;
                font-family:verdana;
                width:49%;
                float:right;
                }
                </style>

                <script type="text/javascript">

                var xmlDoc;

                if (window.ActiveX Object)
                {// code for IE
                xmlDoc=new ActiveXObject(" Microsoft.XMLDO M");
                }
                else if (document.imple mentation.creat eDocument)
                {// code for Mozilla, Firefox, Opera, etc.
                xmlDoc=document .implementation .createDocument ("","",null) ;
                }
                else
                {
                alert('Your browser cannot handle this script');
                }

                xmlDoc.async=fa lse;
                xmlDoc.load("my cd.xml");

                var x=xmlDoc.getEle mentsByTagName( "cd");
                var root = xmlDoc.document Element;

                var tracks=xmlDoc.g etElementsByTag Name("track_nam e");
                var cds=xmlDoc.getE lementsByTagNam e("cd");
                var all = xmlDoc.getEleme ntsByTagName("* ");

                //alert ('there are ' + x.length + ' cds');
                //alert ('there are ' + tracks.length + ' tracks');
                //alert ('there are ' + all.length + ' tags in total');

                function show(i)
                {
                var txt="";
                var disk = (x[i].getElementsByT agName("cd_id")
                [0].childNodes[0].nodeValue);
                var artist=(x[i].getElementsByT agName("artist" )
                [0].childNodes[0].nodeValue);
                var title=(x[i].getElementsByT agName("title")
                [0].childNodes[0].nodeValue);
                var year=(x[i].getElementsByT agName("year")
                [0].childNodes[0].nodeValue);
                var country=(x[i].getElementsByT agName("country ")
                [0].childNodes[0].nodeValue);
                var company=(x[i].getElementsByT agName("company ")
                [0].childNodes[0].nodeValue);
                var price=(x[i].getElementsByT agName("price")
                [0].childNodes[0].nodeValue);
                var this_tracks=x[i].getElementsByT agName("track_n ame");

                //alert('there are ' + this_tracks.len gth + ' tracks on this cd.');

                var txt="Artist: "+artist+"< br />Title: "+title+"<b r />Year: "+year
                +"<br />Country: "+country+" <br />Company: "+company+" <br />Price:
                "+price + "<br />";
                for (var j=0; j < this_tracks.len gth; j++)
                {
                var sequence = x[i].getElementsByT agName("sequenc e")
                [j].childNodes[0].nodeValue; /* THIS WORKS */
                var track_name=x[i].getElementsByT agName("track_n ame")
                [j].childNodes[0].nodeValue; /* THIS WORKS */
                txt=txt+"[" + sequence + "] " + track_name + "<br />";
                document.getEle mentById("show" ).innerHTML=txt ;
                }
                }
                </script>
                </head>

                <body>
                <div class="left_pan e">
                <script type="text/javascript">
                document.write( "<table border='1'>");
                document.write( "<tr>");
                document.write( "<td align='center'> Disk Number</td>");//
                document.write( "<td align='center'> Artist</td>");
                document.write( "<td align='center'> Title</td>");
                document.write( "</tr>");

                for (var i=0;i<x.length; i++)
                {
                document.write( "<tr onclick='show(" + i + ");'>");
                document.write( "<td>");
                document.write( x[i].getElementsByT agName("cd_id")
                [0].childNodes[0].nodeValue);
                document.write( "</td>");

                document.write( "<td>");
                document.write( x[i].getElementsByT agName("artist" )
                [0].childNodes[0].nodeValue);
                document.write( "</td>");

                document.write( "<td>");
                document.write( x[i].getElementsByT agName("title")
                [0].childNodes[0].nodeValue);
                document.write( "</td>");

                document.write( "</tr>");
                }
                document.write( "</table>");
                </script>
                </div>

                <div class="right_pa ne">
                <div id='show'>
                Click on one of the table rows to display the full album information.
                </div>
                </div>
                </body>
                </html>

                8X------------------------- cut here -------------------------- 8X

                The XML file:
                8X------------------------- cut here -------------------------- 8X
                <?xml version="1.0" encoding="ISO-8859-1"?>
                <mycds>
                <cd>
                <cd_id>1</cd_id>
                <title>Amon Duul II. Best of 1969 - 1974</title>
                <artist>Amon Duul II</artist>
                <artist_id>1</artist_id>
                <year>1974</year>
                <price>$11.05 </price>
                <company>Muffin ' Man Musique</company>
                <country>Cana da eh!</country>
                <track_id>1</track_id>
                <track_name>W ie Der Wind Am Ende Einer Strasse</track_name>
                <sequence>1</sequence>
                <track_id>2</track_id>
                <track_name>Arc hangel Thunderbird</track_name>
                <sequence>2</sequence>
                <track_id>3</track_id>
                <track_name>Deu tsch Nepal</track_name>
                <sequence>3</sequence>
                <track_id>4</track_id>
                <track_name>Kan nan</track_name>
                <sequence>4</sequence>
                <track_id>5</track_id>
                <track_name>Sur rounded By The Stars</track_name>
                <sequence>5</sequence>
                <track_id>6</track_id>
                <track_name>Imp rovisations</track_name>
                <sequence>6</sequence>
                <track_id>7</track_id>
                <track_name>Soa p Shop Rock</track_name>
                <sequence>7</sequence>
                <track_id>8</track_id>
                <track_name>Wol f City</track_name>
                <sequence>8</sequence>
                <track_id>9</track_id>
                <track_name>Cer ebrus</track_name>
                <sequence>9</sequence>
                <track_id>10</track_id>
                <track_name>Hen riette Krotenschwantze </track_name>
                <sequence>10</sequence>
                <track_id>11</track_id>
                <track_name>Rac e From Here To Your Ears</track_name>
                <sequence>11</sequence>
                <track_id>12</track_id>
                <track_name>Kro hwinkl 12</track_name>
                <sequence>12</sequence>
                <track_id>13</track_id>
                <track_name>Uto pia No 1</track_name>
                <sequence>13</sequence>
                <track_id>14</track_id>
                <track_name>Stu mbling Over Melted Moonlight</track_name>
                <sequence>14</sequence>
                <track_id>15</track_id>
                <track_name>A Morning Excuse</track_name>
                <sequence>15</sequence>
                <track_id>16</track_id>
                <track_name>A Short Stop At The Trans-Sylvanian Brain-Surgery</
                track_name>
                <sequence>16</sequence>
                <track_id>17</track_id>
                <track_name>Pal e Gallery</track_name>
                <sequence>17</sequence>
                </cd>
                <cd>
                <cd_id>2</cd_id>
                <title>Wolf City</title>
                <artist>Amon Duul II</artist>
                <artist_id>1</artist_id>
                <year>1968</year>
                <price>$15.95 </price>
                <company>Muffin ' Man Musique</company>
                <country>Cana da eh!</country>
                <track_id>1</track_id>
                <sequence>1</sequence>
                <track_nameSurr ounded By The Stars</track_name>
                <track_id>2</track_id>
                <sequence>2</sequence>
                <track_nameGree n Bubble Raincoated Man</track_name>
                <track_id>3</track_id>
                <sequence>3</sequence>
                <track_nameJa il-House-Frog</track_name>
                <track_id>4</track_id>
                <sequence>4</sequence>
                <track_nameWo lf City</track_name>
                <track_id>5</track_id>
                <sequence>5</sequence>
                <track_nameWi e Der Wind Am Ende Einer Strabe</track_name>
                <track_id>6</track_id>
                <sequence>6</sequence>
                <track_nameDeut sch Nepal</track_name>
                <track_id>7</track_id>
                <sequence>7</sequence>
                <track_nameSlee pwalker's Timeless Bridge</track_name>
                </cd>
                <cd>
                <cd_id>3</cd_id>
                <title>Burger s</title>
                <artist>Hot Tuna</artist>
                <artist_id>3> </artist_id>
                <year>1968</year>
                <price>$45.99 </price>
                <company>Muffin ' Man Musique</company>
                <country>Cana da eh!</country>
                <track_name>Tru e Religion</track_name>
                <track_id>1</track_id>
                <sequence>1</sequence>
                <track_name>Hig hway Song</track_name>
                <track_id>2</track_id>
                <sequence>2</sequence>
                <track_name>9 9 Year Blues</track_name>
                <track_id>3</track_id>
                <sequence>3</sequence>
                <track_name>S ea Child</track_name>
                <track_id>4</track_id>
                <sequence>4</sequence>
                <track_name>Kee p on Truckin'</track_name>
                <track_id>5</track_id>
                <sequence>5</sequence>
                <track_name>Wat er Song</track_name>
                <track_id>6</track_id>
                <sequence>6</sequence>
                <track_name>O de for Billie Dean</track_name>
                <track_id>7</track_id>
                <sequence>7</sequence>
                <track_name>L et Us Get Together Right Down Here</track_name>
                <track_id>8</track_id>
                <sequence>8</sequence>
                <track_name>Sun ny Day Strut</track_name>
                <track_id>9</track_id>
                <sequence>9</sequence>
                </cd>
                </mycds>
                8X------------------------- cut here -------------------------- 8X

                Comment

                Working...