Elementi di modellazione e programmazione di contenuti digitali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elementi di modellazione e programmazione di contenuti digitali"

Transcript

1 Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Ing. Michea Paoucci Department of Systems and Informatics University of Forence Via S. Marta 3, 50139, Firenze, Itay te: , fax: Lab: DISIT, Sistemi Distribuiti e Tecnoogie Internet paoucci@dsi.unifi.it

2 Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Parte I : Xm Introduzione e definizione di documento xm Parte II: dtd e xm-schema Parte III: Esercitazione 2

3 XML parte I: Introduzione e definizione dei documenti xm 3

4 XML: cosa è XML: Extensibe Markup Language: è un inguaggio che consente a rappresentazione di documenti e dati strutturati su supporto digitae è uno dei più potenti e versatii sistemi per a creazione, archiviazione, preservazione e disseminazione di documenti digitai ma a sua sintassi rigorosa e a contempo fessibie ne rende possibie appicazione anche nea rappresentazione di dati strutturati, fornendo una souzione aternativa ai tradizionai sistemi DBMS reazionai 4

5 XML: e origini XML è stato sviuppato da Word Wide Web Consortium ( Le specifiche sono state riasciate come W3C Recommendation ne 1998 e aggiornate ne 2008 XML deriva da SGML (Standard Generaized Markup Language), un inguaggio di mark-up dichiarativo sviuppato daa Internationa Standardization Organization (ISO), e pubbicato ufficiamente ne 1986 con a siga ISO 8879 XML nasce come un sottoinsieme sempificato di SGML orientato aa utiizzazione su Word Wide Web ma ha assunto ormai un ruoo autonomo e una diffusione ben maggiore de suo progenitore XML é abbastanza generae per poter essere utiizzato nei più disparati contesti: daa definizione dea struttura di documenti ao scambio di informazioni tra sistemi diversi, daa rappresentazione di immagini aa definizione di formati di dati. 5

6 XML: caratteristiche (1) XML è un metainguaggio di mark-up, cioè un inguaggio che permette di definire sintatticamente atri inguaggi di mark-up. XML permette di espicitare a (e) struttura(e) di un documento in modo formae mediante marcatori (mark-up) che vanno incusi a interno de testo (character data) A differenza di HTML, XML non ha tag predefiniti e non serve per definire pagine Web né per programmare: serve escusivamente per definire atri inguaggi. In reatà, XML non è atro che un insieme standard di regoe sintattiche per modeare a struttura di documenti e dati. Questo insieme di regoe, dette specifiche, definiscono e modaità secondo cui è possibie crearsi un proprio inguaggio di markup. Le specifiche ufficiai sono state definite da W3C (Wor Wide Web Consortium, 6

7 I concetto di metainguaggio XML è un metainguaggio XML definisce un insieme regoe (meta)sintattiche, attraverso e quai è possibie descrivere formamente un inguaggio di markup, detto appicazione XML ogni appicazione XML eredita un insieme di caratteristiche sintattiche comuni ogni appicazione XML a sua vota definisce una sintassi formae particoare ogni appicazione XML è dotata di una semantica specificata in modo non formae 7

8 XML: caratteristiche (2) XML è indipendente da tipo di piattaforma hardware e software su cui viene utiizzato XML permette a rappresentazione di quasiasi tipo di documento (e di struttura testuae) indipendentemente dae finaità appicative XML è indipendente dai dispositivi di archiviazione e visuaizzazione un documento XML può essere archiviato su quasiasi tipo di supporto digitae (attuae e futuro!) un documento XML può essere visuaizzato su quasiasi dispositivo di output 8

9 XML: caratteristiche (3) XML può essere usato per a rappresentazione di dati strutturati (archivi, tabee, matrici) in aternativa ai formati di database tradizionai XML è uno standard di pubbico dominio ogni software conforme XML è in grado di gestire dati in formato XML sono disponibii numerose appicazioni e ibrerie open source per a manipoazione di dati in formato XML basate su diversi inguaggi di programmazione (Java, C, Python, Per ) una appicazione in grado di eaborare dati in formato XML viene definita eaboratore XML 9

10 XML: caratteristiche (4) XML adotta un formato di fie di tipo testuae: sia i markup sia i testo sono stringhe di caratteri XML si basa su sistema di codifica dei caratteri ISO 10646/UNICODE Un documento XML è eggibie da un utente umano senza a mediazione di software specifico Concretamente, un documento XML è un fie di testo che contiene una serie di tag, attributi e testo secondo regoe sintattiche ben definite. 10

11 Esempio: articoo <?xm version="1.0"?> <articoo titoo="titoo de'articoo"> <paragrafo titoo="titoo de primo paragrafo"> <testo> Bocco di testo de primo paragrafo </testo> <immagine fie="immagine1.jpg"> </immagine> </paragrafo> <paragrafo titoo="titoo de secondo paragrafo"> <testo> Bocco di testo de secondo paragrafo </testo> <codice> Esempio di codice </codice> <testo> Atro bocco di testo </testo> </paragrafo> <paragrafo tipo="bibiografia"> <testo> Riferimento ad un articoo </testo> </paragrafo> </articoo> 11

12 XML: caratteristiche (5) On-ine WWW Fie XML <Tite> Titoo </tite> <p>paragarafo.. <p>paragrafo Carta CD-ROM DBMS NATIVI O RELAZIONALI DOCUMENT MANAGEMENT SYSTEMS 12

13 XML: principi fondamentai XML è un metainguaggio XML descrive un documento come una struttura ad abero XML introduce i concetto di tipo di documento e di sintassi de documento XML si basa su ISO /UNICODE 13

14 La struttura gerarchica ordinata testo? frontespizio? introduzione corpo + capitoo? appendice + titoo + paragrafo? titoo + paragrafo titoo + paragrafo titoo autore * * PCDATA enfasi citazione PCDATA enfasi citazione 14

15 I concetto di tipo di documento (2) La struttura ad abero de tipo di documento determina a sintassi de inguaggio di mark-up XML La sintassi di un tipo di documento deve essere espressa impicitamente (mediante i mark-up) in ogni documento XML La definizione formae dea sintassi di un tipo di documento XML può essere espressa espicitamente in una Document Type Definition (DTD) o un XML Schema 15

16 Document Type Definition Un DTD è costituito da un eenco di dichiarazioni (mark-up decaration) che descrivono a struttura de documento Le dichiarazioni di un DTD definiscono: gi eementi strutturai (eement) di un documento mediante un identificatore generico i modeo di contenuto di ogni eemento (content mode) ovvero gi eementi che contiene ed i oro rapporti (un eemento può essere vuoto) a ista degi attributi associati a ciascun eemento e i oro tipo XML non fornisce acun modo per definire a semantica di un DTD 16

17 Strutture XML: gi eementi (1) I componenti strutturai di un documento sono denominati eementi (eement) Ogni nodo de abero de tipo di documento è un (tipo di) eemento Ogni (tipo di) eemento è dotato di un nome (detto identificatore generico) che o identifica Ciascun (tipo di) eemento rappresenta un componente ogico de documento e può contenere atri (tipi di) eementi (sottoeementi) o de testo L'organizzazione degi eementi segue un ordine gerarchico (ad abero) che prevede un eemento principae, chiamato root eement o radice. La radice contiene 'insieme degi atri eementi de documento E possibie rappresentare graficamente a struttura di un documento XML tramite un abero, generamente noto come document tree 17

18 Strutture XML: gi eementi (2) Esiste uno e uno soo eemento radice (corrispondente a nodo radice de abero), che non è contenuto da nessun atro e che contiene direttamente o indirettamente tutti gi atri Ogni eemento, escuso eemento radice, deve essere contenuto da un soo eemento (eemento padre) e può contenere atri sotto-eementi (eementi figi) e/o stringhe di caratteri Esiste un sottoinsieme di eementi che non contengono atri eementi e che possono essere vuoti contenere escusivamente stringhe di caratteri I (tipi di) eementi possono avere associate atre informazioni che ne descrivono e proprietà. Queste informazioni sono chiamate attributi. 18

19 Strutture XML: gi attributi Ad ogni eemento possono essere associati uno o più attributi che ne specificano uteriori caratteristiche o proprietà non strutturai. Ad esempio: a ingua de suo contenuto testuae un identificatore univoco un numero di ordine etc. Gi attributi XML sono caratterizzati da: un nome che i identifica un vaore I vaore di un attributo può avere un tipo espicitato nea DTD Se un documento XML è soo ben formato, tutti i vaori degi attributi sono di tipo CDATA 19

20 Strutture XML: e entità (1) Un documento XML (in quanto oggetto digitae) ha una struttura fisica Da punto di vista fisico un documento è composto da unità di archiviazione che sono denominate entità (entity) Esiste ameno una entità in ogni documento XML: a document entity, che contiene i documento stesso In generae una entità è una quasiasi sequenza di byte considerata indipendentemente daa sua funzione strutturae un singoo carattere UNICODE una stringa di testo XML (caratteri e mark-up) un intero fie XML esterno un intero fie non XML (es. immagini digitai, etc.) È possibie ad esempio rappresentare ne contenuto di un documento caratteri non presenti sua tastiera mediante entità 20

21 Strutture XML: e entità (2) Le entità vanno definite con apposite dichiarazioni ne DTD (o ne XML-schema) Una entità ha un nome e un contenuto In un documento inserimento di una entità avviene mediante un riferimento a entità che ne specifica i nome Un processore XML sostituirà automaticamente i contenuto de entità a posto de riferimento 21

22 Esempio: articoo <?xm version="1.0"?> <articoo titoo="titoo de'articoo"> <paragrafo titoo="titoo de primo paragrafo"> <testo> Bocco di testo de primo paragrafo </testo> <immagine fie="immagine1.jpg"> </immagine> </paragrafo> <paragrafo titoo="titoo de secondo paragrafo"> <testo> Bocco di testo de secondo paragrafo </testo> <codice> Esempio di codice </codice> <testo> Atro bocco di testo </testo> </paragrafo> <paragrafo tipo="bibiografia"> <testo> Riferimento ad un articoo </testo> </paragrafo> </articoo> La struttura ogica di un documento XML dipende dae scete progettuai. Siamo noi a decidere come organizzare gi eementi a'interno di un documento XML. La struttura ogica di un documento XML viene tradotta in una corrispondente struttura fisica composta di eementi sintattici chiamati tag. A differenza de'html in cui i tag sono predefiniti, XML ci ascia iberi di definire i tag che vogiamo. L'organizzazione gerarchica degi eementi viene rappresentata in XML tramite i oro annidamento. 22

23 XML: documenti ben formati e vaidi (1) XML richiede un certo rigore sugi aspetti sintattici Ogni documento XML deve essere ben formato (we formed) Un documento, in generae, è ben formato se: a sua struttura è impicita ne markup rispetta i vincoi di buona formazione indicati nee specifiche Più in dettagio: Ogni documento XML deve contenere un unico eemento di massimo iveo (root) che contenga tutti gi atri eementi de documento. Le soe parti di XML che possono stare a'esterno di questo eemento sono i commenti e e direttive di eaborazione (per esempio, a dichiarazione dea versione di XML) Ogni eemento deve avere un tag di chiusura o, se vuoti, possono prevedere a forma abbreviata (/>) Gi eementi devono essere opportunamente nidificati, cioè i tag di chiusura devono seguire 'ordine inverso dei rispettivi tag di apertura XML fa distinzione tra maiuscoe e minuscoe, per cui i nomi dei tag e degi attributi devono coincidere nei tag di apertura e chiusura anche in reazione a questo aspetto I vaori degi attributi devono sempre essere racchiusi tra singoi o doppi apici Un documento XML ben formato non richiede a presenza di un DTD o xm-schema 23

24 XML: documenti ben formati e vaidi (1) Otre ad essere ben formato un documento XML può anche essere vaido Per stabiire a vaidità di un documento xm è necessario definire una grammatica (tipo di documento) per i inguaggio di mark-up che abbiamo ideato, a cui poi si farà riferimento per a vaidazione de documento xm Una grammatica è un insieme di regoe che indica quai vocaboi (eementi) possono essere utiizzati e con che struttura è possibie comporre frasi (documenti) 24

25 XML: documenti ben formati e vaidi (2) Una grammatica definisce uno specifico inguaggio di mark-up => Se un documento XML rispetta e regoe definite da una grammatica è detto vaido per un particoare inguaggio. Un documento ben formato può non essere vaido rispetto ad una grammatica, mentre un documento vaido è necessariamente ben formato Un documento vaido per una grammatica può non essere vaido per un'atra grammatica Una grammatica si definisce attraverso i due principai approcci: Dtd - Document Type Definition XML Schema. ben formato vaido 25

26 XML: documenti ben formati e vaidi (3) Un documento è vaido se: si riferisce a una DTD espicita mediante un Doctype decaration (o ad un xm-schema) Soddisfa i vincoi sintattici de DTD o xm-schema (nome, sequenza, occorrenze ed attributi degi eementi) I controo di vaidità viene effettuato da un apposito programma detto parser I parser si possono dividere in due categorie: parser non vaidante: verifica sotanto se un documento è ben formato parser vaidante: otre a verificare che un documento sia ben formato, verifica anche se è corretto rispetto ad una data grammatica (dtd o xm-schema) La maggior parte degi editor XML più recenti ha un parser integrato o si appoggia su parser esterni per effettuare a convaida dei documenti. 26

27 Come si crea un documento XML Un documento XML contiene i mark-up (sotto forma di coppie di tag) che rappresenta inearmente a struttura gerarchica degi eementi, i oro eventuai attributi, e i caratteri de testo L inserimento di mark-up e caratteri deve rispettare i vincoi di buona formazione indicati nee specifiche XML Un documento vaido deve rispettare anche i vincoi sintattici definiti ne DTD o xm-schema 27

28 Aspetti di sintassi generae e vincoi Un documento XML è una stringa di caratteri UNICODE in codifica UTF-8 o UTF-16 ( I nomi di eementi, attributi e entità sono sensibii aa differenza tra maiuscoo e minuscoo I mark-up è separato da contenuto testuae mediante caratteri speciai: < > & Vincoi di buona formazione: I caratteri speciai non possono comparire come contenuto testuae e devono essere eventuamente sostituiti mediante i riferimenti a entità &t; > & Esiste un soo eemento radice Tutti gi eementi non vuoti devono presentare sia i tag iniziae sia i tag finae Tutti gi eementi devono essere correttamente annidati Tutti i vaori di attributo devono essere racchiusi tra apici doppi o singoi 28

29 XML: documenti ben formati (1) Anche a sceta dei nomi dei tag deve seguire acune regoe: Un tag può iniziare con un ettera o un underscore (_) e può contenere ettere, numeri, i punto, 'underscore (_) o i trattino (-). Non sono ammessi spazi o atri caratteri. XML è sensibie a'uso di maiuscoo e minuscoo, quindi i tag <prova> e <Prova> sono considerati diversi. Per quanto riguarda i contenuto: un documento XML può contenere potenziamente quasiasi carattere de'afabeto atino, cifre e punteggiatura. Normamente vengono accettati come caratteri vaidi in un documento XML i primi 128 caratteri dea codifica ASCII (ettere de'afabeto atino minuscoe e maiuscoe, cifre, segni di punteggiatura, ecc.) Se un documento contiene caratteri che non rientrano tra questi (es.: ettere accentate, simboi di vauta, ecc.) è necessario specificare o schema di codifica utiizzato tramite eementi speciai detti direttive di eaborazione o processing instruction es: <?xm version="1.0" encoding="iso "?> Le specifiche di XML prevedono espicitamente a possibiità di utiizzare a codifica Unicode per rappresentare anche caratteri non atini, come ad esempio i caratteri greci, ciriici, gi ideogrammi cinesi e giapponesi. 29

30 XML: documenti ben formati (2) Otre ae direttive di eaborazione, in un documento XML possiamo trovare i commenti che seguono a stessa sintassi de'html, sono cioè racchiusi tra e sequenze di caratteri <!-- e --> e possono trovarsi in quasiasi punto de documento. Potrebbe essere necessario inserire in un documento XML dei caratteri particoari che potrebbero rendero non ben formato. Ad esempio, se dobbiamo inserire de testo che contiene i simboo <, corriamo i rischio che possa venire interpretato come 'inizio di un nuovo tag, come ne seguente esempio: <testo> i simboo < indica minore di </testo> in questo caso, XML prevede uso dee entità che consentono di sostituire atri caratteri. Cinque entità sono predefinite e consentono 'uso di atrettanti caratteri riservati a'interno di un documento: & definisce i carattere & &t; definisce i carattere < > definisce i carattere > " definisce i carattere " &apos; definisce i carattere ' Sfruttando e entità, 'esempio precedente diventa: <testo> i simboo &t; indica minore di </testo> 30

31 XML: documenti ben formati (3) In acune situazioni gi eementi da sostituire con e entità possono essere moti, i che rischia di rendere ieggibie i testo (not human readabe). Si consideri i caso in cui un bocco di testo iustri proprio de codice XML: <codice> <ibro> <capitoo> </capitoo> </ibro> </codice> In questo caso, a posto di sostituire tutte e occorrenze dei simboi speciai con e corrispondenti entità è possibie utiizzare una sezione CDATA (un bocco di info che viene considerato sempre come testo) Per indicare una sezione CDATA è sufficiente racchiudera tra e sequenze di caratteri <![CDATA[ e ]]>: <codice> <![CDATA[ <ibro> <capitoo> </capitoo> </ibro> ]]> </codice> 31

32 La forma di un documento XML Ogni documento XML inizia con un proogo che contiene: una XML decaration eventuamente una Doctype decaration (a dichiarazione dea DTD o de xm-schema a cui i documento si riferisce) eventuamente una serie di processing instruction Forme di XML decaration: <?xm version="1.0"?> <?xm version="1.0 encoding= UTF-8?> 32

33 La codifica degi eementi (1) Ne documento ogni eemento non vuoto (contenente cioè atri eementi o caratteri) deve essere marcato da un tag iniziae e da un tag finae Ogni tag è costituito da caratteri deimitatori e da nome de'eemento Sintassi di un eemento: De. Finae Start tag De. Iniziae End tag <nome>contenuto de eemento</nome> De. Iniziae Start tag De. Finae End tag 33

34 La codifica degi eementi (2) <text> <div1> <p>subito, con e prime paroe che e rivose, voe avvisara che non intendeva compromettersi in una reazione troppo seria </p> <p>la sua famigia? Una soa sorea non ingombrante né fisicamente né moramente, piccoa e paida, di quache anno più giovane di ui </p> </div1> </text> 34

35 La codifica degi eementi (3) La reazione ineare tra i tag rappresenta a reazione gerarchica tra gi eementi Per ogni eemento, se i suo tag iniziae è ne contenuto di un eemento P aora i suo tag finae deve essere ne contenuto de medesimo eemento P Detto atrimenti e coppie di tag devono annidarsi correttamene e mai sovrapporsi 35

36 La codifica degi eementi (4) SBAGLIATO!!! <p>subito, con e prime paroe che e rivose, voe avvisara che non intendeva compromettersi in <emph>una reazione troppo seria </p> <p>la sua famigia?</emph>una soa sorea non ingombrante né fisicamente né moramente, piccoa e paida, di quache anno più giovane di ui </p> CORRETTO!!! <p>subito, con e prime paroe che e rivose, voe avvisara che non intendeva compromettersi in <emph>una reazione troppo seria </emph> </p> <p> <emph>la sua famigia?</emph> Una soa sorea non ingombrante né fisicamente né moramente, piccoa e paida, di quache anno più giovane di ui </p> 36

37 La codifica degi eementi (5) Gi eementi vuoti o sono rappresentati da entrambi i tag <nome_eemento> </nome_eemento> o assumono a seguente forma <nome_eemento/> Esempio: <img src= foo.gif /> 37

38 La codifica degi attributi (1) Ogni eemento XML può avere uno o più attributi Un attributo ha un nome e un vaore, che può assumere diverse tipoogie Gi attributi devono essere associati agi eementi a'interno de tag iniziae dopo identificatore <eemento attributo = "vaore"> contenuto </eemento> Atri eventuai attributi vanno coocati dopo i primo separati da uno o più spazi Non possono esservi più istanze deo stesso attributo per un eemento 38

39 La codifica degi attributi (2) <text resp= Itao Svevo n= Seniità > <div n= 1 > <p id= C1P1 >Subito, con e prime paroe che e rivose, voe avvisara che non intendeva compromettersi in una reazione troppo seria </p> <p id= C1P2 >La sua famigia? Una soa sorea non ingombrante né fisicamente né moramente, piccoa e paida, di quache anno più giovane di ui </p> <pb n= 5 /> 39

40 La codifica dee entità Per definire un'entità personaizzata si utiizza a dichiarazione: <!ENTITY>. I seguente esempio mostra a definizione di un'entità &htm; che rappresenta un'abbreviazione per a stringa HyperText Markup Language: <!ENTITY htm "HyperText Markup Language"> Grazie a questa dichiarazione possiamo utiizzare 'entità &htm; a posto de'intera stringa a'interno de documento XML che fa riferimento a questa grammatica 40

41 I riferimento ae entità L incusione di una entità a interno di un documento SGML si effettua mediante un riferimento a entità (entity reference) La sintassi di un riferimento, vaida sia per entità esterne sia interne, è a seguente &nome_entità; Deimitatore di apertura Deimitatore di chiusura 41

42 I riferimento ae entità In questi esempi i caratteri accentati sono stati sostituiti da riferimenti a entità carattere: <p>la sua famigia? Una soa sorea non ingombrante né fisicamente né moramente, piccoa e paida, di quache anno più giovane di ui </p> <testo> i simboo &t; indica minore di </testo> 42

43 Appicazioni XML rievanti DocBook : DTD per a creazione di manuaistica tecnica curata da consorzio OASIS ( XHTML 1.0: DTD per a creazione di documenti Web reaizzato da W3 Consortium Text Encoding Initiative: DTD per a creazione di testi su supporto digitae in ambito umanistico sviuppata da TEI consortium Encoded Archiva Description: DTD per a descrizione di materiai archivistici reaizzato daa Library of Congress 43

44 Standard correati a XML XML adotta due inguaggi appositamente sviuppati per a specificazione di strutture ipertestuai compesse: XML Linking Specification (XLink) specifica come costruire eementi e attributi di coegamento XML Extended Pointer Specification (XPointer) specifica i sistemi di indirizzamento dee destinazioni di un ink 44

45 Standard correati a XML La presentazione di un documento XML viene controata da uno o più fogi di stie I inguaggi di stie utiizzabii con XML sono Extensibe Styesheet Language (XSL) XPath: seezione e individuazione di nodi XSLT: trasformazione tra aberi XSL-FO: formattazione di pagina Cascading Stye Sheet (CSS) 45

46 Link utii

47 Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Ing. Michea Paoucci Department of Systems and Informatics University of Forence Via S. Marta 3, 50139, Firenze, Itay te: , fax: Lab: DISIT, Sistemi Distribuiti e Tecnoogie Internet paoucci@dsi.unifi.it

48 XML parte II: dtd e XML-schema 48

49 Come definire un dtd Per descrivere un dtd è necessario utiizzare una sintassi particoare, diversa da quea descritta per ifie xm Si ricorda che I dtd definiscono a grammatica mentre i fie xm sono i documenti veri e propri definiti in base ae regoe dea grammatica contenute nei dtd NOTA: NON vedremo a sintassi dei dtd 49

50 Dai DTD agi xm-schema L'uso dei Dtd per definire a grammatica di un inguaggio di markup non sempre è de tutto soddisfacente A parte i fatto che a sintassi utiizzata per definire un Dtd non segue e regoe stesse di XML, i Dtd non consentono di specificare: un tipo di dato per i vaore degi attributi, i numero minimo o massimo di occorrenze di un tag in un documento atre caratteristiche che in determinati contesti consentirebbero di ottenere un controo ancora più accurato sua vaidità di un documento XML Queste imitazioni hanno spinto aa definizione di approcci aternativi per definire grammatiche per documenti XML: tra questi approcci i più noto è XML Schema. 50

51 XMLSchema e DTD XMLSchema è un'aternativa a DTD, rispetto a quae offre numerosi vantaggi: La sintassi usata per scrivere uno schema XML è a stessausata per scrivere un'istanza (cioè un doc XML); Moti più tipi di dati a disposizione (otre 40 invece che 10); Possibiità di definire nuovi tipi di dati (come in SQL), utiizzando concetti simii a quei dea OOP (Object Oriented Programming, derivazione di nuovi tipi da tipi esistenti); Permette di esprimere i concetto di insieme di eementi; Permette di esprimere 'unicità dei vaori; Permette di definire vaori nui. 51

52 Storia XML Schema E una dee attività de working group su XML. Ha prodotto 7 generazioni di working draft, per poi divenire recommendation ne maggio de E diviso in tre parti: XML Schema Part 0: Primer (un introduzione) XML Schema Part 1: Structures (struttura de documento XML Schema) XML Schema Part 2: Datatypes (modeo dei dati e meccanismi di estensione dei tipi) 52

53 Come definire un xm-schema (1) Anaogamente ad un Dtd, un XML Schema è una descrizione formae di una grammatica (tipo di documento) per un inguaggio di mark-up basato su XML Tuttavia, se si ha bisogno di un maggiore controo sugi eementi che possono trovarsi a'interno di uno specifico tipo di documenti XML, i Dtd non risutano più sufficienti un XML-Schema, a differenza di un Dtd che utiizza una propria sintassi specifica, usa a stessa sintassi XML per definire a grammatica di un inguaggio di mark-up Un XML-Schema è un documento XML che descrive a grammatica di un inguaggio XML utiizzando un inguaggio di mark-up specifico 53

54 Come definire un xm-schema (2) In quanto documento XML, un XML Schema ha un root eement che contiene tutte e regoe di definizione dea grammatica La struttura generae di uno schema XML è a seguente: <?xm version="1.0"?> <xs:schema xmns:xs=" Definizione dea grammatica... </xs:schema> L'eemento root de documento è rappresentato da tag <xs:schema> che indica a parser che in questo documento saranno utiizzati dei tag definiti da namespace standard de W3C I namespace rappresentano un meccanismo per identificare tag appartenenti ad una specifica grammatica. Ne nostro caso questi tag speciai sono caratterizzati da prefisso xs: 54

55 Come definire un xm-schema (3) XML-Schema prevede i tag <xs:eement> per a definizione degi eementi utiizzabii in un documento XML, specificando ne'attributo name i nome de reativo tag. A'interno di ciascun tag <xs:eement> si può indicare i tipo di dato de'eemento e definire gi eventuai attributi Ad esempio, a seguente definizione specifica 'eemento testo che può contenere sotanto stringhe: <xs:eement name="testo" type="xs:string"/> 55

56 Formato di un XML-schema Un documento di XML Schema è racchiuso in un eemento <xs:schema>, e può contenere, in varia forma ed ordine, i seguenti eementi: <xs:import> ed <xs:incude> per inserire, in varia forma, atri frammenti di schema da atri documenti <xs:simpetype> e <xs:compextype> per a definizione di tipi denominati usabii in seguito <xs:eement> ed <xs:attribute> per a definizione di eementi ed attributi gobai de documento. <xs:attributegroup> e <xs:group> per definire serie di attributi e gruppi di content mode compessi e denominati. <xs:notation> per definire notazioni non XML a interno di un documento XML <xs:annotation> per esprimere commenti per esseri umani o per appicazioni diverse da parser di XML Schema. 56

57 Tipi di dato sempice e compesso Per comprendere megio ed apprezzare a potenza degi XML-Schema occorre anaizzare ne dettagio i concetto di tipo di dato: esistono due categorie di tipi di dato: sempici e compessi Un tipo sempice è un tipo di dati che non può contenere mark-up e non può avere attributi. In pratica è una sequenza di caratteri Un tipo compesso è un tipo di dati che può contenere mark-up e avere attributi. E' 'equivaente di un tipo strutturato o misto Gi attributi sono sempre di tipo sempice I tipi compessi e acuni tipi sempici de documento istanza sono definiti neo XML-Schema Gi atri tipi sempici fanno parte de repertorio dei tipi sempici buit-in di XML-Schema 57

58 XML-Schema: tipo di dato sempice XML Schema introduce i concetto di tipo di dato sempice per definire gi eementi che non possono contenere atri eementi e non prevedono attributi xs:string xs:integer xs:decima Si possono usare tipi di dato sempici predefiniti oppure è possibie personaizzari Acuni tipi di dato predefiniti xs:booean xs:date Data sono riportati nea tabea a fianco xs:time Ora Esempio: xs:urireference URL Stringa di caratteri Numero intero Numero decimae Vaore booeano <xs:eement name="quantita" type="xs:integer" /> Questa dichiarazione permette 'uso de'eemento quantita in un documento XML consentendo sotanto un contenuto di tipo intero. Ovvero: sarà considerato vaido 'eemento <quantita>123</quantita> mentre non o sarà 'eemento <quantita>uno</quantita> Riferimento: 58

59 XML-Schema: tipo di dato sempice (2) string: una stringa di caratteri booean: i vaori 'true ' e 'fase (1,0) integer: interi con segno:... -1, 0, 1,... decima: una stringa di numeri (con segno e punto): '-1.23, 0, 123.4, ' foat: un reae in notazione scientifica: '12.78E-12 ' duration : una stringa per una durata temporae ne formato PnYnMnDTnHnMnS. Ad esempio 'P1Y2M3DT10H30M12.3S' corrisponde a : 1 anno, 2 mesi, 3 giorni, 10 ore, e 30 minuti date: una data ne formato anno-mese-giorno: ' ' time: un vaore di orario ne formato hh:mm:ss con una appendice opzionae per 'indicazione de fuso orario. Es.: '13:20:00+01:00 ' significa 1:20 PM in Midde European Time (+01:00). anyuri: a stringa di un URI, come Accetta sia URI reativi che assouti 59

60 XML-Schema: tipo di dato sempice (3) Ogni tipo sempice è caratterizzato da acune proprietà, dette facets, che ne descrivono formati (permessi ed obbighi) e vincoi (Si faccia riferimento a Acuni esempi: minexcusive, minincusive, maxincusive, maxexcusive enumeration, enght, maxlenght, minlenght, pattern, whitespace Nuovi tipi sempici (tipi sempici derivati) sono ottenuti per derivazione dai tipi sempici buit-in (tipi di dati incorporati) Un tipo sempice non può contenere eementi o attributi I tipi sempici possono essere definiti in uno dei seguenti modi: restriction: imita i vaori disponibii per i tipo sempice a un sottoinsieme di quei de tipo sempice ereditato ist: definisce un tipo sempice contenente un eenco di vaori, separati da uno spazio vuoto di un tipo sempice ereditato union Definisce un tipo sempice contenente un'unione di vaori di due o più tipi sempici ereditati. Dopo aver definito un tipo sempice, questo può essere utiizzato in un attributo, in una dichiarazione de'eemento oppure in una definizione compextype (tipo di dato compesso) 60

61 XML-Schema: tipi sempici derivati per restrizione (restriction) (1) È possibie restringere un tipo sempice buit-in per ottenere un nuovo tipo sempice Si utiizza eemento simpetype per dichiarare un nuovo tipo sempice, eemento restriction per indicare i tipo base e e possibii facets per stabiire i range di vaori Se, ad esempio, si ha bisogno di imitare i vaore che può essere assegnato a'eemento <quantita>, è possibie definiro ne seguente modo: <xs:eement name="quantita"> <xs:simpetype> <xs:restriction base="xs:integer"> <xs:minincusive vaue="1" /> <xs:maxincusive vaue="100" /> </xs:restriction> </xs:simpetype> </xs:eement> documento.xm: [ ] <quantita> 99 </quantita> [ ] In questo caso, a dichiarazione indica che 'eemento <quantita>: è di tipo sempice prevede una restrizione su tipo di dato intero predefinito accettando vaori compresi tra 1 e

62 XML-Schema: tipi sempici derivati per restrizione (restriction) (2) Atro esempio (Facet enumeration): <xs:simpetype name="shape"> <xs:restriction base="xsd:string"> <xs:enumeration vaue="circe"/> <xs:enumeration vaue="triange"/> <xs:enumeration vaue="square"/> </xs:restriction> </xs:simpetype> <shape>triange<shape> <shape>circe<shape> <shape>square<shape> 62

63 XML-Schema: tipi s. derivati per unione (union) Ne'esempio seguente viene iustrato un tipo sempice (aframesize) che rappresenta 'union di atri due tipi sempici, i quai definiscono, a oro vota, gi insiemi di vaori enumerati. I primo fornisce, come insieme di vaori basati su integer, e dimensioni dee bicicette da strada, mentre i secondo enumera vaori di stringa per e dimensioni dee mountain bike ('arge', 'medium', 'sma'). <xs:attribute name="aframesize"> <xs:simpetype> <xs:union> <xs:simpetype> <xs:restriction base="roadbikesize"/> </xs:simpetype> <xs:simpetype> <xs:restriction base="mountainbikesize"/> </xs:simpetype> </xs:union> </xs:simpetype> </xs:attribute> Fie.xm <xs:simpetype name="roadbikesize"> <xs:restriction base="xs:positiveinteger"> <xs:enumeration vaue="46"/> <xs:enumeration vaue="52"/> <xs:enumeration vaue="55"/> </xs:restriction> </xs:simpetype> <xs:simpetype name="mountainbikesize"> <xs:restriction base="xs:string"> <xs:enumeration vaue="sma"/> <xs:enumeration vaue="medium"/> <xs:enumeration vaue="arge"/> </xs:restriction> </xs:simpetype> </xs:schema> <bikesize aframesize= arge /> oppure </ bikesize aframesize= 46 > 63

64 XML-Schema: tipi sempici derivati per ista (ist) Ne'esempio seguente viene iustrato un tipo sempice (istofdates) che consente di ottenere un eenco di date (e voci devono essere separate 'una da'atra con uno spazio vuoto) come contenuto: <xs:simpetype name="istofdates"> <xs:ist itemtype="xs:date"/> </xs:simpetype> Fie.xm: <istofdates> </istofdates> Riferimento: 64

65 XML-schema: tipo di dato compesso I tipi di dato compesso si riferiscono ad eementi che possono contenere atri eementi e possono avere attributi Definire un eemento di tipo compesso corrisponde a definire a reativa struttura Lo schema generae per a definizione di un eemento di tipo compesso è i seguente: <xs:eement name="nome_elemento"> <xs:compextype>... Definizione de tipo compesso Definizione degi attributi... </xs:compextype> </xs:eement> 65

66 XML-schema: def. tipo di dato compesso I tipi di dato compesso sono eementi che possono: contenere atri eementi avere degi attributi È possibie definire a sequenza di eementi che possono stare a suo interno utiizzando uno dei seguenti costruttori di tipi compessi: <xs:sequence> Consente di definire una sequenza ordinata di sottoeementi <xs:choice> Consente di definire un eenco di sottoeementi aternativi <xs:a> Consente di definire una sequenza non ordinata di sottoeementi 66

67 Tipo di dato compesso: sequenza (sequence) I costruttore di tipo compesso <xs:sequence> si utiizza per definire un eemento compesso ottenuto come una sequenza ordinata di sotto eementi: <xs:eement name= articoo"> <xs:compextype> <xs:sequence> <xs:eement name="paragrafo /> <xs:eement name="testo"/> </xs:sequence> </xs:compextype> </xs:eement> fie.xm [ ] <articoo> <paragrafo> Questo è i paragrafo 1.. Introduzione </paragrafo> <testo> contenuto di testo </testo> </articoo> [ ] 67

68 Tipo di dato compesso: sceta (choice) I costruttore di tipo compesso <xs:choice> si utiizza per definire un eenco di sottoeementi aternativi: <xs:compextype> <xs:choice> <xs:eement name="paragrafo /> <xs:eement name="testo"/> </ xs:choice> </xs:compextype> fie1.xm [ ] <articoo> <testo> contenuto testuae </testo> </articoo> [ ] fie2.xm [ ] <articoo> <paragrafo> contenuto testuae paragrafo </testo> </articoo> [ ] 68

69 Tipo di dato compesso: a I costruttore di tipo compesso <xs:a> si usa per definire un eemento compesso ottenuto come una sequenza non ordinata di sottoeementi: <xs:eement name= articoo"> <xs:compextype> <xs:a> <xs:eement name="paragrafo /> <xs:eement name="testo"/> </xs:a> </xs:compextype> </xs:eement> fie1.xm [ ] <articoo> <paragrafo> paragrafo </paragrafo> <testo> effettivo contenuto di testo </testo> </articoo> [ ] fie2.xm [ ] <articoo> <testo> effettivo contenuto di testo </testo> <paragrafo> paragrafo </paragrafo> </articoo> [ ] 69

70 Tipo di dato compesso: combinazioni E` possibie utiizzare I costruttori in modo integrato <xs:eement name= mezzolocomozione"> <xs:compextype> <xsd:sequence> <xsd:eement name= proprietario type="xsd:string"/> <xsd:choice> <xsd:eement name= ruote type="xsd:integer"/> <xsd:eement name= ai type="xsd:string"/> </xsd:choice> </xsd:sequence> </xs:compextype> </xs:eement> fie.xm [ ] <mezzolocomozione> <proprietario>mario Rossi</proprietario>...<ruote>2</ruote> </mezzolocomozione> [ ] [ ] <mezzolocomozione> <proprietario>franco Bosi</proprietario>...<ai>numero serie xxxx</ai> </mezzolocomozione> [ ] 70

71 Tipo compesso: minoccurs e maxoccurs Per ciascuno dei costruttori visti (sequence, choice, a) e per ciascun eemento è possibie definire i numero di occorrenze previste utiizzando gi attributi minoccurs e maxoccurs Esempio: se si vuoe costruire un tipo compesso in cui 'eemento testo può essere presente una o infinite vote a'interno di un paragrafo, si può esprimere questa condizione ne seguente modo: <xs:eement name="paragrafo"> <xs:compextype> <xs:eement name="testo" minoccurs="1" maxoccurs="unbounded"/> </xs:compextype> </xs:eement> X <paragrafo> <paragrafo> <paragrafo> <testo> testo vero</testo> </paragrafo> In questo caso i vaore unbounded indica che non è stabiito un massimo numero di eementi testo che possono stare a'interno di un paragrafo. <paragrafo> <testo> primo testo </testo> <testo> secondo testo </testo> </paragrafo> 71

72 Tipo di dato compesso: attributi La definizione degi attributi è basata su'uso de tag <xs:attribute>, come ne seguente esempio: <xs:attribute name="titoo" type="xs:string" use="required" /> dove attributo use serve per specificare acune caratteristiche come a presenza obbigatoria (required) o un vaore predefinito (defaut) in combinazione con 'attributo vaue. Si noti che: se non si specifica espicitamente 'obbigatorietà de'attributo, esso è considerato opzionae <xs:eement name="paragrafo"> <xs:compextype> <xs:eement name="testo" minoccurs="1" maxoccurs="unbounded"/> </xs:compextype> <xs:attribute name="titoo" type="xs:string" use="required" /> </xs:eement> <paragrafo titoo= Par. 1.0 > <testo> primo testo </testo> <testo> secondo testo </testo> </paragrafo> 72

73 Tipi anonimi e tipi denominati Si para di tipi anonimi quando: Non è presente attributo type nea dichiarazione de eemento/attributo Non è assegnato un nome a compex/simpetype ANONIMO: <xs:compextype> <xs:choice> <xs:eement name="paragrafo /> <xs:eement name="testo"/> </ xs:choice> </xs:compextype> <xs:compextype name= articoo type="xsd:string"> <xs:choice> <xs:eement name="paragrafo /> <xs:eement name="testo"/> </ xs:choice> </xs:compextype> 73

74 XML-schema: esempio (poco eggibie) <?xm version="1.0"?> <xs:schema xmns:xs=" <xs:eement name="articoo"> <xs:compextype> <xs:sequence> </xs:sequence> <xs:attribute name="titoo type="xs:string" use="required"/> </xs:compextype> </xs:eement> </xs:schema> <xs:eement name="paragrafo" maxoccurs="unbounded"> <xs:compextype> <xs:a maxoccurs="unbounded"> <xs:eement name="immagine" minoccurs="0"> <xs:compextype> <xs:attribute name="fie use="required"> <xs:simpetype> <xs:restriction base="xs:string"/> </xs:simpetype> </xs:attribute> </xs:compextype> </xs:eement> <xs:eement name="testo"/> <xs:eement name="codice" minoccurs="0"/> </xs:a> <xs:attribute name="titoo" type="xs:string" use="optiona"/> <xs:attribute name="tipo" use="optiona"> <xs:simpetype> <xs:restriction base="xs:string"> <xs:enumeration vaue="abstract"/> <xs:enumeration vaue="bibiografia"/> <xs:enumeration vaue="note"/> </xs:restriction> </xs:simpetype> </xs:attribute> </xs:compextype> </xs:eement> 74

75 XML-schema: definizione moduare degi eementi (1) XML Schema prevede a possibiità di rendere moduare a definizione dea struttura di un documento XML tramite a dichiarazione di tipi e di eementi Questo contribuisce a fornire una struttura moduare a XML- Schema, più ordinata, più comprensibie e sempice da modificare: un XML-Schema diventa una sequenza di dichiarazioni di tipi ed eementi: <xs:compextype name="nome_eemento">... </xs:compextype> I riferimento ad una dichiarazione di tipo viene fatta come se fosse un tipo predefinito, come mostrato ne seguente esempio: <xs:eement name= Nuovo > <xs:compextype> <xs:eement name="nome_eemento" type= xs:string"/> </xs:compextype> </xs:eement> 75

76 XML-schema: definizione moduare degi eementi (2) La possibiità di dichiarare eementi e tipi di dato impica 'esistenza di un ambito di visibiità: Una definizione si dice gobae se è posta a'interno de tag <schema>. In questo caso 'eemento o 'attributo può essere riutiizzato in ogni punto de documento Una definizione si dice ocae se è inserita a'interno di un tag <compextype>. In questo caso 'eemento o 'attributo esiste soo se esiste un'istanza di que tipo, e non può essere riutiizzato fuori dea dichiarazione de tipo compesso 76

77 XML-schema: definizione moduare degi eementi (3) [Tipo compesso] <?xm version="1.0"?> <xs:schema xmns:xs=" "> <xs:compextype name="paragrafotype"> [ ] </xs:compextype> <xs:eement name="articoo"> <xs:compextype> <xs:sequence> <xs:eement name="paragrafo" type="paragrafotype" maxoccurs="unbounded"/> </xs:sequence> <xs:attribute name="titoo" type="xs:string" use="required"/> </xs:compextype> </xs:eement> </xs:schema> I componenti di uno schema dichiarati a iveo massimo, cioè come sotto eementi di root, sono dichiarati a iveo gobae e possono essere utiizzati ne resto deo schema Es: paragrafotype 77

78 XML-schema: definizione moduare degi eementi (esempio) [Tipo compesso] <?xm version="1.0"?> <xs:schema xmns:xs=" <xs:eement name="articoo"> <xs:compextype> <xs:sequence> <xs:eement name="paragrafo" type="paragrafotype" maxoccurs="unbounded"/> </xs:sequence> <xs:attribute name="titoo" type="xs:string" use="required"/> </xs:compextype> </xs:eement> [ ] si veda a side successiva </xs:schema> 78

79 <xs:compextype name="paragrafotype"> <xs:a maxoccurs="unbounded"> <xs:eement name="immagine" type="immaginetype" minoccurs="0"/> <xs:eement name="testo"/> <xs:eement name="codice" minoccurs="0"/> </xs:a> <xs:attribute name="titoo" type="xs:string" use="optiona"/> <xs:attribute name="tipo" use="optiona"> <xs:simpetype> <xs:restriction base="xs:string"> <xs:enumeration vaue="abstract"/> <xs:enumeration vaue="bibiografia"/> <xs:enumeration vaue="note"/> </xs:restriction> </xs:simpetype> </xs:attribute> </xs:compextype> (esempio competo) <xs:compextype name="immaginetype"> <xs:attribute name="fie" use="required"> <xs:simpetype> <xs:restriction base="xs:string"/> </xs:simpetype> </xs:attribute> </xs:compextype> 79

80 Annotazioni In XML Schema, esiste un tag specifico da usare in caso si vogia mettere commenti, note ed istruzioni: eemento <annotation> L eemento <annotation> può contenere eementi: <documentation>, creati per essere etti da esseri umani <appinfo>, pensati per essere digeriti da appicazioni specifiche Sintassi: <xs:annotation> <xs:appinfo>appxxx Note</xs:appInfo> <xs:documentation xm:ang="en"> This Schema defines a Note </xs:documentation> </xs:annotation> 80

81 Coegare un xm-schema ad un fie xm A partire da una grammatica definita tramite un XML-Schema, è possibie sfruttare un parser XML vaidante per verificare a vaidità di un documento XML I parser avrà bisogno: de documento XML da vaidare deo schema XML rispetto a cui effettuare a vaidazione Ci sono diversi modi per fornire a parser informazioni suo schema da usare per a vaidazione. Uno di questi è i seguente: inserire ne documento XML un riferimento ao schema da usare associato a'eemento root, come ne seguente esempio: <articoo xmns:xsi=" xsi:nonamespaceschemalocation="articoo.xsd" titoo= documento XML" >, con : xmns:xsi indica un URL che specifica a modaità con cui si indicherà i riferimento ao schema XML xsi:nonamespaceschemalocation indica i nome e 'eventuae percorso de fie contenente o schema XML di riferimento. 81

82 XML-schema: namespace (1) Una dee caratteristiche auspicabii nea creazione di un nuovo inguaggio è a possibiità di integrare eementi derivanti da grammatiche diverse (definite in xm-schema differenti) in modo da riutiizzare parti di grammatiche già definite Tuttavia a composizione di inguaggi pone ameno due tipi di probemi: un documento che usa due grammatiche presenta i probema dea vaidazione: è necessario capire in modo univoco a quae schema si deve fare riferimento per vaidare un documento XML "ibrido due inguaggi potrebbero avere tag ed attributi con o stesso nome, anche se utiizzabii in contesti diversi Per risovere questa ambiguità si ricorre a uso dei namespace: un namespace è un insieme di nomi di eementi e nomi di attributi identificati univocamente da un identificatore. 82

83 XML-schema: namespace (2) L'identificatore univoco individua 'insieme dei nomi distinguendoi da eventuai omonimie in atri namespace I concetto non è nuovo ne'informatica. Esempio: definizione dei i nomi dei campi in una tabea di un database: Non è possibie avere campi con o stesso nome a'interno di una tabea, ma è possibie avere gi stessi nomi in tabee diverse. In questo modo si risove 'ambiguità tra due campi omonimi facendoi precedere da nome dea tabea (i namespace) Se in un documento XML si utiizzano eementi definiti in xm schema diversi abbiamo bisogno di un meccanismo che permetta di identificare ciascun namespace e i reativo XML Schema che o definisce 83

84 XML-schema: sintassi dei namespace (1) In un documento XML si fa riferimento ad un namespace utiizzando un attributo speciae (xmns) associato a root eement: <articoo xmns=" Questo indica che 'eemento articoo ed i suoi sottoeementi usano i nomi definiti ne namespace identificato da'identificatore L'identificatore di un namespace può essere rappresentato da una quasiasi stringa univoca. Soitamente si usa un URI (Uniform Resource Identifier, RFC 3986) NOTA: RFC (Request for Comments) è un documento che riporta informazioni o specifiche riguardanti nuove ricerche, innovazioni e metodoogie prevaentemente in ambito informatico o egate ae comunicazioni in rete. Una vota vagiati da'ietf (Internet Engineering Task Force, RFC 3935) possono diventare degi standard Internet. 84

85 XML-schema: sintassi dei namespace (2) Per mettere in reazione un namespace con i reativo XML Schema occorre dichiararo ne root eement: <articoo xmns:xsi=" xmns=" xmns=" xsi:schemalocation=" articoo.xsd" xsi:schemalocation=" bibiografia.xsd > dove: xmns:xsi specifica a modaità con cui viene indicato i riferimento ao schema xsi:schemalocation indica i namespace ed i fie in cui è definito i reativo XML Schema separati da uno spazio E possibie combinare più namespace facendo in modo che ciascun eemento utiizzato faccia riferimento a proprio namespace Si noti che quando si fa riferimento ad un namespace, questo riferimento vae per 'eemento corrente e per tutti gi eementi contenuti, a meno che non venga specificato un diverso namespace 85

86 XML-schema: namespace esempio <articoo xmns=" titoo= documento XML"> <paragrafo titoo="introduzione"> <testo> ba ba ba </testo> </paragrafo> <paragrafo titoo="bibiografia"> <bibiografia xmns=" <autore> Tizio </autore> <titoo> Opera citata </titoo> <anno> 1999 </anno> </bibiografia> </paragrafo> </articoo> In questo esempio si usano eementi tratti da due diversi namespace: uno reativo aa grammatica dea struttura di un articoo 'atro reativo aa grammatica di bibiografia 86

87 Presentazione di XML con CSS A differenza di HTML, che è un inguaggio specifico di strutturazione e presentazione di documenti, XML è più generae e non ha una semantica di presentazione. Non è previsto acun meccanismo predefinito per visuaizzare i vari eementi di un documento. Ad esempio, un documento XML visuaizzato in un browser appare generamente così com'è, a massimo con una indentazione e una coorazione dei tag impostata da browser. Un metodo per gestire a presentazione de contenuto di un documento XML consiste ne'utiizzare i Cascading Stye Sheets (CSS). È possibie utiizzare i CSS in modo anaogo a come si utiizzano con HTML. Per ciascun eemento de documento XML che vogiamo formattare occorre definire una regoa secondo o schema: Seettore { proprietà: vaore; proprietà: vaore;... } 87

88 Presentazione di XML con CSS I seettore specifica a quae eemento a regoa deve essere appicata, mentre a parte racchiusa tra parentesi graffe eenca e caratteristiche da impostare e i reativo vaore. È opportuno evidenziare una importante differenza tra 'utiizzo dei CSS per formattare documenti HTML e i oro uso per i documenti XML. In HTML a maggior parte dei tag ha una formattazione predefinita e pertanto un fogio di stie CSS consente di ridefinire tai impostazioni. In XML i tag non hanno acun significato di formattazione, pertanto è necessario specificare tutto. Ad esempio, senza 'opportuna indicazione i testo contenuto nei diversi eementi di un documento XML verrebbe visuaizzato come un'unica stringa. 88

89 Presentazione di XML con CSS Per strutturare visivamente i documento dobbiamo indicare a modaità di visuaizzazione di ciascun eemento tramite a proprietà dispay di CSS. Ad esempio, per formattare 'eemento paragrafo di un articoo possiamo definire una regoa come a seguente: paragrafo {dispay: bock; font-size: 12pt; text-aign: eft} Ne documento XML possiamo quindi inserire un riferimento ad esso mediante un apposita direttiva di eaborazione, come ne seguente esempio: <?xm-styesheet type="text/css" href="stie.css"?> 89

90 Presentazione di XML con CSS: esempio <?xm version="1.0" encoding="utf-8"?> <?xm-styesheet type="text/css" href="stie.css"?> <articoo xmns:xsi=" titoo="titoo de'articoo"> <paragrafo titoo="titoo de primo paragrafo"> <testo> Bocco di testo de primo paragrafo</testo> <immagine fie="immagine1.jpg"/> </paragrafo> <paragrafo titoo="titoo de secondo paragrafo"> <testo>bocco di testo de secondo paragrafo</testo> <codice>esempio di codice </codice> <testo>atro bocco di testo</testo> </paragrafo> <paragrafo tipo="bibiografia"> <testo> Riferimento ad un articoo </testo> </paragrafo> </articoo> stie.css paragrafo {dispay: bock; font-size: 12pt; text-aign: eft} testo {dispay: bock; font-size: 12pt; text-aign: eft; coor: green} codice {dispay: bock; font-size: 20pt; font-famiy: Courier; text-aign: eft; coor: bue} 90

91 Presentazione di XML con CSS: visuaizzazione esempio stie.css paragrafo {dispay: bock; font-size: 12pt; text-aign: eft} testo {dispay: bock; font-size: 12pt; text-aign: eft; coor: green} codice {dispay: bock; font-size: 20pt; font-famiy: Courier; text-aign: eft; coor: bue} 91

92 Link utii

93 XML Parte III: Esercitazione 93

94 Introduzione Per controare che un fie xm sia ben formato: scaricare i pugin per firefox: OpenXMLViewer Usare direttamente Internet Exporer8 Per a vaidazione: xm-spy ( è proprietario ma esiste una versione free per 30 gg Onine schema vaidator: 94

95 95

96 Firefox+OpenXMLViewer / Internet Exporer8 Browser: Segnaazione di errrore 96

Elementi di modellazione e programmazione di contenuti digitali

Elementi di modellazione e programmazione di contenuti digitali Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Ing. Michea Paoucci Department of Systems and Informatics University

Dettagli

Elementi di modellazione e programmazione di contenuti digitali

Elementi di modellazione e programmazione di contenuti digitali Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Ing. Michea Paoucci Department of Systems and Informatics University

Dettagli

Elementi di modellazione e programmazione di contenuti digitali

Elementi di modellazione e programmazione di contenuti digitali Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Ing. Michea Paoucci Department of Systems and Informatics University

Dettagli

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language:

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language: XML Parte VI - Introduzione e nozioni fondamentali di sintassi XML: cosa è XML: Extensible Markup Language: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto

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

APPENDICE C extensible Markup Language

APPENDICE C extensible Markup Language APPENDICE C extensible Markup Language C.1 extensible Markup Language, concetti di base XML è un dialetto di SGML progettato per essere facilmente implementabile ed interoperabile con i suoi due predecessori

Dettagli

Linguaggi ed Applicazioni mul1mediali

Linguaggi ed Applicazioni mul1mediali Università degli Studi di Urbino "Carlo Bo" Linguaggi ed Applicazioni mul1mediali 06.01- Introduction to mark-up. 06.02- classification 06.03- SGML 06.04- XML Hypertext Maurizio Maffi ISTI Informa1on Science

Dettagli

Creare documenti XML. La natura epistemologica della codifica. Perché comprare XML? La struttura gerarchica ordinata. Riassumendo le componenti

Creare documenti XML. La natura epistemologica della codifica. Perché comprare XML? La struttura gerarchica ordinata. Riassumendo le componenti Lez. 7 Creare documenti XML La codifica deve raggiungere 2 traguardi: Accessibilità tecnica Permanenza a lungo termine 05/03/12 Perché comprare XML La natura epistemologica della codifica HTML Descrive

Dettagli

Introduzione alla codifica XML per i testi umanistici

Introduzione alla codifica XML per i testi umanistici Introduzione alla codifica XML per i testi umanistici Daniele Silvi, Domenico Fiormonte, Fabio Ciotti fiormont@uniroma3.it - silvi@lettere.uniroma2.it - ciotti@lettere.uniroma2.it 1 La digitalizzazione

Dettagli

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it La struttura: DTD Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Modello di struttura I tag annidati danno origine

Dettagli

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:

La sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni: XML: DTD Da un punto di vista cronologico, il primo approccio per la definizione di grammatiche per documenti XML è rappresentato dai Document Type Definition (DTD). Un DTD è un documento che descrive

Dettagli

Tecnologie Web T Introduzione a XML

Tecnologie Web T Introduzione a XML Tecnologie Web T Introduzione a Home Page del corso: http://www-db.deis.unibo.it/courses/tw/ Versione elettronica: 2.01..pdf Versione elettronica: 2.01.-2p.pdf 1 Che cos è? : Extensible Markup Language:

Dettagli

2 Reti di Calcolatori XML

2 Reti di Calcolatori XML 2 3 4 5 6 7 8 root element Risultati Basi di dati 10 Dicembre 2003 Mario Rossi Corso Data List a_st

Dettagli

Introduzione a XML. Language

Introduzione a XML. Language Introduzione a XML 1 Che cos è XML? XML: Extensible Markup Language anguage: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto digitale è uno strumento potente

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Definire linguaggi XML XSchema

Definire linguaggi XML XSchema Definire linguaggi XML XSchema 1 XMLSchema: cos'è e a cosa serve Scambio di informazioni/dati deve essere trattato in modo automatico I documenti XML usati da più partner devono avere la stessa struttura

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

Modelli di presentazione dei documenti XML

Modelli di presentazione dei documenti XML XML Indice 1. 1. Introduzione Cosa è e a cosa serve l'extensible Markup Language (XML) Storia e applicazioni di XML 1. 2. Un po'di storia Storia di XML: dall'ideazione alla standardizzazione del W3C 2.

Dettagli

XML. XML è contemporaneamente: XML non è:

XML. XML è contemporaneamente: XML non è: XML XML è contemporaneamente: Linguaggio di annotazione (Markup) che permette di creare gruppi di marcatori (tag set) personalizzati (MathML, XHTML, chemicalml, ecc..) Formato standard per lo scambio dei

Dettagli

Per la gestione automatica. delle forniture telematiche. Tante forniture un unica soluzione

Per la gestione automatica. delle forniture telematiche. Tante forniture un unica soluzione TuttoTe Per a gestione automatica Tante forniture un unica souzione dee forniture teematiche. La souzione competa per e forniture teematiche di dichiarazioni e deeghe. Per gestire in maniera automatica

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Risoluzione di travature reticolari iperstatiche col metodo delle forze. Complemento alla lezione 43/50: Il metodo delle forze II

Risoluzione di travature reticolari iperstatiche col metodo delle forze. Complemento alla lezione 43/50: Il metodo delle forze II Risouzione di travature reticoari iperstatiche co metodo dee forze ompemento aa ezione 3/50: I metodo dee forze II sercizio. er a travatura reticoare sotto riportata, determinare gi sforzo nee aste che

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 Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

a cura di Maria Finazzi

a cura di Maria Finazzi Esercitazioni di XML a cura di Maria Finazzi (11-19 gennaio 2007) e-mail: maria.finazzi@unipv.it pagine web: Il trattamento dell'informazione Testo a stampa: Come

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

Dettagli

Introduzione alla codifica XML per i testi umanistici

Introduzione alla codifica XML per i testi umanistici Introduzione alla codifica XML per i testi umanistici Daniele Silvi, Domenico Fiormonte, Fabio Ciotti fiormont@uniroma3.it - silvi@lettere.uniroma2.it - ciotti@lettere.uniroma2.it La digitalizzazione dei

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Creare un Ipertesto. www.vincenzocalabro.it 1

Creare un Ipertesto. www.vincenzocalabro.it 1 Creare un Ipertesto www.vincenzocalabro.it 1 Obiettivi Il corso si prefigge di fornire: Le nozioni tecniche di base per creare un Ipertesto I consigli utili per predisporre il layout dei documenti L illustrazione

Dettagli

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013 Corso di HTML Modulo L3 1-Concetti generali 1 Prerequisiti Browser Rete Internet Client e server 2 1 Introduzione In questa Unità introduciamo alcuni semplici elementi del linguaggio HTML, con il quale

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Linguaggi per il web oltre HTML: XML

Linguaggi per il web oltre HTML: XML Linguaggi per il web oltre HTML: XML Luca Console Con XML si arriva alla separazione completa tra il contenuto e gli aspetti concernenti la presentazione (visualizzazione). XML è in realtà un meta-formalismo

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

XSL: extensible Stylesheet Language

XSL: extensible Stylesheet Language XSL: extensible Stylesheet Language XSL è un insieme di tre linguaggi che forniscono gli strumenti per l elaborazione e la presentazione di documenti XML in maniera molto flessibile. I tre linguaggi devono

Dettagli

Direzione Centrale Accertamento. Indagini finanziarie. Le modalità di trasmissione telematica delle richieste di dati e delle relative risposte

Direzione Centrale Accertamento. Indagini finanziarie. Le modalità di trasmissione telematica delle richieste di dati e delle relative risposte Direzione Centrale Accertamento Indagini finanziarie Le modalità di trasmissione telematica delle richieste di dati e delle relative risposte I poteri degli uffici Ambito soggettivo E stato ampliato il

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Specifiche tecniche di trasmissione per i Comuni

Specifiche tecniche di trasmissione per i Comuni Pag. 1 di 15 Specifiche tecniche di trasmissione per i Comuni versione data Modifiche principali Autore/i 0.1 Redazione specifiche tecniche Dario Piermarini 1/15 Pag. 2 di 15 1 INTRODUZIONE Un Comune che

Dettagli

La solarità nelle varie zone italiane per il fotovoltaico

La solarità nelle varie zone italiane per il fotovoltaico Energia e Ambiente La soarità nee varie zone itaiane per i fotovotaico Modena 5 marzo 2008 Gianni Leanza Energia e Ambiente QUANTA ENERGIA ARRIVA DAL SOLE? Da Soe, si iberano enormi quantità di energia

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Definizione Statico-Cinematica dei vincoli interni

Definizione Statico-Cinematica dei vincoli interni Definizione Statico-Cinematica dei vincoi interni Esempi deo schema strutturae di una struttura in cemento armato e di due strutture in acciaio in cui sono presenti dei vincoi interni cerniera. Vincoo

Dettagli

XML Master di II livello "Sistemi informativi geografici per il monitoraggio e la gestione del territorio"

XML Master di II livello Sistemi informativi geografici per il monitoraggio e la gestione del territorio XML Master di II livello "Sistemi informativi geografici per il monitoraggio e la gestione del territorio" Claudio Rocchini claudio@rockini.name Istituto Geografico Militare 2013 Introduzione a XML extensible

Dettagli

XML: La nascita del linguaggio

XML: La nascita del linguaggio XML: introduzione alla codifica dei testi Con la codifica dei testi si intende la rappresentazione dei testi stessi su un supporto digitale in un formato utilizzabile dall'elaboratore (Machine Readable

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

XML. Concetti principali. Risultato possibile. Differenze tra XML e HTML

XML. Concetti principali. Risultato possibile. Differenze tra XML e HTML Concetti principali Un documento XML contiente delle istruzioni particolari chiamate tag scritte in forma di coppia di parentesi (metalinguaggio con parentesi) Daniele Marini XML questa

Dettagli

Tecniche Multimediali

Tecniche Multimediali Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare Edsger Dijkstra (The threats to computing science) Tecniche Multimediali Corso di Laurea in «Informatica»

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

database: modello entityrelationship

database: modello entityrelationship Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi

Dettagli

Manuale di realizzazione dei modelli di documento

Manuale di realizzazione dei modelli di documento MystiqueXML Manuale di realizzazione dei modelli di documento Indice 1 Le tabelle...5 1.1 Tabelle condizionali...5 1.2 Tabelle Multiple - un solo livello...5 1.3 Tabelle Multiple - a più livelli...5 2

Dettagli

Contenuti. Espresso 1 8. Espresso 2 23. Prefazione 4. Indice delle attività 6. Materiale fotocopiabile 37. Soluzioni 91

Contenuti. Espresso 1 8. Espresso 2 23. Prefazione 4. Indice delle attività 6. Materiale fotocopiabile 37. Soluzioni 91 Contenuti Prefazione 4 Indice dee attività 6 Espresso 1 8 Espresso 2 23 Materiae fotocopiabie 37 Souzioni 91 3 Prefazione Le attività presentate in questo voume offrono agi insegnanti nuovi spunti per

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

XML Schema Definition (XSD)

XML Schema Definition (XSD) Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XML Schema Definition (XSD) Eufemia TINELLI Contenuti XML Schema e DTD Formato XML Schema Tipi

Dettagli

Working Draft 0.5 (Telefonia)

Working Draft 0.5 (Telefonia) Working Draft 0.5 (Telefonia) Abstract Lo scopo del progetto è lo sviluppo di un SCP (Semantic Collaborative Portal), cioè un sistema di visualizzazione di una banca dati documentaria di grandi dimensioni

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 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 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

6. XML E RAPPRESENTAZIONE DEL FORMATO DI RISPOSTA

6. XML E RAPPRESENTAZIONE DEL FORMATO DI RISPOSTA 6. XML E RAPPRESENTAZIONE DEL FORMATO DI RISPOSTA Il permesso di fare copie digitali o fisiche di tutto o parte di questo lavoro per uso di ricerca o didattico è acconsentito senza corrispettivo in danaro,

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML

/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML XML 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML XML è un linguaggio di marcatura proposto dal W3C XML definisce una sintassi generica per contrassegnare i dati di un documento elettronico con marcatori

Dettagli

Prof. Alberto Postiglione Scienze della Comunicazione. Università degli Studi di Salerno

Prof. Alberto Postiglione Scienze della Comunicazione. Università degli Studi di Salerno Prof. Alberto Postiglione Scienze azione Facoltà di Lettere e Filosofia Università degli Studi di Salerno 1.2d: La codifica Digitale dei caratteri Informatica Generale (Laurea in Scienze azione) Sistemi

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

Dettagli

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language a.a. 2004/05 Tecnologie Web 1 XML - I XML (exstensible Markup Language): XML è un formato standard,

Dettagli

Formati di interscambio

Formati di interscambio Università degli Studi di Brescia Elementi di informatica e Programmazione Dipartimento di Ingegneria Meccanica e Industriale EXCEL Docente: Marco Sechi E-mail: marco.sechi@unibs.it Vers. 11/10/2015 Formati

Dettagli

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Modellazione e Gestione di Informazioni non Strutturate

Modellazione e Gestione di Informazioni non Strutturate Università della Calabria, Corso di Laurea Specialistica in Ingegneria Gestionale Progettazione di Sistemi Informativi Docente: Alfredo Cuzzocrea Modellazione e Gestione di Informazioni non Strutturate

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

HTML il linguaggio per creare le pagine per il web

HTML il linguaggio per creare le pagine per il web HTML il linguaggio per creare le pagine per il web Parte I: elementi di base World Wide Web Si basa sul protocollo HTTP ed è la vera novità degli anni 90 Sviluppato presso il CERN di Ginevra è il più potente

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare

Dettagli

Prefazione. Piersalvo Ortu 1

Prefazione. Piersalvo Ortu 1 Prefazione Questa tesi ha come obiettivo principale descrivere in che modo i documenti XML possano essere utilizzati per essere visualizzati su diversi apparati, dai browser Web ai dispositivi cellulari,

Dettagli

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia Informatica Prof. M. Colajanni Università di Modena Reggio Emilia PARTE 4 - World Wide Web WORLD WIDE WEB La killer application di Internet I motivi alla base del successo del Web ( perché è risultata

Dettagli

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria ESAME DI STATO DI ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE PRIMA PROVA SCRITTA DEL 22 giugno 2011 SETTORE DELL INFORMAZIONE Tema n. 1 Il candidato sviluppi un analisi critica e discuta

Dettagli

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE ALLEGATO 4 SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE 37 Indice 1 2 3 INTRODUZIONE... STRUTTURA DELL INDICE DEL PACCHETTO DI ARCHIVIAZIONE... VOCABOLARIO... 38 1 INTRODUZIONE Il presente allegato

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit Manuale di Aggiornamento BOLLETTINO Rel. 5.20.1H4 DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 2 PER APPLICARE L AGGIORNAMENTO... 3 1.1 Aggiornamento Patch Storica...

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

XML: extensible Markup Language

XML: extensible Markup Language XML: extensible Markup Language Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Introduzione XML: extensible Markup

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli