Salve a tutti.
Premetto che non so se è più corretto inserire questo post in "XMS XSL, Smil" o in "JavaScript".
Veniemo al dunque: da un file xml genero tramite un file xslt una pagina html facendo fare la trasformazione direttamente a firefox.
All'interno della pagina html generata devo inserire un javascript al quale viene passata una stringa che rapprensenta una data, calcola la differenza tra due date, e scrive sulla pagina io risultato.
Il javascript che contiene la funzione che si occupare delle operazioni sulla stringa si trova sul file "time.js" il quale viene incluso nella pagina html tramite il seguente codice contenuto nel file xslt:
codice:
<head>
<title>Annotazioni</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="time.js"></script>
</head>
la funzione "time.js" viene successivamente "richiamata" nel seguente modo (questa porzione di codice è contenuta all'interno dell'xslt di trasformazione):
codice:
<script> time("CIAO"); </script>
Il problema è che quando viene caricato all'inetrno di firefox il file xml al quale è associato il file xslt di trasformazione mi ritrovo con una pagina bianca dovè c'è scritto solo "CIAO", mentre se elimino la chiamata alla funzione time() tutto funziona normalmente.
Per il momento la funzione time, che riporto di seguito, si occupata solamente di ripetere in uscita la strringa passatale come ingresso.
codice:
function time(text)
{
var before="Year 3000!"
var current="Today is Year 3000!"
var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
theyear=2000;
themonth=1;
theday=1;
thehour=18;
theminute=24;
thesecond=30;
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[themonth-1]+" "+theday+", "+theyear+" "+thehour+":"+theminute+":"+thesecond
dd=Date.parse(futurestring)-Date.parse(todaystring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)
document.write(text);
}
Grazie per ul Vostro aiuto!!!