XML (eXtensible Markup Language)
XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language) Gildo Tomasco 16/12/1976 I tag XML sono costruiti I tag HTML sono predefeniti
XML (eXtensible Markup Language) Separazione tra dati e visualizzazione Condivisione dei dati Comunicazione tra sistemi eterogenei Indipendente dalla piattaforma (aggiornamenti o migrazioni) Dati più accessibili (news feeds, disabili, …)
Documenti XML Gli elementi in un documento XML formano un albero. La prima linea definisce la versione dell’XML. I documenti XML devono contentere un root element
Documento XML Gildo Tomasco 16/12/1976 Mario Rossi 10/09/1980
Documenti XML - sintassi Tutti gli elementi devono avere un tag di apertura ed uno di chiusura I tag XML sono Case Sensitive diverso da Gli elementi XML devono essere opportunamente innestati..... errore Gli attributi degli elementi devono essere tra ""
Documenti XML - sintassi Gli attributi degli elementi devono essere tra "" Commenti in XML Gli spazi bianchi in XML sono preservati Un XML è Well Formed se rispetta le regole sintattiche
Documenti XML – Elementi e Attributi Un elemento può contenere ◦ altri elementi ◦ testo ◦ attibuti ◦ o un mix dei precedenti elementi Gli attributi possono contenere informazioni addizionali che non sono parte dei dati computer.gif
Regole XML Naming Gli elementi XML seguono le seguenti regole: I nomi degli elementi sono case-sensitive I nomi degli elementi devono iniziare con una lettera o con un _ I nomi degli elementi non possono iniziare per xml (o XML, o Xml, etc) I nomi degli elementi possono contenere lettere, numeri, trattini, caratteri di sottolineatura I nomi degli elementi non possono contenere spazi Qualsiasi nome puo’ essere utilizzato (eccetto xml).
XML DOM Definisce uno standard per l’accesso e la manipolazione dei documnti XML. Tutto in un documento XML è un nodo:. ◦ L’intero documento è il document node ◦ Ogni elemento XML è un element node ◦ Il testo degli elementi XML sono text nodes ◦ Ogni attributo è un attribute node ◦ I commenti sono comment nodes
Nodi Parents, Children, and Siblings ◦ In un documento XML, il nodo superiore è chiamato root ◦ Ciascun nodo, eccetto la radice, ha esattamente un padre ◦ Un nodo può avere un qualsiasi numero di figli ◦ Una foglia è un nodo che non ha figli ◦ Siblings sono nodi con lo stesso padre
XML DOM PARSER XMLHttpRequest L’oggetto XMLHttpRequest viene usato per lo scambio di dati tra il browser ed il server, senza la necessità di dover ricaricare la pagina. Parsare un Documento XML ◦ xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET",“Dipendenti.xml",false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML;
XML DOM Properties e Methods x.nodeName – il nome di x x.nodeValue – il valore di x x.parentNode – il nodo padre di x x.childNodes – i nodi figli di x x.attributes – attributi del nodo x x.getElementsByTagName(name) – prendi tutti gli elementi con uno specifico tag name x.appendChild(node) – inserisce un nodo figlio al nodo x x.removeChild(node) - rimuove un nodo figlio dal nodo x
Parser xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET","dipendenti.xml",false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML; Continua
Parser x=xmlDoc.getElementsByTagName("Dipendente"); i=0; function mostraDip() { nome=(x[i].getElementsByTagName("Nome")[0].childNodes[0].nodeValue); cognome=(x[i].getElementsByTagName("Cognome")[0].childNodes[0].nodeValue); dataAssunzione=(x[i].getElementsByTagName("DataNascita")[0].childNodes[0].nodeV alue); txt="Nome: " + nome + " Cognome: " + cognome + " Data assunzione: "+ dataAssunzione; document.getElementById("dipendente").innerHTML=txt; } Continua
Parser function next() { if (i<x.length-1){ i++; mostraDip(); } function prec() { if (i>0){ i--; mostraDip(); } Continua
Parser >" />