Mam problem z kodem HTML przy wyświetlaniu pliku XML. Poniżej załączę wszystko co udało mi się napisać do tej pory. Walidator w3s nie znalazł błędów w xml. Miałby ktoś pomysł na poprawkę?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script type="text/javascript">
var position=0;
var plik;
var points=0;
function loadFile ()
{
if (window.XMLHttpRequest)
{
plik = new XMLHttpRequest();
plik=document.implementation.createDocument("","",null);
plik.load("lab2-ocena.xml");
plik.onload=ShowMe;
}
else if(window.ActiveXObject)
{
plik = new ActiveXObject("Microsoft.XMLHTTP");
plik.async=false;
plik.load("lab2-ocena.xml");
ShowMe();
}
else
{
alert('Error: File cannot be opened');
}
}
function ShowMe ()
{
document.getElementById("question").innerHTML=plik.getElementByTagName("temat")[position].childNodes[0].nodeValue;
for(i=0;i<3;i++)
{
document.getElementById("cb"+i+1).innerHTML=plik.getElementByTagName("odpowiedź")[3*position+i].childNodes[0].nodeValue;
}
lock = setTimeout(next, 10000);
}
function Next()
{
if(position<plik.getElementByTagName("temat").length -1 )
{
position++;
document.getElementById("cb1").innerHTML="";
document.getElementById("cb2").innerHTML="";
document.getElementById("cb3").innerHTML="";
document.getElementById("question").innerHTML="";
ShowMe();
}
else
{
document.getElementById("kontener").innerHTML="";
document.getElementById("next").innerHTML="Koniec";
document.getElementById("question").innerHTML="Liczba punktów: "+ points;
}
}
function validate()
{
for(i=0;i<3;i++)
{
var checkbox = document.getElementById("cb"+i+1);
if(checkbox.checked==true && plik.getElementByTagName("odpowiedź")[3*position+i].attributes[0].value=="tak") points++;
}
}
</script>
</head>
<body onload="loadFile()">
<button name="next" id="next" onclick="Next()">Następne pytanie</button>
<br/>
<br/>
<div id="kontener">
<p id="question"></p>
<br/>
<br/>
<input type="checkbox" name="cb1" id="cb1">
<br/>
<input type="checkbox" name="cb2" id="cb2">
<br/>
<input type="checkbox" name="cb3" id="cb3">
<br/>
</div>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE zestaw SYSTEM "zestaw.dtd">
<zestaw numer="1">
<pytanie>
<temat>Temat 1. Wybierz odp1</temat>
<odpowiedź okey="tak">A1</odpowiedź>
<odpowiedź okey="nie">B1</odpowiedź>
<odpowiedź okey="nie">C1</odpowiedź>
</pytanie>
<pytanie>
<temat>Temat 1. Wybierz odp3</temat>
<odpowiedź okey="nie">A2</odpowiedź>
<odpowiedź okey="nie">B2</odpowiedź>
<odpowiedź okey="tak">C2</odpowiedź>
</pytanie>
<pytanie>
<temat>Temat 1. Wybierz odp2</temat>
<odpowiedź okey="nie">A3</odpowiedź>
<odpowiedź okey="tak">B3</odpowiedź>
<odpowiedź okey="nie">C3</odpowiedź>
</pytanie>
</zestaw>
<!DOCTYPE zestaw [
<!ELEMENT zestaw (pytanie+,temat,odpowiedź)>
<!ELEMENT pytanie (temat,odpowiedź+)>
<!ELEMENT temat (#PCDATA)>
<!ELEMENT odpowiedź (#PCDATA)>
<!ATTLIST zestaw numer NMTOKEN #REQUIRED>
<!ATTLIST odpowiedź okey (tak|nie) #IMPLIED>
]>