ecco la pagina web:
codice:
<html>
<head>
<title>Libri di testo I.T.I.S. ****** A.S. 2006/2007</title>
<script language="JavaScript">
var paginaXML=loadParser("libri.xml")
var radice=paginaXML.documentElement
//carica il parser xml
function loadParser(nomePagina){
var app=new ActiveXObject("microsoft.xmldom");//apro il parser xml
app.load(nomePagina);//carico il glossario xml
while(!app.readyState=="4");//aspetto che sia del tutto carico
return app
}//loadParser
//carica le sezioni
function loadSection(classe){
if(classe!=" "){
classe--
var i
var sezioni=radice.childNodes.item(classe).attributes.item(1).text
sezioni=sezioni.split(",")
var select="<select name='sezione' onchange='loadBook("+classe+",sezione.value)'>\n"
select+=" <option value=' ' selected> </option>"
for(i=0;i<sezioni.length;i++)
select+=" <option value='"+sezioni[i]+"'>"+sezioni[i]+"</option>\n"
select+="</select>"
sezione.innerHTML=select
}else{
libriTesto.innerHTML=""
sezione.innerHTML=""
}
}//loadSection
//stampa a video i libri per una determinata classe e sezione
function loadBook(classe,sezione){
var i,j,k
var materie
var tab=""
if(sezione!=" "){
tab="<table border='1'>\n <tr> <th>Materia</th> <th>Titolo</th> <th>Autore/i</th> <th>Editore</th> <th>Isbn</th> <th>Prezzo</th> <th>Volume</th> <th>Acquisto</th> <th>Nuova adozione</tr>\n"
materie=radice.childNodes.item(classe).childNodes.item(0)//materie
for(i=0;i<materie.childNodes.length;i++){//per ogni materia
materia=materie.childNodes.item(i)
for(j=0;j<materia.childNodes.length;j++){//per ogni testo
testo=materia.childNodes.item(j)
if(isToBuy(sezione,testo.attributes.item(0).text)){
tab+="<tr> <td>"+materia.attributes.item(0).text+"</td>"
for(k=0;k<testo.childNodes.length;k++)
tab+="<td>"+testo.childNodes.item(k).text+"</td>"
tab+="</tr>\n"
}//end if
}//for j
}//for i
tab+="</table>"
}
libriTesto.innerHTML=tab
}//loadBook
//controlla se la sezione indicata adotta quel libro
function isToBuy(sezione,classi){
var i
classi=classi.split(",")
for(i=0;i<classi.length;i++)
if(classi[i]==sezione)
return true
return false
}//isToBuy
</script>
</head>
<body>
<form method="post" action="">
Classe: <select name="classe" onchange="loadSection(classe.value)">
<option value=" " selected> </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
Sezione:<span id="sezione"></span>
</form>
<div id="libriTesto"></div>
</body>
</html>
forse il codice non è dei migliori (sicuro), ma sono 3 mesi che non programmano, di solito facico di meglio
ed ecco parte del database in xml:
codice:
<?xml version='1.0' ?>
<libri>
<classe id="1" sezioni="a,b,c,d,e,f,g,h,sa,sb,sc,sd">
<materie>
</materie>
</classe>
<classe id="2" sezioni="a,b,c,d,e,f,g,sa,sb">
<materie>
</materie>
</classe>
<classe id="3" sezioni="ia,ib,ic,id,ta,tb,tc,sa,sb">
<materie>
</materie>
</classe>
<classe id="4" sezioni="ia,ib,ic,id,ta,tb,tc,sa,sb">
<materie>
</materie>
</classe>
<classe id="5" sezioni="ia,ib,ic,id,ta,tb,tc,sa,sb">
<materie>
</materie>
</classe>
</libri>
in locale va tutto alla perfezione, mentre in internet praticamente non fa il parsing.....
ho paura che sia perchè il parser è microsoft e l'hosting è linu, è possibile?
thanks