XML Schema. Si avvicinano i Mondiali di calcio. La federazione. ai Mondiali di calcio di Massimo Ruocchio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "XML Schema. Si avvicinano i Mondiali di calcio. La federazione. ai Mondiali di calcio di Massimo Ruocchio"

Transcript

1 F O C U S Vediamo cos è e come Schema si utilizza Schema Schema, il linguaggio standard introdotto dal W3C per creare schemi di validazione per documenti. Un semplice esempio può essere di grande aiuto ai Mondiali di calcio mruocchio@programmers.net di Massimo Ruocchio È laureato in matematica ed è certificato Oracle come Application Developer. Si occupa di analisi, progettazione e sviluppo di applicazioni software in ambiente relazionale Oracle ed Tamino. Si avvicinano i Mondiali di calcio. La federazione mondiale (FIFA) chiede alle 32 nazionali qualificate di trasmettere l elenco dei calciatori selezionati per partecipare alla manifestazione. Le informazioni richieste sono le seguenti: nome della Nazione; nome, cognome, nazionalità e numero di tessera FIFA del commissario tecnico; nome, cognome, età, numero di maglia, club d appartenenza di ogni calciatore convocato. I dati devono essere inviati in formato. Per evitare problemi in fase di ricezione dei dati bisogna superare due ostacoli: prima di tutto il formato utilizzato dalle 32 federazioni qualificate deve essere unico, poi bisogna fare in modo che ogni federazione possa verificare che i propri dati rispettino tutte le regole a dispetto di eventuali errori di compilazione del documento. Per ovviare a questi due possibili problemi la FIFA elabora uno schema in cui sia chiaro quali dati devono essere inviati e quali regole questi dati devono rispettare. Lo schema, da inviare a tutte le federazioni, è esso stesso un documento, rispetta gli standard enunciati dal World Wide Web Consortium (W3C) ed universalmente riconosciuti, consente alle federazioni di verificare autonomamente che i dati che si stanno per inviare sono corretti. Esistono molti strumenti software che consentono di verificare automaticamente la validità di un documento rispetto ad un certo schema. Lo schema è redatto secondo gli standard di Schema. Breve genesi di Schema 46 I dati inviati devono rispettare alcune regole: 1. ci deve essere un solo commissario tecnico; 2. ci devono essere esattamente 23 calciatori; 3. i numeri di maglia devono essere compresi tra 1 e 23; 4. due calciatori non possono avere lo stesso numero di maglia; 5. il nome della nazione può essere solo uno dei 32 nomi in inglese delle nazionali qualificate. Schema è uno strumento piuttosto giovane, le specifiche per la sua creazione sono state pubblicate nel febbraio del Nel Riquadro 1 è riportato il paragrafo Purpose delle specifiche di Schema tratto da [10]. Dopo due anni di lavoro si è giunti, il 2 maggio 2001, alla redazione della versione definitiva di Schema che è diventato una Raccomandazione del W3C. Ma l esigenza di convalidare i documenti prodotti è nata insieme all. Prima di Schema era utilizzato uno standard denominato Document Type Definition (DTD). DTD, che è supportato da tutti i tool per lo sviluppo in ambiente, ha alcuni difetti

2 che rendono complesso il suo utilizzo. I tre difetti principali di DTD sono: FIGURA 1 La struttura del nostro schema in Spy non è esso stesso un linguaggio, e dunque un documento DTD non può essere scritto e modificato con lo stesso strumento con cui si scrivono i documenti (a meno di non utilizzare per entrambi un comune editor di testo); non gestisce i tipi di dato, dunque non è possibile sapere se le singole informazioni siano da interpretare come numeri o stringhe ecc ; non gestisce in alcun modo i namespace, utili per la standardizzazione dei nomi dei tag utilizzati. Il maggior difetto di Schema è sicuramente la sua complessità, soprattutto in considerazione del fatto che lo strumento è nato per semplificare le cose rispetto a DTD. Ma la complessità di Schema può essere molto attutita utilizzando uno dei tanti strumenti grafici per la redazione di schemi. Ormai sono molti i produttori di software che mettono a disposizione un ambiente completo per lo sviluppo in. In Figura 1 è riportata a titolo d esempio una schermata di Spy. Torniamo ai mondiali di calcio Cominciamo a scrivere il nostro schema. Come detto uno schema è esso stesso un documento quindi, tanto per cominciare, scriviamo: <?xml version= 1.0 encoding= UTF-8?> <xs:schema xmlns:xs= Schema > </xs:schema> La prima riga è la solita, valida per ogni documento. L elemento radice di uno schema è <xs:schema>, dove xs: è il prefisso da utilizzare per far riferimento ai tag definiti nel namespace standard di Schema definito dal W3C. Rileggendo i dati da gestire con il nostro documento ci accorgiamo che vanno richiesti nome e cognome sia del commissario tecnico sia dei calciatori. In casi come questo è possibile definire un nuovo tipo di dato composto da due tipi elementari, in questo caso due stringhe, che potremo poi utilizzare due volte nel nostro schema: <xs:complextype name= COMPLETE_NAME_TYPE > <xs:element name= SURNAME type= xs:string /> <xs:element name= NAME type= xs:string /> Il tipo di dato da definire è un complextype di nome COMPLETE_NAME_TYPE ed è composto dalla sequenza di due dati elementari, SURNAME e NAME, entrambi di tipo stringa. L elemento radice dei documenti che le federazioni devono inviare lo chiamiamo TEAM e lo definiamo come segue: <xs:element name= TEAM > <!-- qui ci vanno gli elementi che compongono TEAM --> <xs:attribute name= country use= required > <xs:restriction base= xs:string > <xs:enumeration value= KOREA /> <xs:enumeration value= JAPAN /> <xs:enumeration value= ITALY /> <!-- tutte le altre nazioni --> Dunque, TEAM è un elemento complesso perché formato da una sequenza di altri elementi, poi vedremo quali. Ha un attributo di nome country che è obbligatorio ed è una stringa. Ma country non è una stringa qualunque, è una restrizione del tipo xs:string. Sì perché country può assumere solo uno di 32 valori alfanumerici prestabiliti, i nomi in inglese delle 32 nazionali qualificate ai mondiali. Questa regola si impone mediante l elemento <xs:restriction> che restringe un tipo definito e mediante l elemento <xs:enumeration> che elenca una serie di costanti che fungono da valori possibili. TEAM è fatto da due elementi: TRAINER e PLAYERS 47

3 F O C U S <xs:element name= TEAM > <xs:element name= TRAINER minoccurs= 1 maxoccurs= 1 > <!-- qui il contenuto di TRAINER --> <xs:element name=»players» minoccurs=»1» maxoccurs=»1»> <!-- qui il contenuto di PLAYERS --> <!-- qui c e l attributo country --> Nel TEAM ci deve essere un solo TRAINER ed un solo elenco di atleti, ciò può essere imposto mediante gli attributi minoccurs e maxoccurs. Veniamo al TRAINER. Le informazioni da gestire sono nome e cognome, nazionalità e numero di tessera FIFA. Il numero di tessera FIFA è un alfanumerico di 10 caratteri. Sugli altri dati non imponiamo restrizioni, vediamo: <xs:element name= TRAINER minoccurs= 1 maxoccurs= 1 > <xs:element name=»tr_compl_name» type=»complete_name_type»/> <xs:element name=»nationality» type=»xs:string»/> <xs:attribute name=»fifa_id» use=»required»> <xs:restriction base=»xs:string»> <xs:length value=»10»/> FIGURA 2 Validazione di Team.xml avvenuta con successo mediante XSV L elemento TR_COMPLETE_NAME è del tipo COMPLETE_NAME_TYPE che abbiamo definito all inizio. Quindi sarà composto da due elementi SURNAME e NAME. La NATIONALITY è una stringa senza restrizioni, mentre l attributo fifa_id è anch esso una stringa ma è sottoposto alla restrizione che la sua lunghezza (elemento <xs:length>) sia esattamente 10. In più l attributo fifa_id è obbligatorio. Tocca all elenco dei calciatori, cioè all elemento PLAYERS. <xs:element name= PLAYERS minoccurs= 1 maxoccurs= 1 > <xs:element name= PLAYER minoccurs= 23 maxoccurs= 23 > <!-- qui il contenuto di PLAYER --> PLAYERS è formato da una sequenza di elementi PLAYER. Per la precisione ci devono essere esattamente 23 occorrenze dell elemento PLAYER, infatti sia minoccurs che maxoccurs di PLAYER valgono 23. Ogni PLAYER è definito come segue : <xs:element name= PLAYER minoccurs= 23 maxoccurs= 23 > <xs:element name=»compl_name» type=»complete_name_type»/> <xs:element name= CLUB type= xs:string /> <xs:attribute name= number use= required > <xs:restriction base= xs:integer > <xs:mininclusive value= 1 /> <xs:maxinclusive value= 23 /> <xs:attribute name= age type= xs:integer use= required /> <xs:attribute name= goalkeeper type= xs:string fixed= YES /> 48 C è una sequenza di COMPL_NAME, nome completo come per il TRAINER, e CLUB, il nome

4 LISTATO 1 Team.xsd, lo schema d esempio <?xml version= 1.0 encoding= UTF-8?> <xs:schema xmlns:xs= > <xs:complextype name= COMPLETE_NAME_TYPE > <xs:element name= SURNAME type= xs:string /> <xs:element name= NAME type= xs:string /> <xs:element name= TEAM > <xs:element name= TRAINER minoccurs= 1 maxoccurs= 1 > <xs:element name= TR_COMPL_NAME type= COMPLETE_NAME_TYPE /> <xs:element name= NATIONALITY type= xs:string /> <xs:attribute name= fifa_id use= required > <xs:restriction base= xs:string > <xs:length value= 10 /> <xs:element name= PLAYERS minoccurs= 1 maxoccurs= 1 > <xs:element name= PLAYER minoccurs= 23 maxoccurs= 23 > <xs:element name= COMPL_NAME type= COMPLETE_NAME_TYPE /> <xs:element name= CLUB type= xs:string /> <xs:attribute name= number use= required > <xs:restriction base= xs:integer > <xs:mininclusive value= 1 /> <xs:maxinclusive value= 23 /> <xs:attribute name= age type= xs:integer use= required /> <xs:attribute name= goalkeeper type= xs:string fixed= YES /> <xs:attribute name= country use= required > <xs:restriction base= xs:string > <xs:enumeration value= KOREA /> <xs:enumeration value= JAPAN /> <xs:enumeration value= CHINA /> <xs:enumeration value= SAUDI ARABIA /> <xs:enumeration value= SOUTH AFRICA /> <xs:enumeration value= CAMEROON /> <xs:enumeration value= SENEGAL /> <xs:enumeration value= TUNISIA /> <xs:enumeration value= NIGERIA /> <xs:enumeration value= COSTA RICA /> <xs:enumeration value= USA /> <xs:enumeration value= MEXICO /> <xs:enumeration value= ARGENTINA /> <xs:enumeration value= PARAGUAY /> <xs:enumeration value= ECUADOR /> <xs:enumeration value= BRAZIL /> <xs:enumeration value= FRANCE /> <xs:enumeration value= POLAND /> <xs:enumeration value= SWEDEN /> <xs:enumeration value= SPAIN /> <xs:enumeration value= RUSSIA /> <xs:enumeration value= PORTUGAL /> <xs:enumeration value= DENMARK /> <xs:enumeration value= CROATIA /> <xs:enumeration value= ITALY /> <xs:enumeration value= ENGLAND /> <xs:enumeration value= SLOVENIA /> <xs:enumeration value= TURKEY /> <xs:enumeration value= BELGIUM /> <xs:enumeration value= GERMANY /> <xs:enumeration value= AUSTRALIA /> <xs:enumeration value= IRELAND REPUBLIC /> <xs:unique name= NUMBERING > <xs:selector xpath=./players/player /> <xs:field /> </xs:unique> </xs:schema> 49

5 F O C U S FIGURA 3 Validazione di Team.xml avvenuta con errore mediante XSV della squadra di club del calciatore. Sul CLUB non ci sono restrizioni. Dopo la sequenza vengono definiti tre attributi di PLAYER. Il numero di maglia number è obbligatorio ed è una restrizione del tipo xs:integer. Precisamente la restrizione consiste nel fatto che i valori che possono essere assunti da number sono compresi tra 1 e 23, estremi inclusi. Ciò è imposto mediante gli elementi mininclusive e maxinclusive. Gli elementi minexclusive e maxexclusive hanno la stessa funzione ma escludono gli estremi dell intervallo dai valori ammessi. Il secondo attributo di PLAYER è age, l età del calciatore. Si tratta di un intero obbligatorio senza restrizioni. Ultimo attributo del PLAYER è goalkeeper che indica se il calciatore deve essere registrato come portiere oppure no. goalkeeper è una stringa, non è obbligatorio e può assumere solo il valore fisso YES, ottenuto con fixed= YES. Quindi se l attributo compare vale YES ed indica che il calciatore è uno dei portieri, altrimenti l attributo deve mancare. Per concludere il nostro schema manca la definizione della quarta regola enunciata all inizio di quest articolo. Bisogna imporre l univocità dell attributo number dell elemento PLAYER. Cioè non ci possono essere due PLAYER con lo stesso number. Si fa come segue: <xs:element name= TEAM > <!-- tutto quello che abbiamo visto prima --> <xs:unique name= NUMBERING > <xs:selector xpath=./players/player /> <xs:field /> </xs:unique> Inseriamo un elemento <xs:unique> a livello di TEAM, cioè nell elemento TEAM ma fuori da tutti gli elementi che lo compongono. Attribuiamo a questa regola il nome NUMBERING. L elemento <xs:selector> indica qual è il nodo rispetto a cui deve essere controllata l unicità. L elemento <xs:field> indica quale campo deve essere univoco. Sia <xs:selector> che <xs:field> devono essere specificati mediante espressioni Xpath. Xpath è uno standard elaborato dal W3C per indicare i percorsi all interno di un documento. Non potendoci dilungare su Xpath diciamo solo che in un percorso scritto con Xpath, il simbolo / serve a scendere di un livello, il simbolo. Serve ad indicare il livello corrente, gli elementi possono essere indicati con il proprio nome mentre il deve essere anteposto al nome per indicare gli attributi. Dunque, nella definizione del selector, partendo dal nodo TEAM, il nodo PLAYER è indicato con l espressione Xpath./PLAYERS/PLAYER poiché è figlio di PLAYERS che è figlio diretto di TEAM, nodo corrente. Nella definizione del field, partendo dal selector, cioè da PLAYER, per raggiungere l attributo number bisogna scendere di un livello. L espressione Xpath Per seguire meglio la logica si può guardare la Figura 1 dove i nodi del nostro schema sono rappresentati graficamente. Bene, lo schema è completo. Lo si può vedere nella sua interezza nel Listato 1. A questo punto la FIFA invia alle federazioni lo schema che ha prodotto. Ogni federazione costruisce un documento con i dati richiesti. Bisogna effettuare il controllo della validità del documento. Purpose Scopo degli schemi è fornire un inventario di costrutti di markup con cui scrivere schemi. Lo scopo di uno schema è definire e descrivere una classe di documenti utilizzando questi costrutti per vincolare e documentare il significato, l utilizzo e le relazioni delle loro parti costituenti: tipi di dati, elementi e corrispondente contenuto, attributi e rispettivi valori, entità e relativi contenuti e notazioni. I costrutti di uno schema possono anche fornire le specifiche per informazioni implicite come nel caso di valori di default. Gli schemi documentano il proprio significato, utilizzo e funzione. In questo modo, il linguaggio degli schemi può essere utilizzato per definire, descrivere e catalogare dei vocabolari per le classi di documenti. Qualsiasi applicazione può utilizzare il formalismo Schema per esprimere la sintassi, i vincoli strutturali e di valore applicabili alle istanze di documento. Il formalismo Schema costituisce un utile livello di controllo dei vincoli che devono essere descritti e validati da un ampio spettro di applicazioni. Per applicazioni che richiedono altri vincoli, arbitrari o complicati, l applicazione deve eseguire direttamente ulteriori validazioni. 50 RIQUADRO 1 Le Purpose del W3C nelle specifiche di Schema

6 LISTATO 2 Team.xml, il documento d esempio <TEAM country= ITALY xmlns:xsi= si:nonamespaceschemalocation= C:\Programmi\XSV\team.xsd > <TRAINER fifa_id= ITA > <TR_COMPL_NAME> <SURNAME>Trapattoni</SURNAME> <NAME>Giovanni</NAME> </TR_COMPL_NAME> <NATIONALITY>Italy</NATIONALITY> </TRAINER> <PLAYERS> <PLAYER number= 1 age= 23 goalkeeper= YES > <SURNAME>Buffon</SURNAME> <NAME>Gianluigi</NAME> <PLAYER number= 2 age= 28 > <SURNAME>Bertotto</SURNAME> <NAME>Valerio</NAME> <CLUB>Udinese</CLUB> <PLAYER number= 3 age= 28 > <SURNAME>Cannavaro</SURNAME> <NAME>Fabio</NAME> <CLUB>Parma</CLUB> <PLAYER number= 4 age= 25 > <SURNAME>Nesta</SURNAME> <NAME>Alessandro</NAME> <CLUB>Lazio</CLUB> <PLAYER number= 5 age= 33 > <SURNAME>Maldini</SURNAME> <NAME>Paolo</NAME> <CLUB>Milan</CLUB> <PLAYER number= 6 age= 28 > <SURNAME>Materazzi</SURNAME> <NAME>Marco</NAME> <CLUB>Inter</CLUB> <PLAYER number= 7 age= 30 > <SURNAME>Albertini</SURNAME> <NAME>Demetrio</NAME> <CLUB>Milan</CLUB> <PLAYER number= 8 age= 24 > <SURNAME>Coco</SURNAME> <NAME>Francesco</NAME> <CLUB>Barcellona</CLUB> <PLAYER number= 9 age= 26 > <SURNAME>Fiore</SURNAME> <NAME>Stefano</NAME> <CLUB>Lazio</CLUB> <PLAYER number= 10 age= 23 > <SURNAME>Gattuso</SURNAME> <NAME>Ivan Gennaro</NAME> <CLUB>Milan</CLUB> <PLAYER number= 11 age= 31 > <SURNAME>Pessotto</SURNAME> <NAME>Gianluca</NAME> <PLAYER number= 12 age= 30 goalkeeper= YES > <SURNAME>Toldo</SURNAME> <NAME>Francesco</NAME> <CLUB>Inter</CLUB> <PLAYER number= 13 age= 26 > <SURNAME>Tacchinardi</SURNAME> <NAME>Alessio</NAME> <PLAYER number= 14 age= 27 > <SURNAME>Tommasi</SURNAME> <NAME>Damiano</NAME> <CLUB>Roma</CLUB> <PLAYER number= 15 age= 24 > <SURNAME>Zambrotta</SURNAME> <NAME>Gianluca</NAME> <PLAYER number= 16 age= 24 > <SURNAME>Zenoni</SURNAME> <NAME>Cristian</NAME> <PLAYER number= 17 age= 27 > <SURNAME>Del Piero</SURNAME> <NAME>Alessandro</NAME> <PLAYER number= 18 age= 28 > <SURNAME>Del Vecchio</SURNAME> <NAME>Marco</NAME> <CLUB>Roma</CLUB> <PLAYER number= 19 age= 28 > <SURNAME>Inzaghi</SURNAME> <NAME>Filippo</NAME> <CLUB>Milan</CLUB> <PLAYER number= 20 age= 27 > <SURNAME>Montella</SURNAME> <NAME>Vincenzo</NAME> <CLUB>Roma</CLUB> <PLAYER number= 21 age= 25 > <SURNAME>Totti</SURNAME> <NAME>Francesco</NAME> <CLUB>Roma</CLUB> <PLAYER number= 22 age= 28 > <SURNAME>Vieri</SURNAME> <NAME>Christian</NAME> <CLUB>Inter</CLUB> <PLAYER number= 23 age= 31 goalkeeper= YES > <SURNAME>Peruzzi</SURNAME> <NAME>Angelo</NAME> <CLUB>Lazio</CLUB> </PLAYERS> </TEAM> 51

7 F O C U S 52 Controllo della validità del documento Nel Listato 2 è possibile vedere il documento inviato dalla FIGC (Federazione Italiana Gioco Calcio) alla FIFA (ovviamente i convocati me li ha indicati Trapattoni in persona!). Per validare automaticamente il documento sulla base dello schema esistono numerosi tool. Per quest esempio è stato utilizzato XSV, un programmino open source che funziona da linea di comando a cui basta passare il nome del documento da validare per ottenere il risultato. XSV si può scaricare dall indirizzo ftp://ftp.cogsci.ed.ac.uk/pub/xsv/xsv12.exe Ovviamente nel documento bisogna in qualche modo indicare il nome dello schema da utilizzare, si fa così: <TEAM country= ITALY xmlns:xsi= xsi:nonamespaceschemalocation= C:\Programmi\XSV\team.xsd > FIGURA 4 L albero di derivazione dei tipi di dato semplici definiti in Schema Dunque affermando che il namespace utilizzato è un istanza di Schema situata all indirizzo C:\Documenti\articoli\Schema\team.xsd. In Figura 2 è possibile vedere la validazione avvenuta con successo di team.xml (Listato 2). In Figura 3 è possibile vedere la validazione avvenuta con errore di team.xml dove era stato attribuito il numero 2 anche a Buffon, violando la regola denominata NUMBERING. Si può notare che entrambe le risposte di XSV sono in formato. Tipi di dato di Schema L esempio è stato molto utile per capire a cosa serve Schema. Abbiamo visto l utilizzo di alcuni tipi di dato, torniamo sull argomento per una panoramica breve ma un po più generale. I tipi di dato in Schema sono organizzati in maniera gerarchica. Ogni tipo si può ottenere dal tipo padre mediante uno dei seguenti quattro metodi: restrizione, estensione, lista ed unione. Abbiamo visto nel nostro esempio alcuni casi di restrizione, per motivi di spazio non ci soffermiamo sugli altri tipi di derivazione. Per maggiori informazioni sulla derivazione dei tipi si possono consultare [4] e [8]. Il tipo di dato che sta alla radice della gerarchia si chiama anytype e da esso è possibile ottenere, per successive derivazioni, tutti i tipi. Al livello subito inferiore di anytype ci sono i due tipi simpletype e complextype di cui abbiamo visto numerose occorrenze nel nostro esempio. I tipi di dato semplici sono quelli che non possono avere elementi figli né attributi, sono deputati a conservare un dato elementare. Esistono 44 tipi di dato semplici, cioè derivati da simpletype, già definiti in Schema. Ad essi è possibile aggiungere qualunque tipo personalizzato, come abbiamo fatto nel nostro esempio. In Figura 4 è rappresentato l albero di derivazione dei tipi di dato semplici definiti in Schema tratto da [4]. La derivazione di un tipo di dato per restrizione può avvenire impo-

8 stando dodici proprietà del tipo, tra cui la lunghezza e l intervallo dei valori ammessi. Queste proprietà sono dette facet. I tipi complessi si dividono a loro volta in due categorie. I tipi complessi con contenuto semplice (simplecontent) possono avere attributi e contenere dati elementari. I tipi complessi con contenuto complesso (complexcontent) possono avare anche degli elementi figlio. Per tutti i tipi complessi la sintassi è: <xs:element name=nome_tipo attributi> <xs:simplecontent> oppure <xs:complexcontent> <!-- contenuto del tipo --> </xs:simplecontent> oppure </xs:complexcontent> </xs:element > Nel nostro esempio all interno dei non abbiamo mai trovato <xs:simplecontent> né <xs:complexcontent>. Questo perché per default il contenuto di è <xs:complexcontent>, dunque nel caso di contenuto complesso la sintassi si può ridurre a: <xs:element name=nome_tipo attributi> <!-- contenuto del tipo --> </xs:element > che è la sintassi utilizzata nel nostro esempio. Schema e SOAP I tipi di dato sono la caratteristica principale di Schema ed il motivo principale per cui si lavora su questo standard. Prima di Schema, chi utilizzava si trovava a dover sopperire alla mancanza dei tipi di dato definendoli da solo. È quello che è successo agli autori di SOAP, Simple Object Access Protocol. SOAP è basato su e, come dice il nome, è un protocollo per l accesso ad oggetti remoti. Essendo nato prima di Schema, SOAP ha dovuto fare i conti con l assenza dei tipi di dato in. Gli autori si sono dovuti sobbarcare un grosso lavoro di definizione dei tipi che li ha impegnati spesso più di tutte le altre attività. Con la stabilizzazione di Schema anche SOAP ha raggiunto una maggiore stabilità, confermata dalla creazione in seno al W3C di un gruppo di lavoro specifico per i protocolli. Il W3C lavora oggi anche su SOAP (versione 1.2). Il gruppo di lavoro di SOAP è impegnato a stretto contatto con il gruppo di Schema per sfruttare al massimo le potenzialità di entrambi gli strumenti. Finalmente SOAP non ha più il compito di definire i tipi di dato per, di questo da oggi si occupa Schema. Per maggiori informazioni sull evoluzione di SOAP in relazione ai tipi di dato e Schema si può consultare [9]. Conclusioni Qualcuno vede Schema come un male necessario, qualcosa di cui non si può proprio fare a meno (per la gestione dei tipi di dato) ma troppo complicato per essere utilizzato nel pieno delle sue potenzialità. Certo non si può affermare che Schema abbia semplificato la vita a chi utilizzava DTD, ma sicuramente si può affermare che si tratta di uno strumento potente ed abbastanza flessibile. Si può utilizzare Schema in maniera minimale come suggerito in [7], oppure cercare di sfruttarlo pienamente, magari con l aiuto di un tool. La scelta resta, come sempre, a chi progetta l applicazione. Molte altre informazioni su Schema e SOAP possono essere reperite sui Riferimenti che seguono quest articolo. BIBLIOGRAFIA [1] M. Ashok, M. Murray Schema Requirements, W3C, 1999 [2] D. C. Fallside Schema Part 0: Primer, W3C, 2001 [3] H. Thompson, D. Beech, M. Maloney, N. Mendelsohn Schema Part 1: Structures, W3C, 2001 [4] P. V. Biron, A. Malhotra Schema Part 2: Datatypes, W3C, 2001 [5] A. Brown, M. Fuchs, J. Robie, P. Wadler Schema: Formal Description, W3C, 2001 [6] E. van der Vlist Using W3C Schema,.com, 2000 [7] K. Kawaguchi W3C Schema Made Simple,.com, 2001 [8] D. Smith Understanding W3C Schema Complex Types,.com, 2001 [9] D. Box A Brief History of SOAP,.com, 2001 RIFERIMENTI [10] - Home page di W3C Schema [11] - Home page di W3C Protocol, cioè SOAP [12] - Articoli su Schema [13] - Articoli su Protocol, tra cui SOAP 53

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

Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico.

Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico. Uno XML Schema è un documento XML che descrive la grammatica di un linguaggio XML utilizzando un linguaggio di markup specifico. In quanto documento XML, uno XML Schema ha un root element che contiene

Dettagli

Tecnologie Web T XML Schema

Tecnologie Web T XML Schema Tecnologie Web T Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 2.03.XMLSchema.pdf Versione elettronica: 2.03.XMLSchema-2p.pdf 1 Che cos è? È un alternativa ai DTD basata

Dettagli

I Formati per l'interscambio dei Dati XML, Json, YAML,...

I Formati per l'interscambio dei Dati XML, Json, YAML,... I Formati per l'interscambio dei Dati XML, Json, YAML,... Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide Title Il progenitore: XDR 2 Slide Il linguaggio Title XDR /* dir.x:

Dettagli

Sommario. Oggi esaminiamo in breve XML Schema

Sommario. Oggi esaminiamo in breve XML Schema XML Schema Sommario Oggi esaminiamo in breve XML Schema Perché non bastano i DTD Tipi ed elementi Definizione di elementi ed attributi Altri aspetti rilevanti di XML Schema 2 Motivazione (1) Inizialmente

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

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

Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico XML. Rocco Tripodi

Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico XML. Rocco Tripodi Università Ca Foscari di Venezia Linguistica Informatica Mod. 1 Anno Accademico 2010-2011 XML Rocco Tripodi rocco@unive.it Linguaggi dichiarativi: XML extensible Markup Language meta linguaggio che consente

Dettagli

- c.f.-p.iva PEC

- c.f.-p.iva PEC SETTORE SPORTELLO UNICO PER L EDILIZIA RESIDENZIALE E PRODUTTIVA APPALTO PER IL SERVIZIO DI DIGITALIZZAZIONE, CUSTODIA E CONSERVAZIONE DEGLI ARCHIVI DELLE PRATICHE EDILIZIE DEL COMUNE DI RIMINI ALLEGATO

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

Tecniche Multimediali

Tecniche Multimediali È più facile modificare le esigenze in funzione del programma che viceversa. Non c è linguaggio in cui sia difficile scrivere cattivi programmi. Le tue esigenze si espandono fino a tutte quelle che può

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

Gestione dipendenti pubblici

Gestione dipendenti pubblici Allegato_Tecnico Gestione dipendenti pubblici SISTEMA INFORMATIVO COOPERAZIONE CON GLI ENTI DI PATRONATO PER LA ISTRUTTORIA RELATIVA ALLE DOMANDE DI PRESTAZIONI PENSIONISTICHE E NON PENSIONISTICHE NOTA

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

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

Di 1. Capitolo 1: Iniziare con xsd 2. Osservazioni 2. Versioni 2. Examples 2. Installazione o configurazione 2. Capitolo 2: xs: complextype 4

Di 1. Capitolo 1: Iniziare con xsd 2. Osservazioni 2. Versioni 2. Examples 2. Installazione o configurazione 2. Capitolo 2: xs: complextype 4 xsd #xsd Sommario Di 1 Capitolo 1: Iniziare con xsd 2 Osservazioni 2 Versioni 2 Examples 2 Installazione o configurazione 2 Capitolo 2: xs: complextype 4 introduzione 4 Parametri 4 Osservazioni 5 Examples

Dettagli

GAUDI SSPC: Tracciato XSD flussi G41-G42-G43 Gestore di rete GAUDI-SSPC GESTIONE FLUSSI G41 G42 - G43

GAUDI SSPC: Tracciato XSD flussi G41-G42-G43 Gestore di rete GAUDI-SSPC GESTIONE FLUSSI G41 G42 - G43 GAUDI-SSPC GESTIONE FLUSSI G41 G42 - G43 Descrizione Tracciati File XSD Terna per Gestore di rete Pagina 1 di 18 Sommario 1 INTRODUZIONE... 4 1.1 AMBITO DI RIFERIMENTO E DESCRIZIONE DEL DOCUMENTO... 4

Dettagli

Schema gestionesegnalazioni.xsd

Schema gestionesegnalazioni.xsd Schema gestionesegnalazioni.xsd Elements Complex types Simple types flusso assegnocartaceo ruolodelsoggettoindicato assegnodigitale docnonfirmato firmatariintestatari flusso luogoemissione personafisica

Dettagli

Linguaggio di Riferimento: C

Linguaggio di Riferimento: C Programmazione procedurale Linguaggio di Riferimento: C 1 Linguaggio macchina Il linguaggio macchina costituisce la forma espressiva atta a descrivere programmi e ad essere direttamente interpretata dall

Dettagli

Allegato 5 METADATI BOZZA

Allegato 5 METADATI BOZZA Allegato 5 METADATI Pagina 1 di 7 Indice 1 INTRODUZIONE... 3 2 METADATI MINIMI DEL DOCUMENTO INFORMATICO... 3 3 METADATI MINIMI DEL DOCUMENTO AMMINISTRATIVO INFORMATICO... 5 4 METADATI MINIMI DEL FASCICOLO

Dettagli

Validare il codice è davvero necessario?

Validare il codice è davvero necessario? Validare il codice è davvero necessario? Validare il codice. É la mania di chi tende al perfezionismo e scrive il codice con un accuratezza quasi maniacale quello di vedere il segno di spunta verde che

Dettagli

Specifiche di interfaccia applicativa per l invio delle pratiche protesti

Specifiche di interfaccia applicativa per l invio delle pratiche protesti ALLEGATO A Specifiche di interfaccia applicativa per l invio delle pratiche protesti come da DM 14 novembre 2018 art. 2 comma 5 Versione 1.0 Maggio 2019 Indice 1 Introduzione al documento... 3 1.1 Scopo

Dettagli

Specifiche tecniche. Allegato C

Specifiche tecniche. Allegato C 1/47 SISTEMA INDENNITARIO SEMPLIFICATO Specifiche tecniche Allegato C 2/47 Sommario 1 Introduzione...3 2 Schemi XML...4 2.1 Struttura flussi...5 2.2 Definizioni comuni...6 2.3 FlussiSI1 Gestione della

Dettagli

Tecnologie Web T XML Schema

Tecnologie Web T XML Schema Tecnologie Web T Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione elettronica: 2.03.XMLSchema.pdf Versione elettronica: 2.03.XMLSchema-2p.pdf 1 Che cos è? È un alternativa ai DTD basata

Dettagli

Tecnologie Web T DTD Document Type Definition

Tecnologie Web T DTD Document Type Definition Tecnologie Web T Document Type Definition Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 2.02.XML-.pdf Versione elettronica: 2.02.XML--2p.pdf 1 Che cos è? : Document

Dettagli

Elenchi puntati e numerati

Elenchi puntati e numerati Elenchi puntati e numerati Gli elenchi giocano un ruolo molto importante nei testi, ma anche nella definizione di elementi strutturali delle pagine HTML. Dal punto di vista dell organizzazione del testo

Dettagli

Specifiche tecniche. Allegato C.1

Specifiche tecniche. Allegato C.1 1/41 Specifiche tecniche Allegato C.1 2/41 Sommario 1 Introduzione... 3 2 Schemi XML... 4 2.1 Definizioni comuni... 5 2.2 FlussiSI1 Gestione della richiesta di indennizzo... 7 2.3 Flussi AS1 Annullamento

Dettagli

Allegato 2 Struttura di ComunicazioniSoggetti.xml. Schema. Pagina 1 di 7

Allegato 2 Struttura di ComunicazioniSoggetti.xml. Schema. Pagina 1 di 7 Allegato 2 Struttura di ComunicazioniSoggetti.xml Schema Pagina 1 di 7 TipiBaseReGIndE.xsd

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

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

2010 I.C.F. CAMPIONATI DEL MONDO CANOA POLO - Programma

2010 I.C.F. CAMPIONATI DEL MONDO CANOA POLO - Programma Mercoledì 1 Settembre (1 Girone) 09.00 Uomini A Netherlands Japan Uomini B France South Africa Uomini C ltaly China Taipei Uomini D Australia Belgium 09.30 Uomini A New Zealand USA Uomini B Germany Sweden

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

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 2.0

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 2.0 Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML Versione 2.0 1 Sommario Sommario... 2 1. Istruzioni operative... 3 2. Struttura del file XML...

Dettagli

Allegato 3 Struttura di Esiti.xml. Schema

Allegato 3 Struttura di Esiti.xml. Schema Allegato 3 Struttura di Esiti.xml Schema Esiti.xsd

Dettagli

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 3.0

Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML. Versione 3.0 Sistema DE.PRO.EM. Istruzioni per il caricamento delle informazioni relative ai prodotti tramite file XML Versione 3.0 1 Sommario Sommario... 2 1. Istruzioni operative... 3 2. Struttura del file XML...

Dettagli

Tecnologie Web T DTD Document Type Definition

Tecnologie Web T DTD Document Type Definition Tecnologie Web T Document Type Definition Home Page del corso: http://www-db.disi.unibo.it/courses/tw/ Versione elettronica: 2.02.XML-.pdf Versione elettronica: 2.02.XML--2p.pdf 1 Che cos è? : Document

Dettagli

Adeguamento template fatture elettroniche per dispositivi medici

Adeguamento template fatture elettroniche per dispositivi medici Adeguamento template fatture elettroniche per dispositivi medici Nell esempio sotto riportato sono stati configurati gli attributi estesi per memorizzare i dati relativi ai DM: Codice Tipo Codice Valore

Dettagli

Unità 3. Modello Relazionale

Unità 3. Modello Relazionale Unità 3 Modello Relazionale Modello Logico Modelli logico che deriva da concetti Matematici Permette di descrivere in modo corretto ed efficiente tutte le informazioni contenute nel modello E/R Meno astrato

Dettagli

Basi di Dati: Introduzione

Basi di Dati: Introduzione Basi di Dati: Introduzione Tutte le organizzazioni trattano informazioni che vanno individuate, raccolte e memorizzate per RECUPERARLE AGGIUNGERLE MODIFICARLE CANCELLARLE Necessità nata molto prima dell

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

Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi.

Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi. XML: XPath XPath, acronimo di XML Path Language è un linguaggio il cui scopo è quello di identificare particolari nodi o set di nodi all'interno di un documento XML. Il documento XML ha per sua natura

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

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

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

ALLEGATO B. Specifiche tecniche per la trasmissione telematica della dichiarazione dell imposta. sostitutiva sui finanziamenti

ALLEGATO B. Specifiche tecniche per la trasmissione telematica della dichiarazione dell imposta. sostitutiva sui finanziamenti ALLEGATO B INDICE 1. AVVERTENZE GENERALI... 3 1.1 BREVI CENNI SUL LINGUAGGIO XML... 3 2. CONTENUTO DELLA FORNITURA... 5 2.1 GENERALITÀ... 5 2.2 IL TRATTAMENTO DEL CODICE FISCALE... 6 2.3 NAMESPACES...

Dettagli

Foglio Elettronico Lezione 1

Foglio Elettronico Lezione 1 - Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica Entità Ogni entità ha un nome che la identifica univocamente nello schema: I nomi devono essere per quanto possibile espressivi Convenzioni Si usa il singolare Si rappresenta di solito con un rettangolo

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

Alessandra Raffaetà. La costruzione di una base di dati

Alessandra Raffaetà. La costruzione di una base di dati Lezione 4 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia La costruzione

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

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688 Sicurezza e Permission in Android La sicurezza al giorno d oggi è uno degli aspetti più importanti dell informatica!

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

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere

Dettagli

DOCUMENTO ARCHITETTURALE ARPA-BRIDGE

DOCUMENTO ARCHITETTURALE ARPA-BRIDGE Contratto: Modulo: Sistema: Nota: A solo uso interno della Regione Toscana - Ufficio Ingegneria dei sistemi informativi e della comunicazione. Versione documento: 1.0 DOCUMENTO ARCHITETTURALE Livelli di

Dettagli

ALLEGATO A. Specifiche tecniche per la trasmissione telematica Modello Iva 74 bis

ALLEGATO A. Specifiche tecniche per la trasmissione telematica Modello Iva 74 bis ALLEGATO A Specifiche tecniche per la trasmissione telematica Modello Iva 74 bis CONTENUTO E CARATTERISTICHE TECNICHE DEI DATI DELLE DICHIARAZIONI IVA 74 BIS DA TRASMETTERE ALLA AGENZIA DELLE ENTRATE IN

Dettagli

Linguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano

Linguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano Linguaggi di Markup Violetta Lonati a Dipartimento Scienze dell Informazione Università degli Studi di Milano a E garantito il permesso di copiare, distribuire e/o modificare i materiali cont enuti in

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

IL DIRETTORE DELL AGENZIA. In base alle attribuzioni conferitegli dalle norme riportate nel seguito del presente provvedimento.

IL DIRETTORE DELL AGENZIA. In base alle attribuzioni conferitegli dalle norme riportate nel seguito del presente provvedimento. Provv. n. 59259 Approvazione delle specifiche tecniche per la trasmissione alle Regioni e alle Province autonome di Trento e Bolzano dei dati relativi alla dichiarazione Irap 2017 IL DIRETTORE DELL AGENZIA

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

RDF. Resource Description Framework

RDF. Resource Description Framework RDF Resource Description Framework 1 Sommario 1) Cos è l RDF RDF Model and Syntax RDF Schema 2) Il data model RDF definizione di risorsa, proprietà e statement esempio 1 esempio 2 2 3) Combinazione RDF

Dettagli

Il modello RDF. Pasquale Savino ISTI-CNR. Biblioteche Digitali Metadati

Il modello RDF. Pasquale Savino ISTI-CNR. Biblioteche Digitali Metadati Il modello RDF 1 Introduzione al modello RDF [1/6] RDF (Resource Description Framework) è un modello di riferimento per descrivere metadati a supporto del riuso e dello scambio tra applicazioni diverse

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

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

TECN.PROG.SIST.INF. XML. Roberta Gerboni

TECN.PROG.SIST.INF. XML. Roberta Gerboni Roberta Gerboni Introduzione Lo sviluppo tecnologico relativo alle reti il crescente sviluppo della distribuzione di hardware per la comunicazione hanno reso necessaria Semantic Web significa un Web comprensibile

Dettagli

Makefile. Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze)

Makefile. Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze) Makefile Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze) 1 makefile: idea di fondo (1) Permette di esprimere dipendenze fra file

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende

Dettagli

DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica DATABASE MODELLAZIONE DATI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI Informatica Modello e strutture dati Un modello di dati consiste in una rappresentazione astratta delle strutture

Dettagli

L uso delle tecnologie informatiche per il trattamento dell informazione e della comunicazione archivistica

L uso delle tecnologie informatiche per il trattamento dell informazione e della comunicazione archivistica L uso delle tecnologie informatiche per il trattamento dell informazione e della comunicazione archivistica Archivio di Stato di Perugia Scuola di Archivistica, Paleografia e Diplomatica 15 gennaio 2013

Dettagli

Video Tutor Intelligente per la Visita a Siti Web

Video Tutor Intelligente per la Visita a Siti Web Politecnico di Torino Facoltà di Ingegneria dell Informazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Video Tutor Intelligente per la Visita a Siti Web Candidato: Antonietto Eraldo Relatore:

Dettagli

Access. P a r t e t e r z a

Access. P a r t e t e r z a Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,

Dettagli

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello:

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: Vincoli In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: ogni istanza di relazione deve riferirsi ad istanze di

Dettagli

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale Le basi di dati Lez. 2: Progettazione di un DB Cos è un dato? Un dato (dal latino datum) è la descrizione elementare di una cosa, di un avvenimento. Un dato è utilizzabile se esiste una chiave di interpretazione.

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

Analisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser

Analisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser Ruolo del parser Analisi 1 1 Dipartimento di Matematica e Informatica Universitá di Camerino mariarita.diberardini@unicam.it Ruolo del parser Ruolo dell analisi sintattica Ruolo del parser Metodologie

Dettagli

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI LE BASI DI DATI Prima parte Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura

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

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione ModelloEntity-Relationship. E-R E il modello concettuale più diffuso Fornisce costrutti per descrivere le

Dettagli

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale I Dati biblioteca: contiene piu libro e schede prestito libro: identificato da un codice univoco, presenta un titolo, un autore formato da nome e cognome, un editore ed alcune parole chiave. Inoltre mantiene

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

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

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Addio mondo crudele! Introduzione a XHTML. Versioni. Da SGML a HTML

Addio mondo crudele! Introduzione a XHTML. Versioni. Da SGML a HTML Addio mondo crudele! Introduzione a XHTML Prof. Ing. Andrea Omicini II Facoltà di Ingegneria, Cesena Alma Mater Studiorum, Università di Bologna andrea.omicini@unibo.it

Dettagli

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

Specifiche struttura del file dei rilievi Descrizione e XML Schema

Specifiche struttura del file dei rilievi Descrizione e XML Schema Specifiche struttura del file dei rilievi Descrizione e XML Schema Contenuti CONTENUTI...2 1 INTRODUZIONE...3 2 MODELLO INFORMATIVO...4 3 APPENDICE...7 3.1 APPENDICE A XSD...7 3.1.1 Remark.xsd...7 2 1

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2) Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1

Dettagli

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle Tutti i linguaggi che possono essere

Dettagli

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento

Dettagli

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di

Dettagli

ALLEGATO B. Specifiche tecniche per la trasmissione telematica della dichiarazione dell imposta. di bollo assolta in modo virtuale

ALLEGATO B. Specifiche tecniche per la trasmissione telematica della dichiarazione dell imposta. di bollo assolta in modo virtuale ALLEGATO B Specifiche tecniche per la trasmissione telematica della dichiarazione dell imposta di bollo CONTENUTO E CARATTERISTICHE TECNICHE DEI DATI DELLE DICHIARAZIONI DELL IMPOSTA DI BOLLO ASSOLTA IN

Dettagli

Elenchi OL, gli elenchi ordinati (o elenchi numerati)

Elenchi OL, gli elenchi ordinati (o elenchi numerati) 04 HTML elenchi Prof. Sabato Dario Pagina 1 di 5 Elenchi OL, gli elenchi ordinati (o elenchi numerati) Gli elenchi ordinati sono contraddistinti dall enumerazione degli elementi che compongono la lista.

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

Scheme: liste e vettori

Scheme: liste e vettori a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Scheme: liste e vettori Liste e coppie.......................................... 2451 Dichiarazione di

Dettagli

Il modello relazionale. A. Ferrari

Il modello relazionale. A. Ferrari Il modello relazionale A. Ferrari Progettazione logica relazionale La progettazione logica relazionale consiste nella conversione di un diagramma E/R in un insieme di relazioni (o tabelle), che costituisce

Dettagli

Il Sistema Bus KNX. Standard mondiale ISO/IEC Milano, 14 dicembre Renato Ricci Diego Pastore

Il Sistema Bus KNX. Standard mondiale ISO/IEC Milano, 14 dicembre Renato Ricci Diego Pastore Il Sistema Bus KNX Standard mondiale ISO/IEC 14543-3 Renato Ricci Diego Pastore Milano, 14 dicembre 2012 KNX: I pilastri Certificazione la Certificazione KNX garantisce un alto livello di qualità ai prodotti

Dettagli