Prof. Pagani corrado XML

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Prof. Pagani corrado XML"

Transcript

1 Prof. Pagani corrado XML

2 INTRUDUZIONE ALL XML Contrariamente a quanto comunemente si pensa, l extensible Markup Language (XML) non è l ennesimo linguaggio di markup né l evoluzione dell HTML. L XML è un meta-linguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup. collezionare dati semi-strutturati in formato testuale A differenza di HTML, XML non ha tag predefiniti. Elevata versatilità

3 NASCITA DELL XML Il World Wide Web Consortium (W3C), in seguito alla guerra dei browser (ovvero la situazione verificatasi negli anni novanta nella quale Microsoft e Netscape introducevano estensioni proprietarie all'html ufficiale), fu costretto a seguire le individuali estensioni al linguaggio HTML. Il W3C dovette scegliere quali caratteristiche standardizzare e quali lasciare fuori dalle specifiche ufficiali dell'html. Fu in questo contesto che iniziò a delinearsi la necessità di un linguaggio di markup che desse maggiore libertà nella definizione dei tag, pur rimanendo in uno standard.

4 NASCITA DELL XML (2) Il "progetto XML", che ebbe inizio alla fine degli anni novanta suscitò un così forte interesse che la W3C creò un gruppo di lavoro, chiamato XML Working Group ed una commissione, XML Editorial Review Board, deputata alla redazione delle specifiche del progetto. Nel febbraio del 1998 le specifiche divennero una raccomandazione ufficiale con il nome di Extensible Mark-up Language, versione 1.0. Ben presto ci si accorse che XML non era limitato al solo contesto web ma era qualcosa di più: uno strumento che permetteva di essere utilizzato nei più diversi contesti, dalla definizione della struttura di documenti, allo scambio delle informazioni tra sistemi diversi, dalla rappresentazione di immagini alla definizione di formati di dati.

5 UTILIZZI DEL LINGUAGGIO XML Interscambio dati Definizione di altri linguaggi (metalinguaggio) Memorizzazione dati (attenzione alle limitazioni)

6 STRUTTURA DI UN DOCUMENTO XML Concretamente, un documento XML è un file di testo che contiene una serie di tag, attributi e testo secondo regole sintattiche ben definite. Un documento XML è intrinsecamente caratterizzato da una struttura gerarchica. Esso è composto da componenti denominati elementi. Ciascun elemento rappresenta un componente logico del documento e può contenere altri elementi (sottoelementi) o del testo. Gli elementi possono avere associate altre informazioni che ne descrivono le proprietà. Queste informazioni sono chiamate attributi.

7 STRUTTURA AD ALBERO L organizzazione degli elementi segue un ordine gerarchico (ad albero) che prevede un elemento principale, chiamato root element (obbligatorio).

8 SINTASSI DEL LINGUAGGIO La prima riga del documento lo identifica come un documento XML e ne specifica la versione A differenza dell HTML in cui i tag sono predefiniti, XML ci lascia liberi di definire i tag che vogliamo. Per specificare un attributo per un elemento inseriamo il nome dell attributo con il relativo valore all interno del tag di apertura dell elemento. L organizzazione gerarchica degli elementi viene rappresentata in XML tramite il loro annidamento. <?xml version="1.0" encoding="utf-8"?> <books LibraryName = "Cycling Library"> <book> <title> History of cycling </title> <author> Cadel Evans </author> <year>2010</year> </book> <book> <title> Cycling off road </title> <author> Diego Rosa </author> <year>2016</year> </book> </books>

9 DOCUMENTI BEN FORMATI Ogni documento XML deve contenere un unico elemento di massimo livello (root) che contenga tutti gli altri elementi del documento. Le sole parti di XML che possono stare all esterno di questo elemento sono i commenti e le direttive di elaborazione (per esempio, la dichiarazione della versione di XML) Ogni elemento deve avere un tag di chiusura o, se vuoti, possono prevedere la forma abbreviata (/>) Gli elementi devono essere opportunamente nidificati, cioè i tag di chiusura devono seguire l ordine inverso dei rispettivi tag di apertura XML fa distinzione tra maiuscole e minuscole, per cui i nomi dei tag e degli attributi devono coincidere nei tag di apertura e chiusura anche in relazione a questo aspetto I valori degli attributi (definiti all interno del tag di apertura dell elemento) devono sempre essere racchiusi tra singoli o doppi apici

10 CARATTERI VIETATI E REGOLE SINTATTICHE I nomi dei tag possono iniziare con un carattere alfabetico o con il simbolo _ I nomi dei tag non possono contenere spazi e caratteri speciali ad esclusione di _ -. I commenti sono racchiusi tra <! e --> I simboli chiave del linguaggio possono essere rappresentati mediante le seguenti entità

11 CDATA Per evitare che il contenuto di un tag sia analizzato e permettere quindi che al suo interno possa essere inserita qualsiasi sequenza di caratteri è possibile qualifcarlo come CDATA inserendolo tra i simboli <![CDATA[ e ]] <paragrafo> <![CDATA[Il tag <paragrafo> contiene questo paragrafo]]> </paragrafo> In questo modo la sequenza di caratteri <paragrafo> contenuta all interno della sezione CDATA non viene interpretata come tag

12 MANIPOLAZIONE DI FILE XML DA CODICE Storicamente l interazione con un documento XML da parte del codice di programmazione si basa su una delle due seguenti modalità fondamentali: SAX (Simple API for XML) DOM (Document Object Model)

13 SAX XML Permette di leggere e interpretare documenti XML utilizzando un sistema di Parsing basato sugli eventi SAX è basata sul concetto di evento associato al processo di parsing di un documento Ad esempio l apertura o chiusura di un tag La scelta del modello SAX è possibile solo qualora il documento debba essere letto, ma non manipolato

14 DOM XML Fornisce una rappresentazione dei documenti XML (secondo la corrispondente struttura ad albero) Incapsula ogni elemento caratteristico del linguaggio in un oggetto che ne fornisce interfaccia e manipolazione Permette di manipolare la struttura di un oggetto in un ottica object oriented

15 POSSIBILI MODIFICHE SU UN FILE XML Nel seguito indagheremo le seguenti operazioni implementate in liguaggio c# secondo un modello DOM Lettura Modifica Inserimento Cancellazione Le porzioni di codice che potremo manipolare sono: Valori Attributi

16 NAVIGAZIONE DEL FILE XML A PIÙ LIVELLI Descendants restituisce una raccolta di elementi discendenti (a qualsiasi livello) del nodo o del documento che richiama il metodo Elements restituisce una raccolta di elementi figli (di primo livello) del nodo o del documento che richiama il metodo Element Ottiene il primo (nell'ordine del documento) elemento figlio di primo livello Parent E una proprietà che restituisce l elemento padre dell elemento che la richiama

17 LETTURA E MODIFICA DI FILE XML IN C# Spazio dei nomi da importare System.Xml.Linq Contiene le classi per LINQ to XML fornendo un'interfaccia di programmazione XML in memoria (modello DOM XML) che consente di modificare documenti XML in modo semplice ed efficiente. <books LibraryName = "Cycling Library"> <book stock= 10 > <title> </title> <author> </author> <year> 2010 </year> </book> </books> History of cycling Cadel Evans XDocument doc = XDocument.Load(Server.MapPath("/App_Data/note.xml")); foreach (XElement n in doc.descendants("books")) } // mystock potrebbe essere null se l attributo fosse mancante string mystock = (string)n.attribute("stock"); foreach (XElement nn in n.elements( title")) string mytitle = (string)nn.value; nn.setvalue(mytitle + " cadel"); } n.setattributevalue(" stock", mytitle + " 0"); doc.save(server.mappath("/app_data/note.xml"));

18 ESERCIZIO Implementazione di una classe Note con i metodi Load (Read) Update Append Delete Esplorazione dei vari elementi del documento con i cicli

19 LETTURA E FILTRO DEI TAG public static List<Note> FindNoteByHeading(XDocument doc, string myheadingtofind) } List<Note> mylist = new List<Note>(); foreach(xelement elemento in doc.descendants("note")) foreach(xelement elemento2 in elemento.descendants("heading")) if(elemento2.value.tolower()== myheadingtofind.tolower()) mylist.add(new Note(elemento.Element("to").Value, elemento.element("from").value, elemento.element("body").value, elemento.element("heading").value)); } } return mylist; Il metodo esplora l albero dei tag XML con 2 cicli foreach, quando trova il nodo corretto crea una istanza di Note e la aggiunge alla lista. Il metodo così scritto potrebbe dare errori a runtime per riferimento a Null se non trova i sottotag di Note necessita di ulteriori controlli

20 OTTIMIZZAZIONE DEL CODICE: ESPRESSIONI LAMBDA public static List<Note> LoadNoteByHeading(XDocument doc, string myheadingtofind) List<Note> mylist = new List<Note>(); // Filtro con una sola istruzione i nodi che mi interesseno List<XElement> xnodelist = doc.descendants("note").where(x => x.element("heading").value == myheadingtofind).tolist(); } // Per ogni nodo filtrato creo un oggetto di tipo Note e lo aggiungo alla mia lista di note foreach(xelement elemento in xnodelist) mylist.add(new Note(elemento.Element("to").Value, elemento.element("from").value, elemento.element("body").value, elemento.element("heading").value)); return mylist; Utilizziamo la lambda expression in verde: passiamo il parametro x (tramite l operatore =>) elemento della lista restituita da Descendants alla funzione anonima che verifica la corrispondenza nel valore testuale del sottotag heading

21 SALVATAGGIO DI UN TAG public bool Append(XDocument doc, string urltosave) // Ottengo il nuovo id come il massimo tra gli id presenti + 1 (lamda expression) int newid = doc.descendants("note").max(x => Convert.ToInt32(x.Element("id").Value))+1; if (newid > 0) XElement newnode = new XElement("note"); newnode.add(new XElement("to")); newnode.element("to").value = To; // Inserisco gli altri sottotag a piacere doc.element("notes").add(newnode); doc.save(urltosave); return true; } return false; } Da una istanza della classe Note esistente, richiamo questo metodo per salvare la stessa istanza (con i relativi attributi) su XML come tag Note con i relativi sottotag.

22 SALVATAGGIO DI UN TAG CON + SOTTOTAG public bool addcommento(xdocument mydoc, string urltosave) XElement newcommento = new XElement("commento"); newcommento.add(new List<XElement>() new XElement("nome") Value = this.nome }, new XElement("cognome") Value = this.cognome }, new XElement("luogo") Value = this.luogo }, new XElement("testo") Value = this.commento }, new XElement("id") Value = this.id.tostring()}, new XElement("rating") Value = this.rating.tostring() } }); } mydoc.element("commenti").add(newcommento); mydoc.save(urltosave); return true; Posso sfruttare la sintassi compatta per aggiungere ad un elemento la lista di sottoelementi con una unica istruzione

23 CANCELLAZIONE DI UN TAG public bool deleterecensione(xdocument mydoc, string urltosave) List<XElement> mialista = mydoc.descendants("id").tolist(); XElement tagtofind = null; ; foreach (XElement x in mialista) if (x.value == this.id.tostring()) tagtofind = x; break; } } tagtofind.parent.remove(); mydoc.save(urltosave); return true; } Cancella l elemento in base all id come prima cosa trova con un ciclo l id corrispondente poi cancella l elemento l intero elemento padre. Ottimizzare la funzione con espressioni lamda

24 ESERCIZIO GUESTBOOK Implementare nell applicazione Guestbook il salvataggio di dati su file XML Partire dall esercizio Guesbook con repeater, stelline e paginazione 1. Creare il file guestbook.xml contenente almeno 3 recensioni 2. Effettuare la lettura dei dati da XML 3. Filtro delle recensioni in base al valore di un attributo 1. Tendina con nome, cognome, mail,rating 2. Ricerca la parola inserita (corrispondenza esatta o testo contenuto) 4. Inserimento di una nuova recensione anche nel file XML 5. Eliminazione di una recensione per idrecensione 6. Modifica per idrecensione dei campi nome, cognome, rating, commento

istituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation

istituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation http://xml.html.it/guide/leggi/58/guida-xml-di-base/ INTRODUZIONE extensible Markup Language (XML) = metalinguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup non

Dettagli

I formati fotometrici su base XML: una rivoluzione nell interscambio dei dati

I formati fotometrici su base XML: una rivoluzione nell interscambio dei dati I formati fotometrici su base XML: una rivoluzione nell interscambio dei dati Gli anni ottanta hanno rappresentato una pietra miliare nell illuminotecnica mondiale in quanto, parallelamente all evoluzione

Dettagli

LEZIONE BASI DI DATI I 22/10/2008 XML

LEZIONE BASI DI DATI I 22/10/2008 XML LEZIONE BASI DI DATI I 22/10/2008 XML Il linguaggio XML (Extended Markup Language) è uno standard per la strutturazione dei dati sul web. A differenza di html, che è utilizzato per formattare documenti

Dettagli

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato

Dettagli

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) 1 Linguaggio di script interpretato con alcune caratteristiche Object Oriented

Dettagli

Nozioni di base per creare e visualizzare documenti XML

Nozioni di base per creare e visualizzare documenti XML Nozioni di base per creare e visualizzare documenti XML Il concetto di modello Prima della codifica di un qualsiasi documento è necessario studiarne la natura, le caratteristiche e le possibili funzionalità

Dettagli

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) Linguaggio di script interpretato con alcune caratteristiche Object Oriented HTTP

Dettagli

SAX e DOM. Analisi di un documento

SAX e DOM. Analisi di un documento SAX e DOM Programmazione in Ambienti Distribuiti A.A. 2003-04 Analisi di un documento Il parser è uno modulo software utilizzato per l analisi di un documento Eseguire il parsing di un documento significa

Dettagli

Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL

Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL Prof. Pagani Corrado JAVASCRIPT DOCUMENT OBJECT MODEL DOCUMENT OBJECT MODEL (DOM) DOM fornisce una rappresentazione del documento HTML in composizione gerarchica di oggetti (DOM TREE). Questo albero di

Dettagli

Voi fareste lo scambio? XML & Co. XML: le origini. XML: cosa è. XML: caratteristiche. XML: caratteristiche 02/03/2012

Voi fareste lo scambio? XML & Co. XML: le origini. XML: cosa è. XML: caratteristiche. XML: caratteristiche 02/03/2012 Lez. 6 Voi fareste lo scambio XML & Co. Nozioni di base per creare e visualizzare documenti XML 29/02/12 XML: cosa è XML: Extensible Markup Language: è un linguaggio che consente la rappresentazione di

Dettagli

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML... linguaggio xml A cura dell Ing. Buttolo Marco SOMMARIO: Contenuti INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...4 1 of 7 INTRODUZIONE: XML è l acronimo di extensible Markup

Dettagli

XML A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

XML A L B E R T O B E L U S S I A N N O A C C A D E M I C O / XML 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 XML 2 XML è un linguaggio di marcatura proposto dal W3C XML definisce una sintassi generica per contrassegnare i dati di

Dettagli

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali»

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali» Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali» AA 2010-2011 INFORMATICA Prof. Giorgio Poletti giorgio.poletti@unife.it XML

Dettagli

L XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri.

L XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri. L XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri. L XML è stato ottimizzato per il Web, diventando potente

Dettagli

XML e Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone.

XML e Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone. Linguaggio utilizzato: C# IDE utilizzato: Visual Studio 2010 Andreetta Stefano Argomenti trattati: Caricamento di un

Dettagli

Linguaggi per il Web: XML

Linguaggi per il Web: XML Linguaggi per il Web: XML Piero Fraternali Sara Comai Politecnico di Milano XML http://w3c.org/xml/ -- http://www.microsoft.com/xml/ extended Markup Language Formato di file proposto dal W3C per distribuire

Dettagli

Laboratorio di reti II: Extensible Markup Language

Laboratorio di reti II: Extensible Markup Language Laboratorio di reti II: Extensible Markup Language Stefano Brocchi brocchi@dsi.unifi.it 20 aprile, 2009 Stefano Brocchi Laboratorio di reti II: XML 20 aprile, 2009 1 / 27 Il linguaggio XML L XML (extensible

Dettagli

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking XML Docente: Vito Morreale(vito.morreale@eng.it) 1 Struttura ad albero persona radice nome cognome origine data

Dettagli

Politecnico di Milano Facoltà del Design Bovisa. Ing. Marco Funaro Dipartimento di Elettronica e Informazione.

Politecnico di Milano Facoltà del Design Bovisa. Ing. Marco Funaro Dipartimento di Elettronica e Informazione. Introduzione a JavaScript Facoltà del Design Bovisa Ing. Marco Funaro Dipartimento di Elettronica e Informazione funaro@elet.polimi.it Un po di storia Introdotto per la prima volta nel 1995 per Netscape

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Sapienza Università di Roma corso di laurea in Ingegneria informatica e automatica Linguaggi e tecnologie per il Web a.a. 2018/2019 Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Riccardo

Dettagli

Elaborazione di documenti XML

Elaborazione di documenti XML Elaborazione di documenti XML Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.13 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria XML e i linguaggi di

Dettagli

SimpleFS - un semplice filesystem. Prova finale di Algoritmi e Principi dell Informatica. DEIB, Politecnico di Milano. Anno accademico

SimpleFS - un semplice filesystem. Prova finale di Algoritmi e Principi dell Informatica. DEIB, Politecnico di Milano. Anno accademico SimpleFS - un semplice filesystem Prova finale di Algoritmi e Principi dell Informatica DEIB, Politecnico di Milano Anno accademico 2016-17 Sommario L obiettivo è l implementazione di un semplice filesystem

Dettagli

tipi di dato astratti

tipi di dato astratti tipi di dato astratti A. FERRARI ADT Un tipo di dato astratto o ADT (Abstract Data Type) è un tipo di dato le cui istanze possono essere manipolate con modalità che dipendono esclusivamente dalla semantica

Dettagli

Alberi Binario in Java

Alberi Binario in Java Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un

Dettagli

Introduzione a JavaScript. Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani

Introduzione a JavaScript. Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani Introduzione a JavaScript Prof. Francesco Accarino IIS Altiero Spinelli via leopardi 132 Sesto San Giovani Principali caratteristiche di JavaScript È un linguaggio interpretato È un linguagio basato sugli

Dettagli

Gestione dei beneficiari CIG

Gestione dei beneficiari CIG Gestione dei beneficiari CIG - Illustrazione funzionamento e FAQ - Illustrazione funzionamento FAQ Frequently Asked Questions 1 Illustrazione funzionamento Accesso alla funzione «Beneficiari». 2 Come si

Dettagli

Programmazione Web D B M G. Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form HTML: HyperText Markup Language Standard

Dettagli

Annotazione del testo

Annotazione del testo Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico 2010-2011 Annotazione del testo Rocco Tripodi rocco@unive.it Ricostruzione Filologia Ricostruire la forma originaria dei

Dettagli

D B M G Il linguaggio HTML

D B M G Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1 Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

Programmazione Web D B M G. Il linguaggio HTML

Programmazione Web D B M G. Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form HTML: HyperText Markup Language Standard

Dettagli

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1

D B M G. Basi di dati. Programmazione Web: HTML. Programmazione Web. Il linguaggio Politecnico di Torino 1 Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti

Dettagli

HTML 4.01 Prima lezione

HTML 4.01 Prima lezione HTML 4.01 Prima lezione A cura di Ivano Stranieri 1 Programma del corso Le basi dell HTML Paragrafi e formattazione del testo Link Tabelle: sintassi ed utilizzo Creazione di frame Form ed interazione con

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Il linguaggio HTML Programmazione Web Concetti di base Le interfacce utente in HTML I form Il passaggio dei parametri contenuti nei form Il linguaggio HTML Concetti di base Concetti di base HTML: HyperText

Dettagli

LEZIONE 10 15/04/2019

LEZIONE 10 15/04/2019 I.I.S. G. COSSALI - ORZINUOVI LEZIONE 10 15/04/2019 Marzo Maggio 2019 Prof. Dario Tomasoni 1 ARGOMENTO ANDROID STUDIO E PROGETTAZIONE GRAFICA 2 AGGIORNAMENTI 1 Prima o poi è opportuno fare gli aggiornamenti:

Dettagli

Esercizio 1: archivio CD e DVD

Esercizio 1: archivio CD e DVD Esercizio 1: archivio CD e DVD Realizzare un applicazione Java per la creazione e la consultazione di un archivio di dischi ottici (CD e DVD). L applicazione riceve da standard input in maniera interattiva

Dettagli

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13 UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

XML Programming: DOM e SAX

XML Programming: DOM e SAX Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XML Programming: DOM e SAX Eufemia TINELLI Contenuti Obiettivi delle API per XML DOM Modello

Dettagli

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche Sintassi dei DTD : Entità generali : Entità parametriche La dichiarazione di tipo Il è la dichiarazione del tipo di documento. Essa

Dettagli

Dispense XML. Indice

Dispense XML. Indice Indice Dispense XML...1 Breve introduzione a XML...1 Analisi e Visualizzazione del documento...1 Supporto Microsoft per XML...3 XML server side...3 Spazio dei nomi...4 Struttura di un documento XML...5

Dettagli

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica

Dettagli

@2011 Politecnico di Torino 1

@2011 Politecnico di Torino 1 Il linguaggio HTML Programmazione Web Concetti di base Le interfacce utente in HTML I form Il passaggio dei parametri contenuti nei form Il linguaggio HTML Concetti di base Concetti di base HTML: HyperText

Dettagli

extensible Markup Language

extensible Markup Language XML a.s. 2010-2011 extensible Markup Language XML è un meta-linguaggio per definire la struttura di documenti e dati non è un linguaggio di programmazione un documento XML è un file di testo che contiene

Dettagli

Breve Introduzione a XML

Breve Introduzione a XML Origini! XML (extensible Markup Language) deriva da SGML (Standard Generalized Markup Language).! Sia con XML che con SGML è possibile definire linguaggi di markup specifici per vari domini, come la finanza

Dettagli

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 9: array

Fondamenti di informatica T-1 (A K) Esercitazione 9: array Fondamenti di informatica T-1 (A K) Esercitazione 9: array AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 9 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del

Dettagli

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML Laboratorio di sistemi interattivi Lezione 12: Java & XML 1 Struttura di un applicazione Java-XML Parser analizza il contenuto di un file XML Produce eventi in corrispondenza delle diverse componenti Eventi

Dettagli

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la struttura di un documento XML disponibile prima che fosse introdotto XMLSchema

Dettagli

Prova d Esame Compito A

Prova d Esame Compito A DOMANDA1 Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { protected int value; public static boolean flag = false; public General() { value = 1; public

Dettagli

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali»

INFORMATICA AA Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali» Università degli Studi di Ferrara Facoltà di Scienze MM FF NN Corso di Laurea in «Scienze e Tecnologie per i Beni Culturali» AA 2010-2011 INFORMATICA Prof. Giorgio Poletti giorgio.poletti@unife.it La rete

Dettagli

Esercitazione 8. Corso di Tecniche di programmazione. Laurea in Ingegneria Informatica

Esercitazione 8. Corso di Tecniche di programmazione. Laurea in Ingegneria Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 8 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

File XML il futuro dei file di interscambio dati

File XML il futuro dei file di interscambio dati File XML il futuro dei file di interscambio dati Il passato I file LDT e IES di testo I dati fotometrici sono oggi trasferiti da un applicazione illuminotecnica all altra mediante i file: Eulumdat LDT

Dettagli

Il Web. Struttura e servizi

Il Web. Struttura e servizi Il Web Struttura e servizi Ipertesto ed ipermedia Un ipertesto è un testo la cui struttura è reticolare, invece che semplicemente lineare o gerarchica. Si parla di multimedialità quando un testo è formato

Dettagli

Alberi Binari Alberi Binari

Alberi Binari Alberi Binari Alberi Binari Alberi Binari Un albero binario è una collezione di elementi organizzati in modo non sequenziale secondo un grafo aciclico caratterizzato da Radice Due sotto-alberi (il sotto-albero destro

Dettagli

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

Dettagli

Variabili e input/ Alessandra Giordani Lunedì 18 marzo

Variabili e input/ Alessandra Giordani Lunedì 18 marzo Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile

Dettagli

Introduction to modern Fortran

Introduction to modern Fortran Sintassi di base Introduction to modern Fortran Maurizio Cremonesi, CINECA Maggio 2016 Documentazione e manualistica Può essere facilmente reperita on-line Language reference Descrizione e sintassi del

Dettagli

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione

Dettagli

Implementazione ADT: Alberi

Implementazione ADT: Alberi Implementazione ADT: Alberi Livelli di astrazione 2001/2002 1 Esercitazione 5 (E6): alberi (tree) albero struttura dati fondamentale, soprattutto per le operazioni di ricerca tipi di albero con radice

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 8 Contenuto della lezione extensible Markup Language (XML) HTML vs XML Documenti ben formati Documenti validi

Dettagli

UNIVERSITA` DI BERGAMO ESAME DI INFORMATICA 12 CFU Modulo di Programmazione (ING. INFORMATICA) Prof. G. PSAILA PROVA IN ITINERE DEL 12/01/2017

UNIVERSITA` DI BERGAMO ESAME DI INFORMATICA 12 CFU Modulo di Programmazione (ING. INFORMATICA) Prof. G. PSAILA PROVA IN ITINERE DEL 12/01/2017 UNIVERSITA` DI BERGAMO ESAME DI INFORMATICA 12 CFU Modulo di Programmazione (ING. INFORMATICA) Prof. G. PSAILA PROVA IN ITINERE DEL 12/01/2017 Per consegnare, si svolgano entrambi gli esercizi. Durata:

Dettagli

ALBERI. Angelo Di Iorio Università di Bologna

ALBERI. Angelo Di Iorio Università di Bologna ALBERI Angelo Di Iorio Università di Bologna Esercizio 1 Implementare una classe Java per memorizzare e leggere informazioni relative a una dinastia Esempio nella prossima slide Per ogni persona: Nome

Dettagli

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione Alberi Strutture dati: Alberi Strutture gerarchiche di dati Esempi Il file system di un sistema operativo L organigramma di un azienda Alberi generali, alberi n-ari, alberi binari, Ogni nodo ha un unico

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi.

In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi. In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi. 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni

Dettagli

I Fondamenti del Linguaggio

I Fondamenti del Linguaggio Linguaggio C I Fondamenti del Linguaggio Linguaggio di Programmazione Linguaggio formale per la descrizione di programmi per calcolatori Sintassi vicina al linguaggio umano Se non ci fossero, bisognerebbe

Dettagli

Viene pubblicata la versione 1.0 di HTML:

Viene pubblicata la versione 1.0 di HTML: Viene pubblicata la versione 1.0 di HTML: HTML permette di definire formalmente la struttura logica dei documenti ipertestuali, offrendo semplici strumenti di formattazione e per collegare vari documenti

Dettagli

Alberi binari di ricerca

Alberi binari di ricerca Alberi binari di ricerca Definizione Un albero si dice albero binario di ricerca è un albero binario in cui: - Ogni nodo è caratterizzato un valore chiamato chiave - L insieme delle chiavi è totalmente

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Prof. Pagani Corrado JQUERY

Prof. Pagani Corrado JQUERY Prof. Pagani Corrado JQUERY INTRODUZIONE Abbiamo visto come il linguaggio JavaScript sia stato rivalutato nell ultimo periodo grazie alla diffusione di tecniche come AJAX e alla possibilità di riprodurre

Dettagli

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning

Parte Input e output in linguaggio i C. 3. Programmazione strutturata 1 (if, switch, comunque segnalare dei warning Obiettivi di questa esercitazione Fondamenti di Informatica T-1 Parte 2 Laboratorio 01 1. Input e output in linguaggio i C 2. Espressioni 3. Programmazione strutturata 1 (if, switch, do while) 1 2 Warning

Dettagli

Introduzione alle classi e agli oggetti. Walter Didimo

Introduzione alle classi e agli oggetti. Walter Didimo Introduzione alle classi e agli oggetti Walter Didimo Classi e oggetti La classe rappresenta l unità di base della programmazione ad oggetti: una classe definisce una tipologia di elementi (cioè una categoria

Dettagli

XML - Extensible Markup Language (1)

XML - Extensible Markup Language (1) XML - Extensible Markup Language (1) XML è un linguaggio di marcatura estensibile (insieme di regole per creare altri linguaggi di marcatura) sviluppato e controllato dal World Wide Web Consortium Sottoinsieme

Dettagli

AJAX. Riccardo Rosati

AJAX. Riccardo Rosati AJAX Riccardo Rosati Linguaggi e tecnologie per il Web Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma a.a. 2016/2017 http://www.dis.uniroma1.it/~rosati/lw/ AJAX AJAX

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,

Dettagli

Alberi binari e alberi binari di ricerca

Alberi binari e alberi binari di ricerca Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Informatica Umanistica A.A. 2005/2006

Informatica Umanistica A.A. 2005/2006 Informatica Umanistica A.A. 2005/2006 LEZIONE 5 extensible Markup Language XML - DTD Lezione 5 SOMMARIO 1. Ripasso XML e concetti DTD 2. Dichiarazione DOCTYPE 3. Primo esempio (rubrica.xml) 4. Elementi

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 8 Dettagli e Approfondimenti versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali

Dettagli

Dati / Informazioni Strutturate

Dati / Informazioni Strutturate Le informazioni Il patrimonio più importante per il genere umano è la sua conoscenza. Conoscenza Informazione Dato L informatica nasce dall esigenza di gestire in maniera automatica le informazioni. Le

Dettagli

Informatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann

Informatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann Informatica 3 LEZIONE 16: Heap - Codifica di Huffmann Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann Informatica 3 Lezione 16 - Modulo 1 Heap e code di priorità Introduzione

Dettagli

The extensible Markup Language

The extensible Markup Language The extensible Markup Language Sistemi per il recupero delle informazioni Laurea Magistrale in Editoria e Giornalismo Gabriele Pozzani materiale prodotto dalla Dott.ssa Barbara Oliboni Motori di ricerca

Dettagli

Corso di PHP. Prerequisiti. 8.1 PHP e MySQL. Conoscenza MySQL Tecnica della programmazione

Corso di PHP. Prerequisiti. 8.1 PHP e MySQL. Conoscenza MySQL Tecnica della programmazione Corso di PHP 8.1 PHP e MySQL 1 Prerequisiti Conoscenza MySQL Tecnica della programmazione procedurale ad oggetti Principi di programmazione web Programmazione elementare in PHP 2 1 Introduzione In questa

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Programmazione Web. Javascript.

Programmazione Web. Javascript. Programmazione Web Javascript diegozabot@yahoo.it Introduzione Cos è Javascript è un linguaggio di scripting lato client, interpretato direttamente dal browser. Implementato per la prima volta in Netscape

Dettagli

Esercitazione 1 SQL: DDL e DML di base

Esercitazione 1 SQL: DDL e DML di base Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Scuola Procedura descritta qui: https://infoy.ing.unibo.it/new_account/

Dettagli

XML: XLink. Alessandro Sorato - Linguaggi per la rete: XML Dipartimento di Informatica Università di Venezia Ca' Foscari

XML: XLink. Alessandro Sorato - Linguaggi per la rete: XML Dipartimento di Informatica Università di Venezia Ca' Foscari XML: XLink XLink: XML Linking Language (1.0) W3C Recommendation del 27 Giugno 2001 Linguaggio basato su XML per definire dei link tra risorse esterne o interne ad un documento. XLink nasce con l'intento

Dettagli

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

AJAX. Riccardo Rosati

AJAX. Riccardo Rosati AJAX Riccardo Rosati Linguaggi e tecnologie per il Web Corso di laurea in Ingegneria informatica e automatica Sapienza Università di Roma a.a. 2017/2018 http://www.dis.uniroma1.it/~rosati/lw/ AJAX AJAX

Dettagli

Modifica Pagina Web. Pulsante LogOut: cliccare per uscire dall'ambiente di amministrazione

Modifica Pagina Web. Pulsante LogOut: cliccare per uscire dall'ambiente di amministrazione Modifica Pagina Web Dopo aver effettuato la Login con la Username e la Password fornitavi (alla url http:// [nomedominio]/account oppure attraverso la pagina login se presente sul sito) vi troverete all'interno

Dettagli

XML. Prof.Alessandra Giordani ITT Marconi Rovereto

XML. Prof.Alessandra Giordani ITT Marconi Rovereto XML Prof.Alessandra Giordani ITT Marconi Rovereto XML (extensible Markup Language) è un meta linguaggio. XML Può essere definito come un insieme di regole e convenzioni che consentono di descrivere qualunque

Dettagli

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin Javascript - Corso Web Design - Media Dream Academy Stefano Gaborin stefano.gaborin@above.company www.above.company Cos è Javascript? JavaScript è un linguaggio di programmazione interpretato. Utilizzato

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli