Si. Supponi di avere questo xml:
codice:
<?xml version="1.0" encoding="UTF-8" ?>
<calendar>
<event data="13/03/2005" link="http://www.google.com/" target="_self" />
<event data="22/03/2005" link="http://www.html.it/" target="_blank" />
<event data="28/03/2005" link="http://www.flash-mx.it/" target="_parent" />
</calendar>
e usi questo codice:
codice:
calendario_cal.setMonthNames(["Gennaio", "Febbraio", "Marzo",
"Aprile", "Maggio", "Giugno",
"Luglio", "Agosto", "Settembre",
"Ottobre", "Novembre", "Dicembre"]);
calendario_cal.setDayOfWeekNames(["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"]);
_global.CustomDateFilter = function(component)
{
this.component = component;
this.giorni = [];
};
CustomDateFilter.prototype.inserisciData = function(giorno, mese, anno, link, target)
{
var obj = {data:new Date(anno, mese - 1, giorno), link:link, target:target};
this.giorni.push(obj);
};
CustomDateFilter.prototype.rimuoviData = function(giorno, mese, anno)
{
var data = new Date(anno, mese - 1, giorno).toString();
for(var i = 0; i < this.giorni.length; i++){
if(this.giorni[i].data.toString() == data){
this.giorni.splice(i, 1);
this.component.StepDate(0,0);
return true;
}
}
return false;
};
CustomDateFilter.prototype.isSelectable = function(component, giorno)
{
for(var i = 0; i < this.giorni.length; i++){
if(giorno.toString() == this.giorni[i].data.toString()) return true;
}
return false;
}
CustomDateFilter.prototype.recuperaData = function()
{
var data = this.component.getSelectedItem().toString();
for(var i = 0; i < this.giorni.length; i++){
if(data == this.giorni[i].data.toString()){
getURL(this.giorni[i].link, this.giorni[i].target);
return;
}
}
trace("nessun dato associato");
};
function init()
{
var dati_xml = new XML();
dati_xml.ignoreWhite = true;
dati_xml.onLoad = function(caricato)
{
if(caricato){
var filtro = new CustomDateFilter(calendario_cal);
var nodes = this.firstChild.childNodes;
for(var i = 0; i < nodes.length; i++){
var data = nodes[i].attributes.data.split("/");
var link = nodes[i].attributes.link;
var targ = nodes[i].attributes.target;
filtro.inserisciData(Number(data[0]), Number(data[1]), Number(data[2]), link, targ);
}
calendario_cal.setDateFilter(filtro);
calendario_cal.setChangeHandler("recuperaData", filtro);
calendario_cal.setStyleProperty("selectedDateBackground", 0xFF9900);
} else {
trace("file xml non trovato");
calendario_cal.setEnabled(false);
}
}
dati_xml.load("calendar.xml");
}
init();