Laboratorio di Ingegneria Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Ingegneria Informatica"

Transcript

1 extensible Markup Language (XML) Laboratorio di Ingegneria Informatica XML Parser per XML Corso di laurea specialistica in Ingegneria Informatica XML: cosa è XML: Extensible Markup Language: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto digitale è uno dei più potenti e versatili sistemi per la creazione, archiviazione, preservazione e disseminazione di documenti digitali ma la sua sintassi rigorosa e al contempo flessibile ne rende possibile l applicazione anche nella rappresentazione di dati strutturati, fornendo una soluzione alternativa ai tradizionali sistemi DBMS relazionali XML: le origini XML è stato sviluppato dal World Wide Web Consortium ( Le specifiche sono state rilasciate come W3C Recommendation nel 1998 e aggiornate nel 2004 XML deriva da SGML, un linguaggio di mark-up dichiarativo sviluppato dalla International Standardization Organization (ISO), e pubblicato ufficialmente nel 1986 con la sigla ISO 8879 XML nasce come un sottoinsieme semplificato di SGML orientato alla utilizzazione su World Wide Web ma ha assunto ormai un ruolo autonomo e una diffusione ben maggiore del suo progenitore La Famiglia di XML XML: principi fondamentali HTML XHTML WML SGML XML MathML SOAP XML adotta un paradigma di codifica dichiarativo e descrittivo XML descrive un documento come una struttura ad albero XML introduce il concetto di tipo di documento e di sintassi del documento

2 XML: caratteristiche XML: caratteristiche XML è un metalinguaggio, che permette di definire sintatticamente linguaggi di markup (nuovi linguaggi) Un linguaggio XML permette di esplicitare la (le) struttura(e) di un documento in modo formale mediante marcatori (markup) che vanno inclusi all interno del testo (character data) XML adotta un formato di file di tipo testuale: sia il mark-up sia il testo sono stringhe di caratteri XML si basa sul sistema di codifica dei caratteri ISO 10646/UNICODE Un documento XML è leggibile da un utente umano senza la mediazione di software specifico XML: caratteristiche XML: caratteristiche XML è indipendente dal tipo di piattaforma hardware e software su cui viene utilizzato XML permette la rappresentazione di qualsiasi tipo di documento (e di struttura testuale) indipendentemente dalle finalità applicative XML è indipendente dai dispositivi di archiviazione e visualizzazione un documento XML può essere archiviato su qualsiasi tipo di supporto digitale (attuale e futuro!) un documento XML può essere visualizzato su qualsiasi dispositivo di output File XML <Title> Titolo </title> <p>paragarafo.. <p>paragrafo On-line WWW Carta CD-ROM DBMS NATIVI O RELAZIONALI DOCUMENT MANAGEMENT SYSTEMS XML: caratteristiche XML può essere usato per la rappresentazione di dati strutturati (archivi, tabelle, matrici) in alternativa ai formati di database tradizionali XML può essere usato come formato di scambio dati in applicazioni middleware XML: caratteristiche XML è uno standard di pubblico dominio ogni software conforme XML è in grado di gestire dati in formato XML sono disponibili numerose applicazioni e librerie open source per la manipolazione di dati in formato XML basate su diversi linguaggi di programmazione (Java, C, Python, Perl ) una applicazione in grado di elaborare dati in formato XML viene definita elaboratore XML

3 XML: Vantaggi XML permette agli sviluppatori di creare facilmente strutture ad-hoc per contenere informazione strutturata. I parser XML sono diffusi su tutte le piattaforme e free. Gli sviluppatori possono appoggiarsi a questi per decodificare e validare le strutture XML, limitandosi poi a gestire solo l'informazione contenuta usando API specifiche (DOM, SAX). XML è completamente text-based, quindi leggibile anche dagli esseri umani e facilmente editabile anche a mano. Supporta UNICODE, quindi è adatto a ogni tipo di scrittura. Essendo dati testuali strutturati esattamente come HTML, i dati XML possono essere trasportati usando il protocollo HTTP anche attraverso firewall (SOAP). XML: Svantaggi I documenti XML, a causa delle struttura testuale e dei tag, tendono ad essere molto più ingombranti di quelli in formato binario, quindi la loro trasmissione sulla rete non è ottimale. I parser XML non sono veloci come quelli scritti ad-hoc per formati specifici, soprattutto se binari. Il concetto di metalinguaggio XML è un metalinguaggio XML definisce un insieme regole (meta)sintattiche, attraverso le quali è possibile descrivere formalmente un linguaggio di markup, detto applicazione XML ogni applicazione XML eredita un insieme di caratteristiche sintattiche comuni ogni applicazione XML a sua volta definisce una sintassi formale particolare ogni applicazione XML è dotata di una semantica specificata in modo non formale Il concetto di metalinguaggio metasintassi XML metalinguaggio linguaggi TEI XHTML DocBook sintassi documenti Il concetto di tipo di documento Il concetto di tipo di documento La definizione di una applicazione XML si basa su un determinato tipo di documento Un tipo di documento descrive le caratteristiche di una classe di documenti strutturalmente omogenei Il tipo di documento è il fondamento della sintassi e della semantica di una applicazione XML Un tipo di documento descrive la struttura della classe di documenti cui si riferisce come un albero ordinato di componenti testuali o elementi Un tipo di documento è caratterizzato da un insieme di elementi strutturali le relazioni di dipendenza tra gli elementi le relazioni di ricorrenza degli elementi

4 La struttura gerarchica ordinata testo corpo??? frontespizio introduzione + capitolo appendice + titolo +? + titolo + paragrafo titolo paragrafo paragrafo titolo autore * * PCDATA enfasi citazione PCDATA enfasi citazione Il concetto di tipo di documento La struttura ad albero del tipo di documento determina la sintassi del linguaggio di markup XML La sintassi di un tipo di documento deve essere espressa implicitamente (mediante il mark-up) in ogni documento XML La definizione formale della sintassi di un tipo di documento XML può essere espressa esplicitamente in una Document Type Definition (DTD) o un XML Schema La Document Type Definition Una DTD è costituita da un elenco di dichiarazioni (markup declaration) che descrivono la struttura del documento Le dichiarazioni di una DTD definiscono: gli elementi strutturali (element) di un documento mediante un identificatore generico il modello di contenuto di ogni elemento (content model) ovvero gli elementi che contiene ed i loro rapporti (un elemento può essere vuoto) la lista degli attributi associati a ciascun elemento e il loro tipo La Document Type Definition XML non fornisce alcun modo per definire la semantica di una DTD ogni elemento è definito esclusivamente interamente dal suo nome e dal suo contenuto ogni altra specificazione semantica va fornita mediante documentazione in lingua naturale o in altre notazioni logiche Strutture XML: gli elementi I componenti strutturali di un documento sono denominati elementi (element) Ogni nodo dell albero del tipo di documento è un (tipo di) elemento Ogni (tipo di) elemento è dotato di un nome (detto identificatore generico) che lo identifica Strutture XML: gli elementi Esiste uno e uno solo elemento, detto elemento radice (corrispondente al nodo radice dell albero), che non è contenuto da nessun altro e che contiene direttamente o indirettamente tutti gli altri Ogni elemento, escluso l elemento radice, deve essere contenuto da un solo elemento (elemento padre) e può contenere altri sotto-elementi (elementi figli) e/o stringhe di caratteri Esiste un sottoinsieme di elementi che non contengono altri elementi e che possono essere vuoti contenere esclusivamente stringhe di caratteri

5 Strutture XML: gli attributi Strutture XML: gli attributi A ogni elemento possono essere associati uno o più attributi (attribute) che ne specificano ulteriori caratteristiche o proprietà non strutturali. Ad esempio: il tipo rispetto a una data tassonomia la lingua del suo contenuto testuale un identificatore univoco un numero di ordine etc. Gli attributi XML hanno sono caratterizzati da un nome che li identifica un valore Il valore di un attributo può avere un tipo esplicitato nella DTD Se un documento XML è solo ben formato, tutti i valori degli attributi sono di tipo CDATA Strutture XML: le entità Un documento XML (in quanto oggetto digitale) ha una struttura fisica Dal punto di vista fisico un documento è composto da unità di archiviazione che sono denominate entità (entity) Esiste almeno una entità in ogni documento XML: la document entity, che contiene il documento stesso Strutture XML: le entità In generale una entità è qualsiasi sequenza di byte considerata indipendentemente dalla sua funzione strutturale un singolo carattere UNICODE una stringa di testo XML (caratteri e mark-up) un intero file XML esterno un intero file non XML (es. immagini digitali, etc.) È possibile ad esempio rappresentare nel contenuto di un documento caratteri non presenti sulla tastiera mediante entità Strutture XML: le entità Un Documento XML <?xml version="1.0" encoding="utf-8"?> Le entità vanno definite con apposite dichiarazioni nella DTD Una entità ha un nome e un contenuto In un documento l inserimento di una entità avviene mediante un riferimento a entità che ne specifica il nome Un processore XML sostituirà automaticamente il contenuto dell entità al posto del riferimento <?xml-stylesheet type="text/xsl" href="c:\documenti\collection.xsl"?> <!DOCTYPE collection SYSTEM "C:\DocumentiCollection.dtd"> <collection xmlns=" <CD number="1"> <song album="santana1" track ="11"> <title>african Bamba</title> <length>4:42</length > </song> <song album="santana1" track ="9"> <artist>santana & Mana</artist> <title>corazon Espinado</title> <comment> <!CDATA[First Hit from the Album]]> </comment> <length>4:36</length > </song> <album ID="santana1"> <artist>santana</artist> <title>supernatural</title> <year>1999</year> </album> </CD></collection>

6 Elementi Gli elementi sono alla base della strutturazione dei documenti XML. Un elemento è un frammento di dati, limitato ed indentificato (tramite un nome) da un tag. Tag di apertura Elemento artist Elemento title Tag di chiusura <album> <artist> Santana </artist> <title> </album > Supernatural </title > Elemento album Elementi: Regole I nomi degli elementi sono case-sensitive. Ogni elemento aperto deve essere chiuso entro la fine del documento. Gli elementi possono essere nidificati, e in tal caso vanno chiusi esattamente nell ordine inverso a quello di apertura. Un documento XML deve avere un unico elemento radice, in cui tutti gli altri sono nidificati Elementi: Sintassi Il tag di apertura di un elemento ha la forma seguente: <nome attributi> nome è il nome dell elemento. attributi è una lista opzionale di attributi per l elemento. Il tag di chiusura corrispondente ha la forma seguente: </nome> nome è lo stesso identificatore usato nell apertura. Alcuni elementi possono essere privi di contenuto; in questo caso è possibile omettere il tag di chiusura scrivendo quello di apertura come segue (empty tag): <nome attributi /> Elementi: Gerarchia Gli elementi, nidificandosi, creano la struttura ad albero tipica dei documenti XML. All interno di questa struttura si definiscono alcuni rapporti di parentela utili per individuare gli elementi: <a> <b> Testo </b> <c> <d/> </c> </a> a è il nodo radice b e c sono figli di a, il testo è figlio di b, d è figlio di c c è il padre di d, b è il padre del testo, a è il padre di b e c b e c sono fratelli b, c, d e il testosono discendenti di a, d è un discendente di c, il testo è un discendente di b a è un predecessore di b, c, d e del testo, b è un predecessore del testo, c è un predecessore di d. Attributi Gli attributi permettono di specificare proprietà degli elementi come coppie nome-valore. Sono usati per definire proprietà che non possono o non si vogliono inserire nel contenuto dell elemento. Vengono specificati all interno dei tag di apertura degli elementi. Al contrario degli elementi, per gli attributi l ordine di presentazione non è significativo. Namespaces I namespaces servono a dichiarare l appartenenza degli elementi a particolari linguaggi XML. Sono particolarmente utili se più linguaggi vengono mescolati nello stesso documento, con possibili di collisioni tra nomi. Ogni elemento può contenere dichiarazioni di namespaces, la cui validità è estesa a tutto il contenuto dell elemento stesso. La dichiarazione del namespace viene inserita nei tag di apertura, in modo simile a un attributo.

7 Entità I documenti XML sono costituiti da una serie di entità. Il documento stesso è una entità. Tutte le entità, tranne il documento e il DTD esterno, hanno un nome. Le entità parsed sono quelle più comuni, e il parser XML le sostituisce sempre col loro testo di definizione. Le entità unparsed possono contenere qualsiasi tipo di dato, anche non testuale. Il parser XML non le analizza, e sono accessibili solo usando le notazioni. XML: documenti ben formati e validi Ogni documento XML deve essere ben formato Un documento è ben formato se la sua struttura è implicita nel markup e se rispetta i vincoli di buona formazione indicati nelle specifiche Un documento XML ben formato non richiede la presenza di una DTD XML: documenti ben formati e validi Un documento XML può essere valido Un documento è valido se si riferisce a una DTD esplicita mediante una Doctype declaration ne soddisfa i vincoli sintattici (nome, sequenza occorrenze ed attributi degli elementi) Il controllo di validità viene effettuato da un apposito programma detto parser Esistono parser validanti e non validanti. Questi ultimi possono ignorare tutto l eventuale DTD, tranne le dichiarazioni di entità generali. La parte del documento XML all interno del nodo radice viene definita document instance Le Document Type Definition (DTD) Sono utilizzate per validare i documenti XML. E possibile infatti definire una speciale grammatica che dichiara: tutti gli elementi utilizzabili; quali elementi possono essere nidificati in altri, in che ordine e con quante occorrenze; quali attributi sono applicabili a ciascun elemento, se sono obbligatori e quali sono i loro valori predefiniti. Si possono inoltre definire entità e notazioni poi utilizzabili all interno del documento XML o del DTD stesso. Un DTD Un DTD <?xml version= "1.0" encoding="utf-8"?> <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" " %HTMLlat1; <!ELEMENT artist (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT length (#PCDATA)> <!ELEMENT album (artist, title, year?, copyright?)> <!ATTLIST album ID ID #REQUIRED media CDATA #IMPLIED "CompactDisc > <!ELEMENT song (artist?, title, year?, comment?, length)> <!ATTLIST song genre (Rock Pop Classical Jazz Dance Tecno) #IMPLIED ID ID #IMPLIED album IDREF #IMPLIED track CDATA #IMPLIED > <!ELEMENT CD (album song)+> <!ATTLIST CD number CDATA #REQUIRED owner CDATA #FIXED Giuseppe Della Penna" > <!ELEMENT collection (CD+)> Continua... Continua...

8 Come si crea un documento XML Un documento XML contiene il mark-up (sottoforma di coppie di tag) che rappresenta linearmente la struttura gerarchica degli elementi, i loro eventuali attributi, e i caratteri del testo L inserimento di mark-up e caratteri deve rispettare i vincoli di buona formazione indicati nelle specifiche XML Un documento valido deve rispettare anche i vincoli sintattici definiti nella DTD Aspetti di sintassi generale Un documento XML è una stringa di caratteri UNICODE in codifica UTF -8 o UTF-16 I nomi di elementi, attributi e entità sono sensibili alla differenza tra maiuscolo e minuscolo Il mark-up è separato dal contenuto testuale mediante caratteri speciali: < > & I caratteri speciali non possono comparire come contenuto testuale e devono essere eventualmente sostituiti mediante i riferimenti a entità < > & Vincoli di buona formazione La forma di un documento XML Esiste un solo elemento radice Tutti gli elementi non vuoti devono presentare sia il tag iniziale sia il tag finale Tutti gli elementi devono essere correttamente annidati Tutti i valori di attributo devono essere racchiusi tra apici doppi o singoli Ogni documento XML inizia con un prologo che contiene: una XML declaration eventualmente una Doctype declaration (la dichiarazione della DTD a cui il documento si riferisce) eventualmente una serie di processing instruction XML declaration Doctype declaration Forme di XML declaration: <?xml version="1.0"?> <?xml version="1.0 encoding= UTF-8?> Se se le dichiarazioni della DTD sono inserite all interno della entità documento è obbligatoria una dichiarazione di documento autonomo: <?xml version="1.0" standalone="yes"?> Se la definizione della DTD si trova in una entità esterna <!DOCTYPE nome_dtd SYSTEM sys-id > <!DOCTYPE Antologia SYSTEM c:\sgml\dtd\antologia.dtd > Se la DTD è dotata di un identificatore pubblico <!DOCTYPE nome_dtd PUBLIC pub-id sys-id > <!DOCTYPE TEI.2 PUBLIC -//TEI P4//DTD Main Document Type//EN tei2.dtd > n. b. il nome della DTD corrisponde al nome del suo elemento radice

9 Doctype declaration Se la definizione della DTD si trova nella stessa entità del document instance essa va direttamente della Doctype declaration in una sezione denominata internal DTD subset <!DOCTYPE nome_dtd [ dichiarazione 1 dichiarazione 2 dichiarazione 3...] > Internal DTD subset La codifica degli elementi Nel documento ogni elemento non vuoto (contenente cioè altri elementi o caratteri) deve essere marcato da un tag iniziale e da un tag finale Ogni tag è costituito da caratteri delimitatori e dal nome dell'elemento La codifica degli elementi La codifica degli elementi Sintassi di un elemento Del. Finale Start tag Del. Iniziale End tag <nome>contenuto dell elemento</nome> Del. Iniziale Start tag Del. Finale End tag <text> <div1> <p>subito, con le prime parole che le rivolse, volle avvisarla che non intendeva compromettersi in una relazione troppo seria </p> <p>la sua famiglia? Una sola sorella non ingombrante né fisicamente né moralmente, piccola e pallida, di qualche anno più giovane di lui </p> </div1> </text> La codifica degli elementi La codifica degli elementi La relazione lineare tra i tag rappresenta la relazione gerarchica tra gli elementi Per ogni elemento, se il suo tag iniziale è nel contenuto di un elemento P allora il suo tag finale deve essere nel contenuto del medesimo elemento P Detto altrimenti le coppie di tag devono annidarsi correttamene e mai sovrapporsi SBAGLIATO!!! <p>subito, con le prime parole che le rivolse, volle avvisarla che non intendeva compromettersi in <emph>una relazione troppo seria </p> <p>la sua famiglia?</emph>una sola sorella non ingombrante né fisicamente né moralmente, piccola e pallida, di qualche anno più giovane di lui </p>

10 La codifica degli elementi La codifica degli elementi CORRETTO!!! <p>subito, con le prime parole che le rivolse, volle avvisarla che non intendeva compromettersi in <emph>una relazione troppo seria </emph> </p> <p> <emph>la sua famiglia?</emph> Una sola sorella non ingombrante né fisicamente né moralmente, piccola e pallida, di qualche anno più giovane di lui </p> Gli elementi vuoti o sono rappresentati da entrambi i tag <nome_elemento> </nome_elemento> o assumono la seguente forma <nome_elemento/> Esempio: <img src= foo.gif /> La codifica degli attributi La codifica degli attributi Ogni elemento XML può avere uno o più attributi Un attributo ha un nome e un valore, che può assumere diverse tipologie Gli attributi devono essere associati agli elementi all'interno del tag iniziale dopo l identificatore <nome_elemento nome_attributo = "valore"> contenuto </nome_elemento> Altri eventuali attributi vanno collocati dopo il primo separati da uno o più spazi Non possono esservi più istanze dello stesso attributo per un elemento La codifica degli attributi <text resp= Italo Svevo n= Senilità > <div n= 1 > <p id= C1P1 >Subito, con le prime parole che le rivolse, volle avvisarla che non intendeva compromettersi in una relazione troppo seria </p> <p id= C1P2 >La sua famiglia? Una sola sorella non ingombrante né fisicamente né moralmente, piccola e pallida, di qualche anno più giovane di lui </p> <pb n= 5 /> Il riferimento alle entità L inclusione di una entità all interno di un documento SGML si effettua mediante un riferimento a entità (entity reference) La sintassi di un riferimento, valida sia per entità esterne sia interne, è la seguente: Delimitatore di apertura &nome_entità; Delimitatore di chiusura

11 Il riferimento alle entità Validazione In questo esempio i caratteri accentati sono stati sostituiti da riferimenti a entità carattere <p>la sua famiglia? Una sola sorella non ingombrante né fisicamente né moralmente, piccola e pallida, di qualche anno più giovane di lui </p> Quando un documento XML viene controllato sintatticamente da un parser. Questo processo viene chiamato validazione. Documento XML Valido Schemi e DTD Un documento XML si dice valido se conforme alle specifiche del DTD associato o dello schema. Un documento non valido non cessa di essere un documento XML. Gli Schemi XML sono nati con lo stesso scopo dei DTD: Specificare la struttura dei documenti. Modelli di contenuto, elementi radice, Specificare il tipo dei dati utilizzabili all interno di elementi e attributi. Nei DTD, il tipo di dato per gli elementi poteva essere solo testo e/o un particolare modello di contenuto. Perché gli Schemi? I DTD usano una sintassi non XML. Perché costringere gli sviluppatori ad imparare le regole di un nuovo linguaggio? Perché scrivere parser XML che debbano leggere anche formati non XML per la validazione? I DTD hanno pochi tipi di dato. Il controllo sui domini dei dati è parte integrante del controllo di un documento ben formato. Esistono tipi di dato molto noti che si vorrebbero poter sfruttare (interi, reali, data/ora, ecc.). Novità negli Schemi Sono supportati più tipi di dato (44 contro 10) e la possibilità di definirne di nuovi o derivarne altri da tipi già esistenti applicando regole e restrizioni. Sono presenti nuovi modelli di contenuto, tra cui l insieme ( tutti questi elementi, in qualsiasi ordine ). Si possono definire più campi chiave diversi. Si possono dichiarare classi di equivalenza tra elementi.

12 Vantaggi degli Schemi Generalmente, le applicazioni che devono basarsi su documenti o dati provenienti dall esterno sprecano una grossa quantità di codice per controllarne la validità. Più complessi sono i dati, più il codice sarà laborioso da scrivere. Se i dati sono strutturati secondo un preciso Schema XML, l applicazione potrà avvalersi delle funzionalità di un qualsiasi validatore di schemi in commercio! Cosa Forniscono gli Schemi Un modello per i dati. Descrivono cioè l organizzazione e i tipi dell informazione. Un contratto. Cioè un protocollo molto specifico per lo scambio di informazioni. Un insieme di Metadati. Lo schema contiene molte informazioni valide per l interpretazione dei dati strutturati sulla sua base. Cosa Forniscono gli Schemi Oltre che per validare i documenti istanza, si possono immaginare molti altri impieghi per gli schemi: Creazione automatica di interfacce per la compilazione dei documenti XML associati. Creazione di interfacce grafiche per la rappresentazione dei dati. Uso degli schemi per definire strutture dati e protocolli per la loro manipolazione e trasmissione. Un DTD di esempio <!ELEMENT artist (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT length(#pcdata)> <!ELEMENT song (artist?, title, year?, comment?, length)> <!ELEMENT CDsong+> Gli elementi blu fanno parte della sintassi DTD. Gli elementi neri fanno parte della nuova sintassi che stiamo definendo. Poiché i DTD sono stati creati prima dei namespaces, non esiste questo concetto nei DTD e gli elementi delle due sintassi sono mescolati. e lo Schema Corrispondente <xs:element name="artist" type="xs:string"/> <xs:element name="comment" type="xs:string"/> <xs:element name="length" type="xs:string "/> <xs:element name="title" type="xs:string"/> <xs:element name="year" type="xs:string"/> <xs:element name="song"> <xs:complextype> <xs:sequence> <xs:element ref="artist" minoccurs ="0"/> <xs:element ref="title"/> <xs:element ref="year" minoccurs ="0"/> <xs:element ref="comment" minoccurs ="0"/> <xs:element ref="length "/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="cd"> <xs:complextype> <xs:sequence> <xs:element ref="song" maxoccurs ="unbounded "/> </xs:sequence> </xs:complextype> </xs:element> <!ELEMENT artist (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT length(#pcdata)> <!ELEMENT song (artist?, title, year?, comment?, length) > <!ELEMENT CDsong+> Questo Schema definisce lo stesso linguaggio del DTD visto in precedenza. I frammenti del DTD sono affiancati alla parte di schema che li sostituisce. Validare un documento XML: La validazione è un processo, il controllo sintattico è un altro (ben formato e NON ben formato) Un documento XML può essere non valido, ma rimanere ugualmente well-formatted. N.B.:tutti i documenti XML (in quanto documenti XML) sono per forza ben formati ma niente ci dice se sono conformi al proprio DTD (se lo possiedono).

13 Well-formatted Riprendendo l esempio: Un file XML è anche normalmente well-formatted, cioè ben formattato e quindi rispetta le regole di XML Tutti i tag di apertura e di chiusura corrispondono. I tag vuoti utilizzano una sintassi XML speciale. Tutti i valori degli attributi sono racchiusi tra virgolette. Tutte le entità sono dichiarate. FILE DTD libro.dtd: <?xml encoding="utf-8"?> <!ELEMENT libro (prefazione?,indice,capitolo+)> <!ATTLIST libro titolo CDATA #REQUIRED> <!ATTLIST libro autore CDATA #REQUIRED> <!ATTLIST libro editore CDATA #REQUIRED> <!ELEMENT prefazione (#PCDATA)> <!ATTLIST prefazione autore CDATA #IMPLIED> <!ELEMENT indice (titolo+ )> <!ELEMENT capitolo (#PCDATA)> <!ELEMENT titolo (#PCDATA)> FILE XML libro.xml: <?xml version="1.0" encoding= "UTF- 8"?> <!DOCTYPE libro SYSTEM "libro.dtd"> <libro titolo="1984" autore="g.orwell" editore= "Mondadori"> <prefazione autore="bill Gates">Questo libro non dice il vero. Orwell ha sbagliato...</prefazione> <indice> <titolo>parte prima</titolo> <titolo>parte seconda</titolo> </indice> <capitolo>1. Era una notte buia e tempestosa...</capitolo> <capitolo>2. Testo del secondo capitolo...</capitolo> <capitolo>3. Testo del terzo capitolo...</capitolo> </libro> XML non è sempre corretto Gli errori dei parser: Le specifiche del W3C indicano che i parser di XML possono fermarsi al primo errore di analisi del documento(non tollerano errori); Motivi: Rendere i parser più facili da scrivere; I documenti XML sono compatibili e indipendenti dal tipo di parser. Fatal Error: grave violazione di una regola della specifica; il processore notifica all applicazione l errore rilevato e può o meno continuare l analisi del documento per cercare altri errori; Non deve però continuare a fornire il contenuto del documento dell applicazione. Esempio di FATAL ERROR: Impossibile visualizzare la pagina XML Impossibile visualizzare l'input XML tramite il foglio di stile XSL. Correggere l'errore, quindi fare clic su Aggiorna, oppure riprovare in un momento successivo. Il tag finale "item2" non corrisponde al tag iniziale "item1". Errore durante l'elaborazione della risorsa <indice> <capitolo>1. Era una notte buia e tempestosa... </indice> </capitolo> Error: violazione di una regola della specifica; Il processore notifica all applicazione l errore rilevato e continua sia ad analizzare il documento, sia a fornire il contenuto all applicazione, che deciderà il comportamento rispetto all errore( ignorarlo, cercare di correggerlo, etc..)

14 Esempio di ERROR: <capitolo>1. Era una notte buia e tempestosa...</capitolo> <bibliografia> libro1 </bibliografia> I parser L errore è dato da <bibliografia> perché non è definito come elemento di libro nel DTD; Ma se ci saranno altre righe di comando con altri errori, verranno riportati di seguito, senza fermarsi. Che cosa vuol dire parsing e cosa sono i parser? Per poter usare un file XML occorre farne il "parsing", ovvero prendere un documento Xml e scandirlo, estraendone tutte le parti che lo compongono. Un parser XML è un modulo software che si colloca tra l'applicazione e il documento XML. Esso permette all'applicazione di accedere al contenuto e alla struttura del documento XML. Esistono due tipi di parser: validanti e non validanti. Parsing XML Goal: tradurre un file XML nelle strutture dati utilizzabili nei linguaggi di programmazione Strategie possibili Fare il parsing a mano con alcune librerie riutilizzabili Fare il parsing mettendo I dati in una struttura generica ad albero Fare il parsing come una sequenza di eventi Fare il parsing a mano Rimangono Vantaggi Controllo completo Buono per semplici cose non ha bisogno di pacchetti software ausiliari Svantaggi Deve essere scritto tutto sempre Noioso e facile all errore Diventa difficile quando si usa uno schema o una DTD per validare I parser XML si dividono in due categorie per quel che riguarda i modelli di elaborazione Parser DOM (Documento Object Model): è un modello gerarchico, che fornisce accesso all'intero documento DOPO il completamento del parsing. DOM è una serie di raccomandazioni W3C implementate in varia maniera su tutte le architetture Parser SAX (Simple API for XML): è un modello ad eventi, attraverso il quale è possibile associare funzioni callback ai vari elementi significativi del documento XML. SAX 2.0 non è uno standard, ma una proposta originariamente per JAVA poi adottata su molte architetture (

15 Fare il parsing in una generica struttura ad albero (parser DOM) Vantaggi Esiste un linguaggio standard neutro: DOM (Document Object Model) Imparare a fare il DOM per un linguaggio rende facile impararlo per un altro Si deve scrivere meno codice per avere XML in qualcosa che si vuole utilizzare nei programmi Svantaggi Non-intuitive API Non e a costo di lavoro /tempo o Fare il parsing come una sequenza di eventi (parser SAX) Vantaggi SAX richiede pochissima memoria d'uso: il documento non è mai tutto in memoria contemporaneamente. E' ideale per documenti MOLTO grandi. SAX è velocissimo: non ha praticamente overhead di parsing. SAX è ideale per cercare velocemente un'informazione specifica all'interno di un documento XML, poiché lo si può fermare appena l'ha trovata. Svantaggi SAX non può essere usato per cercare e ricercare informazioni su un documento XML (navigare sulla struttura del documento) SAX non può essere usato per modificare o aggiornare la struttura del documento XML (aggiungere o togliere nodi). SAX non è implementato dai browser, ma solo come libreria di linguaggi server-side (o in Java anche come applet) Elaborazione DOM Il Document Object Model è un interfaccia di programmazione (API) per documenti sia HTML sia XML. Definisce la struttura logica dei documenti ed il modo in cui si accede e si manipola un documento. Utilizzando DOM i programmatori possono costruire documenti, navigare attraverso la loro struttura, e aggiungere, modificare o cancellare elementi. Ogni componente di un documento HTML o XML può essere letto, modificato, cancellato o aggiunto utilizzando il Document Object Model. Definizione di DOM Document Object Model (DOM) Il DOM è un Application Programming Interface (API) per documenti XML (e HTML). Il DOM definisce una modalità di rappresentazione dei documenti XML sotto forma di strutture dati accessibili da un linguaggio di programmazione, e le operazioni per la loro manipolazione. Standard W3C Strumenti del DOM Usando le API del DOM un programmatore può creare documenti XML, navigarne la struttura, aggiungere, eliminare o modificare tutte le componenti (elementi, commenti, testo ) Ovviamente il DOM fornisce un interfaccia generica implementabile in vari linguaggi di programmazione. Tuttavia, la specifica è esposta usando l IDL definito nella Corba 2.2 specification. La vista del DOM su XML <song track="9"> <artist> <name>santana</name> </artist> <title>corazon Espinado</title> <comment>first Hit from the Album</comment> <length> <minutes>4</minutes> <seconds>36</seconds> </length> </song> <song> <artist> <title> <comment> <length> <name> Santana Corazon Espinado First Hit from the Album track=9 <minutes> <seconds> 4 36

16 La vista del DOM su XML Il DOM vede i documenti come una struttura ad albero. In realtà, la struttura è una foresta perché può anche contenere più alberi distinti. Il DOM definisce solo la sua vista logica sui dati: non specifica come debbano essere effettivamente strutturati in memoria. Tuttavia, l utente che accede al documento tramite l interfaccia DOM, lo vedrà effettivamente come un albero. I Modelli a Oggetti Il DOM, come modello ad oggetti, definisce: Gli oggetti usati per rappresentare e manipolare un documento XML. Le interfacce usate per interagire con gli oggetti definiti. La semantica richiesta dagli oggetti e dalle interfacce definite. Le relazioni e interazioni tra le interfacce e gli oggetti definiti. Oggetti del DOM L oggetto principale di DOM è DOMNode, che però è una interfaccia (cioè viene solo usata per crearne classi) Il core del DOM definisce alcune classi fondamentali per i documenti HTML e XML, e ne specifica proprietà e metodi. Glli oggetti principali definiti nel DOM sono: DOMDocument : il documento di cui si sta parlando DOMElement: ogni singolo elemento del documento DOMAttr: ogni singolo attributo del documento DOMText: ogni singolo nodo di testo del documento DOMComment, DOMProcessingInstruction, DOMCDATASection, DOMDocumentType, ecc. Gli oggetti Node: la base del DOM Il DOM presenta i documenti come una struttura gerarchica di oggetti di tipo Node. Ciascun oggetto nel documento in realtà implementa una interfaccia più specifica per il suo tipo, che è sempre derivata da Node. I Node possono avere zero o più nodi figli. L interfaccia di Node include le operazioni di base eseguibili su ogni tipo di oggetto (indipendentemente dal suo tipo specifico) in un documento XML. Tipi di Nodi Ci sono molti tipi di nodi e sottoclassi di nodi Attr, CDATASection, Comment, Document, DocumentFragment, DocumentType, Element, Entity, EntityReference, Notation, ProcessingInstruction, Text EntityReference Name entitry referenced Ognuna di queste ha associato uno tipo, valore o Notation Notation name 1 nome. ProcessingInstruction target Entire string 7 Nella slide seguente vediamo gli standard Text #text Actual text 3 Attr Comment Document Element Entity Node CDATASection DocumentFragment DocumentType nodename () nodevalue Attributes nodetype Attr name () Value of attribute () 2 #cdata-section #comment #document #document - fragment Doc type name Tag name Entity name CDATA cotnent Comment content Null NamedNodeMap

17 Fare il parsing come una sequenza di eventi: SAX Nasce nel Dicembre 1997 Peter Murray-Rust. (XML browser JUMBO) Tim Bray (Lark XML parser) David Megginson (Microstar's Ælfred XML parser) XML-DEV mailing list SAX 1.0 rilasciato nel 1998 (attuale SAX 2.0) Lo sviluppo continua ospitato da SourceForge Licenza GPL Introduzione a SAX Simple API for XML SAX, o Simple API for XML, in origine è stata sviluppata come API alternativa per accedere ad XML in Java. A partire dalla versione 2, esistono versioni di SAX utilizzabili anche in altri ambienti di programmazione (ad esempio nella libreria msxml di Microsoft). La homepage del progetto SAX (SourceForge) è Eventi SAX SAX basa il suo sistema di parsing sugli eventi. Mentre il parser SAX legge (e valida) il documento XML, il codice viene avvisato di una serie di eventi fondamentali, quali L inizio e la fine del documento; L apertura e la chiusura di un elemento; L apertura e la chiusura di una sezione CDATA; L inizio e la fine dello scope di ogni namespace; La lettura di caratteri, Processing Instructions, spazi non significativi. Utilità e Limiti di SAX Il parser Sax non costruisce documenti XML, né conserva alcuna struttura in memoria alla fine del parsing. Se il programmatore vuole operare sul documento letto, dovrà scrivere manualmente tutto il codice, basandosi sui dati passati con gli eventi SAX. In generale SAX necessita di molto più codice di DOM, ma è molto più leggero. Il programmatore può implementare solo quello che è strettamente utile, e non è necessario allocare il documento in memoria. SAX e DOM Anche se si ritenesse il DOM come la scelta migliore per la propria applicazione Java, capire SAX è importante per vari motivi: Il sistema di gestione degli errori del DOM è ereditato da SAX. Essendo SAX la prima API XML per Java, resta alla base anche dell implementazione DOM. Le librerie Java usano SAX per leggere un file XML e creare il DOM corrispondente! Events (SAX) Vengono notificati dal parser al client i singoli eventi che contraddistinguono il documento XML Events vs. Trees Concetti base Tree (DOM) Carica in memoria la struttura ad albero del documento XML. Tale struttura è accessibile da parte del client.

18 Tree-based API Event-based API Favorevoli Navigazione del documento XML Visione d insieme del documento Facilità di gestione della struttura dei documenti: aggiunta, eliminazione, spostamento dei nodi Sfavorevoli Notevole occupazione di memoria Prestazioni dipendenti dalla dimensione del documento Prima di iniziare ad utilizzare le informazione del documento il parser deve completare il caricamento in memoria Favorevoli Poche risorse utilizzate Uniformità di prestazioni Veloce ricerca di un elemento in un ampio documento Sfavorevoli Più difficile gestione della struttura del documento; l eventuale creazione di un albero è a carico del client. Rappresentazione grafica delle due tipologie DOM e SAX: differenze DOM & di SAX approccio DOM Approccio del Modello Struttura ad albero API per navigare l albero SAX Approccio ad Eventi Scansione dell intero file Ogni elemento informa l applicazione con un Callback PRO fornisce all applicazione un modello ricco del documento mantiene una rappresentazione completa e durevole in memoria Molto leggero Implementazione delle sole funzionalità necessarie CONTRO Richiede un occupazione di memoria per tutto il documento Interfaccia troppo semplice quindi più codice Nessun supporto per operare sul documento Esempio eventi Gestione dei NameSpace Documento XML <?xml version="1.0"?> <doc> <para>hello, world!</para> </doc> Eventi Notificati start document start element: doc start element: para characters: Hello, world! end element: para end element: doc end document Il nome di elementi e attributi e composto da due parti : URI e LocalName Puo essere gestito un Namespace, un Namespaceprefixes oppure entrambi

19 Vediamo un esempio (Caso Default per SAX2) <?xml version="1.0"?> <h:hello xmlns:h=" id="a1" h:person="david"/> Se namespaces è vero e namespace-prefixes è falso (the default), allora a SAX2 XML reader interpreterà come segue un elemento con Namespace URI " e il localname "hello"; un attributo senza Namespace URI (empty string) and the qname (and usually localname) "id"; and Un attributo con il Namespace URI " and e il localname "person". Riferimenti Specifica di XML dal W3C Apache XML Project (xalan, xerces) Java JAXP Tutorial index.html SAX Specifica DOM level 1 dal W3C Esempi di parser implementati in Java IL PARSER XERCES XML4J: La tecnologia alla base del parser XML di IBM è stata donata all'apache Group per lo sviluppo del parser Xerces. L'ultima versione di XML4J attualmente disponibile, la 3.0.1, è derivata dalla release di Xerces. ( Xerces: è un parser sviluppato dal team di Apache all'interno dell'apache XML Project. E' basato sui sorgenti di XML4J, implementa DOM (livello 1 e 2) e SAX (versione 2) e ha un supporto preliminare per gli schema XML. E' disponibile inoltre una versione in C++ con i wrapper Perl e COM. XP: XP è un parser non validante sviluppato da James Clark ( alle specifiche 1.0 di XML. Oltre a una normale API ad alto livello fornisce anche una API a basso livello per sviluppare nuovi parser. XP è sviluppato principalmente per ottenere alte prestazioni. Java Standard Extension for XML: Poiché XML e Java di Sun Microsystem sono un binomio molto collaudato, Sun ha prodotto un proprio package Java per XML (java.sun.com/products/xml/) Si tratta di un prodotto free sofware (GPL) scritto in Java E prodotto dal team di Apache all'interno dell'apache XML Project. E un parser validande tra i più robusti ed affidabili. Come funziona XERCES Modalità DOM (Document Object Model) Modalità SAX (Simple API for XML)

20 Installazione Scaricate il file xerces-j-bin.x.y.z.zip (dove X_Y_Z rappresenta l'ultima versione disponibile) a partire dalla pagina di download e decomprimetelo. La struttura delle directory creata contiene tutte le classi necessarie e la documentazione. Impostate la variabile CLASSPATH del vostro sistema in modo da includere i files xercesimpl.jar, xercessamples.jar,xmlais.jar,xmlparserapis.jar,resolver.jar posti nella directory di xerces.

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

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

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

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

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

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

XML: sintassi. Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1

XML: sintassi. Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1 XML: sintassi Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1 Cosa è XML 1 XML (Extensible Markup Language ) è un linguaggio di markup È stato progettato per lo scambio e la interusabilità di documenti

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

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

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

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

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

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

Document Type Definition (DTD)

Document Type Definition (DTD) Laboratorio di Programmazione Distribuita Document Type Definition () Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Relazione tra classi e oggetti

Dettagli

XML e PHP. Gestire XML con PHP. Appendice

XML e PHP. Gestire XML con PHP. Appendice Appendice XML e PHP Tra tutti i linguaggi di programmazione esistenti PHP è tra quelli che meglio si adattano all elaborazione di documenti XML. PHP è un linguaggio di programmazione che consente di arricchire

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

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

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

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

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

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

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

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

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

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

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

HTML+XML= XHTML. Che cos è l XHTML

HTML+XML= XHTML. Che cos è l XHTML HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti Che cos è l XHTML Nel gennaio del 2000 il W3C ha rilasciato, anziché una nuova versione, una riformulazione dell HTML come applicazione

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

Settimana I...1. Giorno 1 - Introduzione all XSLT...3

Settimana I...1. Giorno 1 - Introduzione all XSLT...3 Settimana I...1 Giorno 1 - Introduzione all XSLT...3 Generalità su XSLT...3 Introduzione a XML e XSLT... 4 Cos è XSLT?... 5 Che cosa fa XSLT?... 6 Come si presenta XSLT?... 6 XSLT e la famiglia di XML...

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

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

PIATTAFORMA DOCUMENTALE CRG

PIATTAFORMA DOCUMENTALE CRG SISTEMA DI GESTIONE DOCUMENTALE DMS24 PIATTAFORMA DOCUMENTALE CRG APPLICAZIONE PER LE PROCEDURE DI GARE D AMBITO 1 AGENDA 1. Introduzione 2. I Livelli di accesso 3. Architettura di configurazione 4. Accesso

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

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

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

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

XML (extensible Markup Language)

XML (extensible Markup Language) Supporto On Line Allegato FAQ FAQ n.ro MAN-8HVCNU5634 Data ultima modifica 16/06/2011 Prodotto Dichiarazioni fiscali 2011 Modulo Generica DF Oggetto: Modello IRAP 2011 XML - XMLNotepad: Guida all uso e

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Applicazioni e Architetture Internet 1 Introduzione Introduzione alle architetture a tre livelli Formati di dati per il Web HTML, XML, DTD 2 Componenti dei sistemi dataintensive Tre tipi separati di funzionalità:

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

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

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

Laboratorio di Programmazione Distribuita. Introduzione a XML. Dott. Marco Bianchi Università degli Studi di L'Aquila

Laboratorio di Programmazione Distribuita. Introduzione a XML. Dott. Marco Bianchi Università degli Studi di L'Aquila Laboratorio di Programmazione Distribuita Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Cos'è XML? XML = extensible Markup Language E' un meta-linguaggio

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

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

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

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

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Introduzione a Dev-C++

Introduzione a Dev-C++ Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP

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

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

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

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

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

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

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

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

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

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

/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

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

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

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Indice. Introduzione. Capitolo 1

Indice. Introduzione. Capitolo 1 Indice Introduzione XI Capitolo 1 Pagine dei fornitori: applicazione dei fogli di stile CSS in XML 1 1.1 Introduzione a HTML e XHTML 1 1.2 Controllo della presentazione: fogli di stile CSS 8 1.3 Approfondimento

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

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

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

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

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

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

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione HTML e Linguaggi Politecnico di Facoltà del Design Bovisa Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://home.dei.polimi.it/cugola Indice Il linguaggio del

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

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

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

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

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

Manuale per i redattori del sito web OttoInforma

Manuale per i redattori del sito web OttoInforma Manuale per i redattori del sito web OttoInforma Contenuti 1. Login 2. Creare un nuovo articolo 3. Pubblicare l articolo 4. Salvare l articolo in bozza 5. Le categorie 6. Modificare un articolo 7. Modificare

Dettagli

Come archiviare i dati per le scienze sociali

Come archiviare i dati per le scienze sociali Come archiviare i dati per le scienze sociali ADPSS-SOCIODATA Archivio Dati e Programmi per le Scienze Sociali www.sociologiadip.unimib.it/sociodata E-mail: adpss.sociologia@unimib.it Tel.: 02 64487513

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

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

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

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

Presidenza del Consiglio dei Ministri

Presidenza del Consiglio dei Ministri Manuale utente (front office) Aggiornato al 14 luglio 2011 Sommario 1. INTRODUZIONE... 3 2. MODALITÀ OPERATIVA... 4 2.1 Utenti ammessi alla trasmissione del file XML... 4 2.2 Controllo effettuato dal sistema

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