XML Introduzione Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis

Slides:



Advertisements
Presentazioni simili
I Namespace Mario Arrigoni Neri.
Advertisements

Introduzione al DTD Mario Arrigoni Neri.
Introduzione ad XML Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
HYPER TEXT MARK-UP LANGUAGE
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
Query OQL e XQUERY a confronto
Numerico-Vespignani, Informatica per le scienze umanistiche, Il Mulino, La rappresentazione dellinformazione testuale e i linguaggi di codifica.
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
Linguaggi di marcatura e fogli stile Presentazione del corso.
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Architettura del World Wide Web
Un’introduzione a HTML (I)
Introduzione e nozioni fondamentali di sintassi
Unità Didattica 2 I Linguaggi di Programmazione
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
XML per documenti e applicazioni transazionali su Internet Alessio Saltarin Progetto XML Factory.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Progettazione di una base di dati
Modello E-R Generalizzazioni
Corso di PHP.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
Linguaggi di codifica.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
VRML97 -Appendice- Cristina Donati 1 VRML97. Il Virtual Reality Modeling Language (VRML) è un formato di file volto alla descrizione degli oggetti interattivi.
V.1 Progettazione Multimediale – 1 Progettazione multimediale HTML e i tag di base.
Il metalinguaggio XML: la nuova frontiera per la codifica dellinformazione Relatore: Ing. Marco Porta Tesi di Laurea di: Andrea Mocchi ANNO ACCADEMICO.
Creare pagine web Xhtlm. Struttura di una pagina.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
Programma di Informatica Classi Prime
Hyper-Text Mark-Up Language
Introduzione a XML applicazioni in open archives Azalea III Incontro di Formazione, Roma 2-3 febbraio 2004.
INTRODUZIONE A JAVASCRIPT
Informatica Umanistica A.A. 2007/2008 LEZIONE 4 eXtensible Markup Language (XML) INTRODUZIONE.
Roma, 16 giugno 2005 AZALEA Un sistema di conoscenza in oncologia a disposizione di pazienti e cittadini Gli aspetti informatici.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
HTML I tag HTML (parte 1). I tag HTML  I comandi che il browser interpreta  Etichette per marcare l’inizio e la fine di un elemento HTML  Formato e.
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
CORSO Di WEB DESIGN prof. Leonardo Moriello
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Servizi Internet Claudia Raibulet
Informatica Umanistica LM - Scienze del Testo Docente Alessia Scacchi.
Progettazione di basi di dati: metodologie e modelli
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
Programmazione orientata agli Oggetti Introduzione a Java.
1 Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
HTML. Pagina HTML Struttura Titolo Hello World! Paragrafo apre il documento html contiene informazioni come il titolo della pagina, i meta tags, la codifica.
Transcript della presentazione:

XML Introduzione Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis

XML - Introduzione ai concetti2 Agenda Cosa è... Caratteristiche generali Origini storiche e motivazioni Vantaggi Concetto di metalinguaggio Concetto di tipo di documento Criteri di progettazione del linguaggio Sintassi di un documento Principi della validazione Utilizzo POP e MOM XML e EDI

XML - Introduzione ai concetti3 XML: cosa è XML: eXtensible Markup Language è un tecnologia che consente la rappresentazione di documenti e dati strutturati è uno dei più potenti e versatili sistemi per la creazione, archiviazione e condivisione di dati in formato digitale… … ma la sua sintassi rigorosa e flessibile ne rende possibile lapplicazione anche nella rappresentazione di dati strutturati, fornendo una soluzione alternativa ai tradizionali sistemi DBMS relazionali

XML - Introduzione ai concetti4 XML: cosa è XML è un metalinguaggio, che permette di definire sintatticamente linguaggi di markup XML permette di esplicitare la (le) struttura(e) di un documento in modo formale mediante marcatori (markup) che vanno inclusi allinterno del testo (character data) Il markup rappresenta la struttura logica del documento Il markup si riconosce dal resto del testo perché compreso tra delimiter, informalmente: &yyyy;

XML - Introduzione ai concetti5 XML: caratteristiche XML adotta un formato di file di tipo testuale: sia il markup sia il testo sono stringhe di caratteri XML si basa sul sistema di codifica dei caratteri ISO 10646/UNICODE Questo porta a due vantaggi nei riguardi dellinternazionalizzazione: È possibile scrivere documenti misti, senza ricorrere a trucchi strani per identificare la parte che usa un alfabeto dalla parte che ne adopera un altro Un documento scritto in un linguaggio non latino non deve basarsi su parametri esterni per essere riconosciuto come tale, ma la codifica stessa dei caratteri lo identifica Un documento XML è leggibile da un utente umano senza la mediazione di software specifico

XML - Introduzione ai concetti6 XML: caratteristiche XML è indipendente dal tipo di piattaforma hardware e software su cui viene utilizzato XML è uno standard di pubblico dominio 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

XML - Introduzione ai concetti7 XML: caratteristiche XML può essere usato come formato di scambio dati in applicazioni middleware XML permette la rappresentazione di qualsiasi tipo di documento (e di struttura testuale) indipendentemente dalle finalità applicative sono disponibili numerose applicazioni e librerie open source per la manipolazione di dati in formato XML basate su diversi linguaggi di programmazione (Java,.NET, C, Python, Perl…)

XML - Introduzione ai concetti8 La genesi - IBM, Fine anni 60 Incarico a Charles F. Goldfarb di costruire un sistema per la memorizzazione, la ricerca, la gestione e la pubblicazione di documenti legali Goldfarb scoprì che molti sistemi, in IBM, non potevano comunicare tra loro I formati dei file nelle diverse applicazioni sono proprietari...e diversi tra loro!!!

XML - Introduzione ai concetti9 C. Goldfaarb, E. Mosher, R. Lorie Costituito un team per risolvere il problema 3 fatti importanti I diversi programmi avevano bisogno di supportare una rappresentazione comune dei documenti Il linguaggio comune doveva essere specifico per i documenti legali Il linguaggio doveva essere specificato in una maniera formale, capace di delimitare in modo appropriato gli elementi La risposta è stato GML (Generalized Markup Language), precursore di SGML (Standard GML), il linguaggio da cui deriva XML

XML - Introduzione ai concetti10 Perché non SGML? SGML ha molti pregi, ma ha dalla sua una complessità duso e di comprensione notevole Non è pensato per la rete XML contiene tutte le caratteristiche di SGML che servono per creare applicazioni generali...senza scendere nel livello di dettaglio e pedanteria richiesti da SGML Inoltre, il successo di HTML ha fatto capire che: Il mondo degli sviluppatori è pronto ad accogliere il modello basato sul markup La semplicità è un punto di forza fondamentale

XML - Introduzione ai concetti11 XML: le origini XML è stato sviluppato dal World Wide Web XML deriva da SGML, pubblicato ufficialmente nel 1986 con la sigla ISO 8879 XML nasce come un sottoinsieme semplificato di SGML orientato alluso sul World Wide Web… … ma ha assunto ormai un ruolo autonomo e una diffusione maggiore del suo progenitore

XML - Introduzione ai concetti12 Il caso HTML XML non è un sostituto di HTML HTML nasce come DTD di SGML per la pubblicazione di semplici documenti testuali con qualche immagine e collegamento ipertestuale Vengono implementate nel tempo molte estensioni proprietarie che creano barriere allinteroperatività degli strumenti I browser (parser) rilassano le regole sintattiche ed interpretano anche documenti HTML scorretti HTML è per presentare informazioni, XML è per descrivere informazioni.

XML - Introduzione ai concetti13 I vantaggi di XML Documenti auto-descrittivi La scelta dei nomi degli elementi può essere fatta per facilitare la comprensione del ruolo strutturale dellelemento Inoltre, luso di un DTD può esplicitare le regole di composizione ed i rapporti possibili tra le varie parti dei documenti Facile convertibilità a formati Web trasformazioni tra formati XML Sintassi universale, minimale e rigorosa XML definisce una sintassi di scrittura utile per qualunque applicazione, vocabolario, linguaggio umano, sistema operativo

XML - Introduzione ai concetti14 I vantaggi di XML Ripetibilità degli elementi XML permette di definire formalmente elementi ripetibili. Questo permette strutture più flessibili e complesse di altri formati di dati Strutturazione gerarchica degli elementi Esistono molti formati di dati generici per l'interscambio di dati, ma sono tutti organizzati linearmente. XML permette strutture ad albero. Struttura navigabile dei documenti La sintassi rigorosa, la gerarchia garantita, la genericità delle strutture permettono la definizione di modelli di programmazione sui nodi dellalbero

XML - Introduzione ai concetti15 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 da XML un insieme di caratteristiche sintattiche comuni ogni applicazione XML a sua volta definisce una sintassi formale particolare

XML - Introduzione ai concetti16 Dato che XML è un metalinguaggio per specificare altri linguaggi, costituisce un livello comune per il dialogo in ambienti differenti XML non dice nulla su che tag utilizzare, ma fissa solo delle regole comuni per eseguire correttamente il parsing del file E possibile usare XML per gli scopi più disparati, a seconda delle operazioni che verranno eseguite dalla specifica applicazione di fronte al markup utilizzato Regole XML Tag specifici Appl. xml parser Dati (file XML) Il concetto di metalinguaggio

XML - Introduzione ai concetti17 metalinguaggio documenti Il concetto di metalinguaggio XML Math-ML XHTMLDocBook sintassi metasintassi linguaggi

XML - Introduzione ai concetti18 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 Un tipo di documento è caratterizzato da un insieme di elementi strutturali le relazioni di dipendenza tra gli elementi le relazioni di ricorrenza degli elementi Il tipo di documento è il fondamento della sintassi e della semantica di una applicazione XML

XML - Introduzione ai concetti19 La struttura gerarchica ordinata testo introduzione ? frontespizio ? corpo + titoloautore titolo paragrafo + capitolo + titolo paragrafo + ? appendice ? titolo + * PCDATAenfasicitazione paragrafo * PCDATAenfasicitazione

XML - Introduzione ai concetti20 Il concetto di tipo di documento La struttura ad albero del tipo di documento determina la sintassi del linguaggio di markup La sintassi di un tipo di documento deve essere espressa (mediante il markup) 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

XML - Introduzione ai concetti21 DTD & XML Schema Definiscono regole per la produzione di documenti strutturati Una DTD: Document Type Definition contiene le definizioni dei tipi di elementi, degli attributi, delle entità, delle notazioni. Un DTD dichiara quali elementi, tipi, entità notazioni sono legali …ed in quale parte del documento lo sono XML Schema: Successore delle DTD Basato su XML, fornisce unalternativa alle DTD, più potente Supporta namespace and data types

XML - Introduzione ai concetti22 Cosa cè con XML? XML è in realtà una famiglia di linguaggi. Alcuni hanno lambizione di standard, altri sono solo proposte di privati o industrie interessate. Alcuni hanno scopi generali, altri sono applicazioni specifiche per ambiti ristretti. XSLT: trasformazione di documenti XML RDF: specifica di metainformazioni machine-processable DOM, SAX: modelli e strutture dati per la programmazione SOAP, WSDL, UDDI: strutture dati e loro dichiarazione per di dati di interscambio tra applicazioni Migliaia di proposte di vocabolari con lo scopo di standardizzare linguaggi, processi e servizi in ambiti specializzati: RSS, Math-ML, CML, etc.

XML - Introduzione ai concetti23 Criteri di progettazione di XML Nel documento ufficiale di XML si elencano i seguenti obiettivi progettuali: 1.XML deve essere utilizzabile in modo diretto su Internet Non significa che deve essere possibile usarlo sul browser del giorno Significa che si dovevano tenere in conto le esigenze di applicazioni distribuite su reti a larga scala 2. XML deve supportare un gran numero di applicazioni Cioè XML non si limita al supporto di documenti in rete, ma a una larga classe di applicazioni che non centrano con la rete. Specificamente: deve essere possibile creare applicazioni come tool di authoring, filtri, formattatori, e traduttori

XML - Introduzione ai concetti24 Criteri di progettazione di XML 3.XML deve essere compatibile con SGML Tool SGML esistenti debbono essere in grado di leggere e scrivere documenti XML Istanze XML debbono essere istanze SGML così come sono, senza traduzioni, per quanto semplici Dato un documento XML, deve essere possibile generare un DTD SGML tale per cui un tool SGML esegue lo stesso parsing di un tool XML XML deve avere essenzialmente lo stesso potere espressivo di SGML Questi goal sono stati sostanzialmente raggiunti

XML - Introduzione ai concetti25 Criteri di progettazione di XML 4.Deve essere facile lo sviluppo di programmi che elaborino documenti XML Deve essere possibile creare applicazioni XML utili che non dipendano dal leggere ed interpretare il DTD 5.Il numero di caratteristiche opzionali deve essere mantenuto al minimo possibile, idealmente a zero. SGML, per generalità, aveva adottato un numero molto alto di caratteristiche opzionali, di dubbia utilità, o molto specifiche ogni processore SGML implementava solo parte delle caratteristiche opzionali. Documenti SGML conformi che potevano essere letti da un processore SGML non venivano letti da un altro

XML - Introduzione ai concetti26 Criteri di progettazione di XML 6.I documenti XML dovrebbero essere leggibili da umani e ragionevolmente chiari Formati testuali sono più aperti, più utili, più gradevoli rispetto a formati binari Inoltre, si può sempre aprire il documento con un editor di testi... 7.La specifica del linguaggio XML deve avvenire rapidamente La paura era che le esigenze di estensibilità del Web potessero essere soddisfatte da una qualche combinazione di complicati formati binari e di sistemi proprietari

XML - Introduzione ai concetti27 Criteri di progettazione di XML 8.La progettazione XML deve essere formale e concisa La specifica di SGML è composta di un documento di oltre 300 pagine. Il manuale SGML ne richiede più di 600, e comunque non è facilmente leggibile La scelta di formalismi nitidi e pochi commenti ha permesso la creazione di una specifica XML notevolmente più corta (~40 pag.) e immediatamente utilizzabile 9.I documenti XML devono essere facili da creare

XML - Introduzione ai concetti28 Sintassi di un documento XML Concretamente, un documento XML è un file di testo che contiene una serie di tag, attributi e testo secondo regole sintattiche ben definite Un documento XML è intrinsecamente caratterizzato da una struttura gerarchica Esso è composto da componenti denominati elementi Ciascun elemento rappresenta un componente logico del documento e può contenere altri elementi (sottoelementi) o del testo

XML - Introduzione ai concetti29 Gli elementi possono avere associate altre informazioni che ne descrivono le proprietà. Queste informazioni sono chiamate attributi Lorganizzazione degli elementi segue un ordine gerarchico ad albero che prevede un elemento principale, chiamato root element o semplicemente root o radice La radice contiene linsieme degli altri elementi del documento. Possiamo rappresentare graficamente la struttura di un documento XML tramite un albero, generalmente noto come document tree Sintassi di un documento XML

XML - Introduzione ai concetti30 Per fissare le idee prendiamo in considerazione la rappresentazione di un generico articolo a carattere tecnico e proviamo a rappresentarlo secondo il modello XML, come mostrato in figura. articolo testo paragrafo testo immagine paragrafo codice testo titolo file Sintassi di un documento XML

XML - Introduzione ai concetti31 Blocco di testo del primo paragrafo Blocco di testo del secondo paragrafo Esempio di codice Altro blocco di testo Riferimento ad un articolo Sintassi di un documento XML

XML - Introduzione ai concetti32 Sintassi di un documento XML Prologo XML, necessario per ogni documento XML Ogni documento XML deve contenere un unico elemento di massimo livello (root) che contenga tutti gli altri elementi del documento. Ogni elemento deve avere un tag di chiusura o, se vuoti, possono prevedere la forma abbreviata (/>) Gli elementi devono essere opportunamente nidificati, cioè i tag di chiusura devono seguire lordine inverso dei rispettivi tag di apertura XML è case-sensitive I valori degli attributi devono sempre essere racchiusi tra singoli o doppi apici

XML - Introduzione ai concetti33 La violazione di una qualsiasi di queste regole fa in modo che il documento risultante non venga considerato ben formato. Anche se queste regole possono sembrare semplici, occorre prestarvi molta attenzione se si usa un semplice editor di testo. Codice del tipo... darà qualche problema, e lo stesso dicasi per situazioni analoghe alla seguente: abcdefghi... Sintassi di un documento XML

XML - Introduzione ai concetti34 Anche la scelta dei nomi dei tag deve seguire alcune regole. Un tag può iniziare con un lettera o un underscore (_) e può contenere lettere, numeri, il punto, lunderscore (_) o il trattino (-). Non sono ammessi spazi o altri caratteri. XML è sensibile alluso di maiuscolo e minuscolo, quindi i tag e sono considerati diversi. Potrebbe essere necessario inserire in un documento XML dei caratteri particolari che potrebbero renderlo non ben formato. Ad esempio, se dobbiamo inserire del testo che contiene il simbolo <, corriamo il rischio che possa venire interpretato come linizio di un nuovo tag, come nel seguente esempio: il simbolo < indica minore di Sintassi di un documento XML

XML - Introduzione ai concetti35 Per evitare situazioni di questo tipo, XML prevede entità che consentono di sostituire altri caratteri. Generali: incluse nel documento XML Interne: esistono allinterno del documento Esterne: esistono allesterno del documento Parametriche: incluse nelle DTD & & < " " &apos; Sfruttando le entità, lesempio precedente diventa: il simbolo < indica minore di Sintassi di un documento XML

XML - Introduzione ai concetti36 In determinate situazioni gli elementi da sostituire con le entità possono essere molti, il che rischia di rendere illeggibile il testo ad essere umano. Si consideri il caso in cui un blocco di testo illustri proprio del codice XML: In questo caso, al posto di sostituire tutte le occorrenze dei simboli speciali con le corrispondenti entità è possibile utilizzare una sezione CDATA. Sintassi di un documento XML

XML - Introduzione ai concetti37 Una sezione CDATA (Character DATA) è un blocco di testo che viene considerato sempre come testo, anche se contiene codice XML o altri caratteri speciali. Per indicare una sezione CDATA è sufficiente racchiuderla tra le sequenze di caratteri. Il nostro esempio diventerà come segue: <![CDATA[ ]]> In certe situazioni non si conosce a priori il contenuto che può essere inserito in un blocco di testo e pertanto lutilizzo delle sezioni CDATA risulta obbligatorio. Sintassi di un documento XML

XML - Introduzione ai concetti38 Documenti ben formati o validi Ogni linguaggio, applicazione XML, ha le sue regole HTML ha le sue regole, ma non cè modo di farle applicare agli autori I browser visualizzano anche documenti HTML non conformi Se i documenti non sono formalmente corretti, è rischioso elaborarli automaticamente Paolo Lesempio (HTML) viene visualizzato correttamente, ma il markup lascia a desiderare. Non è possibile farci affidamento

XML - Introduzione ai concetti39 Documenti ben formati o validi XML distingue due tipi di documenti rilevanti per le applicazioni XML: i documenti ben formati (well formed) ed i documenti validi Un documento con un markup comprensibile, è detto ben-formato Un documento benformato è un documento intelligibile Un documento XML si dice ben formato se: Tutti i tag di apertura e chiusura corrispondono e sono ben annidati Esiste un elemento radice che contiene tutti gli altri I tag vuoti (senza contenuto) utilizzano un simbolo speciale di fine tag: Tutti gli attributi sono sempre racchiusi tra virgolette Tutte le entità sono definite

XML - Introduzione ai concetti40 Documenti ben formati o validi Un documento è valido se dichiara la sua conformità con uno specifico DTD Un documento è non valido se non è conforme al suo DTD Può comunque essere ben formato Un documento che non dichiara un DTD non è invalido - non viola il DTD non è valido - non è conforme al DTD

XML - Introduzione ai concetti41 Parser validanti e non validanti Il cuore di un applicazione XML è il parser, ovvero quel modulo che legge il documento XML e ne crea una rappresentazione interna utile per successive elaborazioni (come la visualizzazione) Un parser validante, in presenza di un DTD, è in grado di verificare la validità del documento, o di segnalare gli errori di markup presenti Un parser non validante invece, anche in presenza di un DTD è solo in grado di verificare la buona forma sintattica del documento Un parser non validante è molto più semplice e veloce da scrivere, ma è in grado di fare meno controlli. In alcune applicazioni, però, non è necessario validare i documenti, solo verificare la loro buona forma

XML - Introduzione ai concetti42 Quando scegliere XML? Quali sono le condizioni per adottare XML in un progetto? E nuovo ed è di moda...ma ciò è banale! Alcune buone e vere ragioni per luso di XML: Produzione di documenti automatici Gestione indipendente di produzione e uso di dati Elaborazione di dati con aspetti strutturali complessi

XML - Introduzione ai concetti43 Produzione di documenti automatici XML è la soluzione in assoluto più elegante (anche se ad oggi ancora faticosa) per integrare collezioni di dati strutturati sul Web Documenti dinamici, sono facilmente esprimibili in XML, e gli strumenti attuali si concentrano su questo Quando scegliere XML?

XML - Introduzione ai concetti44 Gestione indipendente di produzione ed uso di dati Spesso linterscambio di dati avviene allinterno di un workflow controllato e noto. In questo caso, data producers e data consumers sono creati ad hoc per lo specifico flusso informativo. XML è una complicazione inutile Tuttavia esistono delle situazioni in cui non cè progettazione integrata di producer e consumer. In questo caso, unadeguata progettazione del producer facilita molto il lavoro di tutti i possibili consumer XML è strutturato, auto-esplicativo, enfatizza la descrizione del dato più che del suo scopo nella elaborazione. E quindi ideale per le situazioni in cui lelaborazione non è nota in anticipo. Quando scegliere XML?

XML - Introduzione ai concetti45 Elaborazione di dati con aspetti strutturali complessi I database utilizzano le relazioni per ogni tipo di esigenza Complicato gestire, in una tabella, record con un numero variabile di campi, o situazioni alternative complesse XML prevede strutture con blocchi ripetuti, alternativi, facoltativi. La descrizione di queste strutture in XML è molto più naturale che con DB relazionali Quando scegliere XML?

XML - Introduzione ai concetti46 Esempio: Il publishing Revisione di bozze Formatting markup fatto da mano umana! Nel computer Rendition: un file che contiene sia i dati che la descrizione del loro formato LaTex, troff, rtf, Postscript, etc. Presentation: il risultato della conversione di una rendition in qualcosa di comprensibile allessere umano Strumenti WYSIWYG = rendition + GUI

XML - Introduzione ai concetti47 Opportunità duso POP (Presentation oriented publishing) MOM (Message oriented middleware)

XML - Introduzione ai concetti48 Presentation Oriented Publishing POP è stata lapplicazione killer di SGML Ha portato enormi risparmi alle aziende che lavoravano sul Web negli anni 80 Invece di creare documenti formattati, gli utenti umani creano astrazioni non formattate Il file rappresenta ciò che è nel documento, non come deve apparire Lutente POP non si preoccupa dei dati ma della rendition Per ottenere il risultato desiderato specificare dei foglio di stile, uno per la stampa, uno per il CD-Rom, uno per il Web, etc.

XML - Introduzione ai concetti49 Message Oriented Middleware MOM lapplicazione killer di XML sul Web MOM influenza radicalmente il concetto di middleware

XML - Introduzione ai concetti50 Message Oriented Middleware Il markup XML fornisce informazioni sui dati: metadati I client possono leggere dati provenienti da qualunque fonte, a condizione che siano in formato XML Non più routine specializzate da aggiornare ogni volta, ma un singolo XML parser che separa il markup dai dati Lutente MOM non si preoccupa della rendition E compito dellutente POP I documenti MOM tendono ad essere a vita breve, veri messaggi da consumare

XML - Introduzione ai concetti51 Riepilogando Un documento XML può essere utilizzato in modi diversi Parsing: estrazione del contenuto a partire dai metadati Rendering: visualizzazione del contenuto in funzione di uno stylesheet

XML - Introduzione ai concetti52 XML ed EDI Cosa è lElectronic Data Interchange Il vecchio EDI Il nuovo EDI: XML e Internet

XML - Introduzione ai concetti53 XML ed EDI EDI è lo scambio tra computer di informazioni strutturate, che aderiscono a standard di messaggi, con il minimo intervento umano Comprende: Un set di regole sintattiche per strutturare i dati Un protocollo per lo scambio interattivo Messaggi standard Le organizzazioni che inviano o ricevono documenti sono chiamate in terminologia EDI "trading partners"

XML - Introduzione ai concetti54 XML ed EDI Negli ultimi 40 anni le aziende hanno investito migliaia di miliardi (di $!) nellautomazione dei loro processi interni Gli investimenti hanno portato ad un notevole miglioramento dellefficienza Questa efficienza non è ancora stata estesa ai processi esterni Le aziende hanno creato isole di automazione, isolate dai loro partner - clienti, fornitori, etc. Le interazioni esterne sono inefficienti perché spesso basate su processi manuali

XML - Introduzione ai concetti55 Cosa è EDI… e cosa non è! EDI è stata proposta come la soluzione ai problemi di integrazione fra processi di aziende diverse EDI è interazione effettiva tra i sistemi EDI, dentro una grande corporation, è interazione tra i processi delle diverse divisioni Cosa non è EDI EDI non è import/export di dati fra sistemi EDI non sono i batch serali …

XML - Introduzione ai concetti56 Il vecchio EDI Formati diversi per ciascuna applicazione Il codice applicativo non ha una vista univoca Nuovi attori hanno impatti devastanti

XML - Introduzione ai concetti57 Il vecchio EDI Può soltanto condividere elementi definiti in precedenza I nuovi bisogni non possono essere facilmente soddisfatti

XML - Introduzione ai concetti58 Il vecchio EDI Ci sono notevoli differenze tra quanto promesso e le attuali implementazioni di EDI, fondamentalmente errate Difficili e costose da implementare Richiedono soluzioni specifiche per ogni coppia di partner E come se fosse necessario disporre di una linea telefonica dedicata per ogni persona con la quale si comunica Internet è la soluzione?...XML può esserlo

XML - Introduzione ai concetti59 XML può essere la soluzione XML è una notazione universale che consente ai sistemi di memorizzare e trasferire dati che possono essere compresi da qualunque altro sistema Mantiene il contenuto e la struttura Separa le business rule dai dati

XML - Introduzione ai concetti60 XML può essere la soluzione Formati diversi per ciascuna applicazione XML fornisce una singola vista logica Larchitettura flessibile supporta nuovi componenti

XML - Introduzione ai concetti61 Internet oggi Poco supporto dai tool Time-to-market eccessivo Cost of Ownership elevato Tecnologie ed API proprietarie

XML - Introduzione ai concetti62 Internet oggi Reazione lenta ai cambiamenti Costi di manutenzione elevati Flessibilità limitata I cambiamenti dei dati si propagano a tutti i livelli

XML - Introduzione ai concetti63 XML + Internet oggi Più standard Più semplice Più facilmente estensibile Minori costi di manutenzione Maggiore reattività API e template language standard

XML - Introduzione ai concetti64 Alcuni Riferimenti Deitel et al, XML Corso di programmazione, Apogeo