Laboratorio di Ingegneria Informatica

Save this PDF as:
 WORD  PNG  TXT  JPG

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.

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

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

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

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 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

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 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

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

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

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

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

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

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

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

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

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

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

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

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

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

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

Sommario. Settimana - Gli elementi fondamentali... 1. Introduzione...xv. Giorno 1 - I linguaggi di markup...3

Sommario. Settimana - Gli elementi fondamentali... 1. Introduzione...xv. Giorno 1 - I linguaggi di markup...3 000B-XML-Somm.fm Page iii Wednesday, June 12, 2002 9:25 AM Sommario Introduzione...xv A chi si rivolge questo libro...xvi Convenzioni usate in questo libro...xvi Settimana - Gli elementi fondamentali...

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-based. Progettazione di Sistemi Interattivi. Implementazione di sistemi interattivi web-based (prima parte) Gli Standard Web

Applicazioni web-based. Progettazione di Sistemi Interattivi. Implementazione di sistemi interattivi web-based (prima parte) Gli Standard Web Progettazione di Sistemi Interattivi Implementazione di sistemi interattivi web-based (prima parte) Docente: Daniela Fogli Applicazioni web-based Il World Wide Web (W3C) [www.w3.org]: Fondato da Tim Berners-Lee

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: 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

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

XML exstensible Markup Language

XML exstensible Markup Language XML exstensible Markup Language Metalinguaggio Orientamento al web Enorme diffusione 1 GML 1969 C.Goldfarb (IBM) SGML 1975 C. Goldfarb Genesi di XML HTML 1989 Tim- Berners Lee (CERN) W3C 1995 Nasce il

Dettagli

Università di Bergamo Facoltà di Ingegneria. Applicazioni Internet B. Paolo Salvaneschi B6_5 V1.11. JSP parte E

Università di Bergamo Facoltà di Ingegneria. Applicazioni Internet B. Paolo Salvaneschi B6_5 V1.11. JSP parte E Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B6_5 V1.11 JSP parte E Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e

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

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 27 Marzo 2012 Architetture Architetture Web Protocolli di Comunicazione Il Client Side

Dettagli

Tecnologie per XML. Tecnologie per XML

Tecnologie per XML. Tecnologie per XML Progetto di sistemi informatici 2004 - Tecnologie per XML Paolo Papotti papotti@dia.uniroma3.it Lab. basi di dati Cosa vedremo oggi Richiami di XML Rappresentazione dati Sintassi Schemi Tecnologie per

Dettagli

Tecniche Multimediali

Tecniche Multimediali Un programma di computer fa quello che gli dici, non quello che vuoi. Legge di Greer (Leggi di Murphy applicate all informatica) Tecniche Multimediali Corso di Laurea in «Informatica» - aa 2010-2011 Prof.

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

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

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice Indice 4. XML Extensible Markup Language...2 4.1 Usi di XML...3 4.2 Caratteristiche di XML...3 4.3 Elementi...5 4.4 Attributi...5 4.4.1 Documento XML ben formato...6 4.5 Informazioni di controllo...6 4.5.1

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

XML e TEI: introduzione alla codifica dei testi letterari. La nascita del linguaggio. Il concetto di metalinguaggio di codifica SGML

XML e TEI: introduzione alla codifica dei testi letterari. La nascita del linguaggio. Il concetto di metalinguaggio di codifica SGML XML e TEI: introduzione alla codifica dei testi letterari Con la codifica dei testi si intende la rappresentazione dei testi stessi su un supporto digitale in un formato utilizzabile dall'elaboratore (Machine

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 8 Il linguaggio XML extensible Markup Language XML è un linguaggio di

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

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

Linguaggi per la descrizione dei documenti

Linguaggi per la descrizione dei documenti SGML (Standard General Markup Language) Linguaggi per la descrizione dei documenti SGML,HTML,XML Molteplicità di documenti di tipo diverso (es. web): articoli, cataloghi, rubriche, tabelle di dati etc..

Dettagli

Introduzione al Linguaggio HTML

Introduzione al Linguaggio HTML Introduzione al Linguaggio HTML 2 Cosa e l HTML HTML = Hyper Text Markup Language Serve per produrre documenti nel WWW (World Wide Web) Utilizza un insieme predefinito di marcatori (TAG) per definire la

Dettagli

ma l XML va ben al di là dell HTML: serve per descrivere

ma l XML va ben al di là dell HTML: serve per descrivere Il metalinguaggio XML 1 Introduzione all'xml Il futuro dei linguaggi di markup: XML = EXtensible Markup Language è una versione semplificata dell SGML Nasce con l'intento di superare alcune limitazioni

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

Dettagli

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML

Il linguaggio XML. Capitolo 3. 3.1 Introduzione al linguaggio XML Capitolo 3 Il linguaggio XML 3.1 Introduzione al linguaggio XML Il linguaggio XML (extensible Markup Language) è stato sviluppato nel 1996 da XML Working Group, gruppo di lavoro organizzato dal World Wide

Dettagli

Introduzione al linguaggio XML, extensible Markup Language

Introduzione al linguaggio XML, extensible Markup Language Introduzione al linguaggio XML, extensible Markup Language Lezione del Corso Interazione Uomo Macchina 1, Docente Francesco Mele Corso di Laurea in Informatica Università di Napoli Federico II, Anno Accademico

Dettagli

XML (extensible Markup Language) e i Linguaggi di Schema

XML (extensible Markup Language) e i Linguaggi di Schema Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi A.A. 2012-2013 XML (extensible Markup Language) e i Linguaggi di Schema Eufemia TINELLI XML Un framework per definire linguaggi

Dettagli

XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS

XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS CSS e XML Per formatare i documenti XML è possibile seguire due strade: Quando non c è bisogno della potenza elaborativa di XSL, l utilizzo

Dettagli

Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat

Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat Laboratorio di Tecnologie Web HTML: Introduzione Dott. Stefano Burigat www.dimi.uniud.it/burigat File HTML e tag Un file HTML non è nient'altro che un puro file di testo al cui interno sono presenti delle

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

XSLT WWW. Fabio Vitali 14 aprile 2000

XSLT WWW. Fabio Vitali 14 aprile 2000 XSLT Fabio Vitali 14 aprile 2000 Introduzione Oggi esaminiamo in breve: XSLT, ovvero il linguaggio di stile di XML. 2 XSL: un linguaggio di stylesheet Poiché nessun elemento di XML possiede un significato

Dettagli

XML e Basi di Dati Corso di Basi di Dati 1. XML e basi di dati. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine

XML e Basi di Dati Corso di Basi di Dati 1. XML e basi di dati. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine XML e Basi di Dati Corso di Basi di Dati 1 XML e basi di dati Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine XML e Basi di Dati Corso di Basi di Dati 2 Cos è XML XML è l

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

Rappresentare i file XML - XSL

Rappresentare i file XML - XSL Rappresentare i file XML - XSL Laura Papaleo papaleo@disi.unige.it CSS2, XSL, XSLT, XPath 1 XSL - exstensible Stylesheet Language XSL Raccomandazione del W3C (2001) Per aumentare la flessibilità dello

Dettagli

2.1 Introduzione ai linguaggi di marcatura

2.1 Introduzione ai linguaggi di marcatura Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata 2.1 Introduzione ai linguaggi di marcatura Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

4 - XML e basi di dati

4 - XML e basi di dati Sommario 4 - XML e basi di dati 1. Introduzione. 2. Dati strutturati, semistrutturati e non strutturati. 3. Modello dei dati gerarchico (Albero) di XML. 4. Documenti XML, DTD, e schema XML. 5. Documenti

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2014 2015 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti DTD Creazione

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

HTML SITI WEB. FEQUENZA OBBLIGATORIA 80% ESERCITAZIONI (laboratorio) RICONOSCIMENTO 3 CFU. infolab@uniroma3.it host.uniroma3.it/laboratori/infolab

HTML SITI WEB. FEQUENZA OBBLIGATORIA 80% ESERCITAZIONI (laboratorio) RICONOSCIMENTO 3 CFU. infolab@uniroma3.it host.uniroma3.it/laboratori/infolab HTML SITI WEB FEQUENZA OBBLIGATORIA 80% ESERCITAZIONI (laboratorio) RICONOSCIMENTO 3 CFU infolab@uniroma3.it host.uniroma3.it/laboratori/infolab INTERNET Generalmente Internet è definita la rete delle

Dettagli

XML e standard connessi. XML, XML-Names, XSL, XPointer, XLink

XML e standard connessi. XML, XML-Names, XSL, XPointer, XLink XML e standard connessi XML, XML-Names, XSL, XPointer, XLink 1 Sommario Introduzione XML 1.0 XML-Names XSL XPointer e XLink 2 XML XML (Extensible Markup Language [sic!]) è un meta-linguaggio di markup,

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

XSLT. Testo di riferimento. Cos'è XSLT. Come funziona XSLT

XSLT. Testo di riferimento. Cos'è XSLT. Come funziona XSLT XSLT Moreno Marzolla INFN Sezione di Padova moreno.marzolla@pd.infn.it http://www.dsi.unive.it/~marzolla Testo di riferimento Erik T. Ray, Learning XML, O'Reilly, First Edition, January 2001 ISBN: 0-59600-046-4,

Dettagli

XML (extensible Markup Language)

XML (extensible Markup Language) Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A.A. 2011-2012 XML (extensible Markup Language) Eufemia TINELLI Contenuti Vista logica di XML Vista fisica di

Dettagli

HTML (Hyper Text Markup Language)

HTML (Hyper Text Markup Language) HTML (Hyper Text Markup Language) E un linguaggio di scrittura di pagine per Internet (pagine web) nato nel 1992. E un linguaggio di marcatura ipertestuale Non è un linguaggio di programmazione, in quanto

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

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

XML e Database. Giuseppe Della Penna Università degli Studi di L Aquila. Giuseppe.DellaPenna@univaq.it http://www.di.univaq.

XML e Database. Giuseppe Della Penna Università degli Studi di L Aquila. Giuseppe.DellaPenna@univaq.it http://www.di.univaq. XML e Database Giuseppe Della Penna Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology

Dettagli

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

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

CORSO I.F.T.S. "TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE DISPENSE DIDATTICHE. MODULO di DATABASE SEMANTICI Ing.

CORSO I.F.T.S. TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE DISPENSE DIDATTICHE. MODULO di DATABASE SEMANTICI Ing. CORSO I.F.T.S. "TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO di DATABASE SEMANTICI Ing. Simone Menabeni Lezione del 15/09/2014 1 Xml, Rdf Ing.

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

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 Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 1 Aprile 2014 Architetture Web I Server Web e gli Standard della Comunicazione Il Server

Dettagli

SVILUPPARE TEMPLATE CON ARIADNE WCM. Linguaggi e tecnologie per sviluppare siti web

SVILUPPARE TEMPLATE CON ARIADNE WCM. Linguaggi e tecnologie per sviluppare siti web SVILUPPARE TEMPLATE CON ARIADNE WCM Linguaggi e tecnologie per sviluppare siti web 1 Le componenti da considerare XML XSL + XPATH TEMPLATE REPOSITORY ACM 2 Sviluppare Template con Ariadne WCM 1. INTRODUZIONE

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza I riferimenti riguardano quanto indicato nelle Recommendation del World Wide Web Consortium (W3C) ed in particolare in quelle

Dettagli

XML FONDAMENTI ED ELEMENTI BASE DEL LINGUAGGIO...

XML FONDAMENTI ED ELEMENTI BASE DEL LINGUAGGIO... Appunti su XML I testi sono stati elaborati prendendo spunto, oltre che dalle fonti bibliografiche e dai link citati in chiusura, dagli appunti raccolti da SABRINA AURICCHIO, ILARIA BARBANTI, SILVIA MAZZINI

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM

Università degli Studi di Bologna Facoltà di Ingegneria. Tecnologie Web T A.A. 2014 2015. Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Università degli Studi di Bologna Facoltà di Ingegneria Tecnologie Web T A.A. 2014 2015 Esercitazione 2 XML, DTD, XSD, Parser SAX/DOM Agenda Creazione di documenti XML Creazione di documenti DTD Creazione

Dettagli

XML e XSD. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

XML e XSD. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com XML e XSD Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Ordine di Acquisto Servizio: eshop Operazione: ordine di acquisto Dati dell'ordine: prodotti quantità corriere Playstation 2 Controller

Dettagli

FormScape V3.1: SUPPORTO XML

FormScape V3.1: SUPPORTO XML FormScape V3.1: SUPPORTO Maggio 2004 FormScape V3, la Soluzione Intelligente per Creare, Gestire, Visualizzare e Distribuire i Tuoi Documenti FormScape V3 Page 1 Introduzione Il formato si sta affermando

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

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

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

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

Itis Cardano. Introduzione a HTML. Pavia. M. Rivera Itis Cardano Pavia. A.s. 2005-2006

Itis Cardano. Introduzione a HTML. Pavia. M. Rivera Itis Cardano Pavia. A.s. 2005-2006 Introduzione a HTML A.s. 2005-2006 M. Rivera Itis Cardano Pavia Itis Cardano Pavia Sommario Introduzione al linguaggio HTML Struttura di un documento HTML Link ipertestuali Immagini e oggetti multimediali

Dettagli

Document Object Model (DOM)

Document Object Model (DOM) Laboratorio di Programmazione Distribuita Document Object Model (DOM) Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Definizione di DOM Il DOM

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

Corso html 5. Di Roberto Abutzu. *********** Quarta parte: Body ed elementi strutturali. ********** Cos'è il Body e gli elementi strutturali?

Corso html 5. Di Roberto Abutzu. *********** Quarta parte: Body ed elementi strutturali. ********** Cos'è il Body e gli elementi strutturali? Corso html 5. Di Roberto Abutzu. *********** Quarta parte: Body ed elementi strutturali. ********** Cos'è il Body e gli elementi strutturali? Riprendiamo il discorso, introducendo la tag Body e iniziando

Dettagli

Linguaggi per la descrizione dei documenti SGML,HTML,XML

Linguaggi per la descrizione dei documenti SGML,HTML,XML Linguaggi per la descrizione dei documenti SGML,HTML,XML SGML (Standard General Markup Language) Molteplicità di documenti di tipo diverso (es. web): articoli, cataloghi, rubriche, tabelle di dati etc..

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Sistema integrato dei portali RAS: specifiche di integrazione

Sistema integrato dei portali RAS: specifiche di integrazione Sistema integrato dei portali RAS: specifiche di integrazione Linee guida tecniche per l'integrazione con il presentation layer del CMS RAS Data: File: Allegato 3 - Specifiche di integrazione SIP-RAS.odt

Dettagli

Inquadramento XML. Il problema dell Information- Integration. Esempio

Inquadramento XML. Il problema dell Information- Integration. Esempio Inquadramento XML Dati semistrutturati Extensible Markup Language Document Type Definitions Leggere paragrafi 4.6, 4.7 Garcia- Molina et al. 1. Information Integration: estrarre informazioni da database

Dettagli