STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere di scambiare non solo la rappresentazione ma anche la struttura del documento.
STRUTTURA E RAPPRESENTAZIONE –I prodotti WYSIWYG limitano la portabilità –I linguaggi di markup indicano le caratteristiche di un testo marcando porzioni di testo –I linguaggi di markup prescindono dal software con cui sono generati –HTML è un linguaggio di markup
STRUTTURA E RAPPRESENTAZIONE –HTML presenta numerosi limiti : aumento dei dead links perchè il link è solo un valore di un attributo interno al file non è nato per inserire elementi multimediali e necessita di tecnologie parallele proprietarie (Scockwave, Acrobat, Javascript) che non funzionano su tutti i browser
STRUTTURA E RAPPRESENTAZIONE –HTML presenta numerosi limiti : Non cè distinzione fra tag struttura e tag rappresentazione I motori di ricerca sono costretti a fare ricerche su tutto il testo a parità di importanza I tag sono solo predefiniti e non è possibile definirne di nuovi
XML - eXtensible Markup Language –Nasce così XML, metalinguaggio per creare linguaggi personalizzati –Porta nel WWW lo Standard Generalized Markupo Language (SGML) nato nel 1986 –E un sottoinsieme più semplice di SGML –Descrive la struttura dei dati e non la loro rappresentazione –Permette di creare tag personalizzati
XML - eXtensible Markup Language –Fornisce un modo per definire i tag e i rapporti strutturali fra loro –Il parser è application-independent –Consente a gruppi di persone di creare il proprio linguaggio di markup –Lo stesso sorgente può essere visualizzato in modi diversi e con device diversi (anche audio)
XML - eXtensible Markup Language –I link in XML sono controllati dal linguaggio XLL che controlla e gestisce gli eventi associati – I link in XML possono essere: bidirezionali multipli (uno a molti e molti a uno - es. Web rings) links a sezioni strutturali di un documento links a sequenze di documenti links definiti allesterno del documento
XML - eXtensible Markup Language –Un tool per leggere un documento XML consiste di due parti: un Parser che esegue il controllo semantico e gestisce gli errori un Processor che utilizzando un file di styling separato visualizza il documento.
XML - eXtensible Markup Language –Permette di creare un modello, chiamato Document Type Definition (DTD), che descrive la struttura di una classe di documenti. –Può essere utilizzato come piattaforma per lo scambio di dati tra applicazioni e database di fornitori differenti e sistemi operativi diversi
XML - eXtensible Markup Language –Esistono diversi linguaggi di styling –Il linguaggio di styling XSL definisce la specifica per la presentazione –con XSL è possibile creare fogli di stile di qualunque formato (audio, video, braille,…)
XML - eXtensible Markup Language Foglio di stile XSL per browser (HTML) Foglio di stile XSL per braille Foglio di stile XSL per sintesi vocale Documento XML Processore XML/XLS OUTPUT
XML - SINTASSI –Un file XML comincia sempre con la dichiarazione di versione: –Un elemento è un blocco elementare del documento XML –Ogni elemento è identificato da un tag –Un tag viene utilizzato per individuare un dato identificandolo con un nome, es. Laura
XML - SINTASSI –Gli attributi sono pensabili come aggettivi perchè descrivono gli elementi. Ogni attributo ha un nome e un valore. Il valore segue il nome: Italia –Un attributo consente di aggiungere allelemento informazioni addizionali, ad es. lelemento LIBRO può avere attributo RILEGATURA con valori rigida o brossura.
XML - SINTASSI –Un documento XML deve essere ben formato, ossia: Lintero contenuto del documento deve essere racchiuso entro un singolo elemento I marcatori devono essere correttamente bilanciati I valori degli attributi devono essere fra virgolette
XSL –E il linguaggio proprietario di XML per lo styling. –Lassociazione fra documento XML e foglio di stile avviene attraverso listruzione –I componenti di XLS sono: construction rules style rules named styles macros scripts
DTD –Un particolare linguaggio XML è definito dal suo DTD –In genere il file DTD è esterno al file XML –Una DTD è una Document Type Definition. Definisce gli elementi gli attributi le relazioni che intercorrono fra elementi –Il suo utilizzo non è obbligatorio –Quando un documento XML viene processato, viene confrontato con la DTD associata.
ESEMPI DATABASE ETEROGENEI Es.: il sistema informativo di unazienda ospedaliera Il record del paziente è una collezione di documenti storici. Il centro di cura interessato deve accedere alla documentazione via browser, stamparla e reintrodurla manualmente nel suo sistema informativo. La soluzione giusta è fare un drag&drop dall cartella su web al proprio database.
ESEMPI PROCESSI DISTRIBUITI Nelle grandi industrie viene mantenuta molta deocumentazione che va scambiata allinterno dei consorzi (es. Intel, Philps, Texas, etc.) A questo scopo vengono implementati linguaggi di markup appositi come veicolo per la distribuzione dati. Nel caso dei semiconduttori ce anche la possibilità di distribuire il carico computazionale del disegno dei circuiti su vari client.
ESEMPI VISTE DIFFERENTI L utente può cambiare con facilità la visualizzazione dei dati. Ad es. si può creare una TOC dinamica: lutente può cliccare una parte della TOC ottenendo livelli di dettaglio più specifici. In questo caso la struttura TOC viene scaricata su client senza dover passare ogni volta su Internet. Si può anche da client scegliere la visualizzazione adatta al tipo di macchina (es. Solaris vs. Pentium) o in lingue diverse.
ESEMPI Non e possibile usare HTML a questo scopo perchè non supporta la rappresentazione della struttura dei dati Non è possibile convertire tutti i sistemi informativi in un tipo standard E però possibile adottare un formato standard per lo scambio di informazione La definibilità dei tag XML rende evidenziabile il contenuto dei campi (es. ) E stato già creato uno Health Care Markup Language
ESEMPI MOTORI DI RICERCA I tag personalizzati e la strutturazione del testo consentono la ricerca semantica Timothy J. Berners-Lee, inventore del WWW e capo del WWW Consortium, sta sviluppandola seconda generazione di Web, il WEB SEMANTICO. Le connessioni devono essere intese sempre come bidirezionali Il motore di ricerca deve comprendere le relazioni fra le parole Ogni computer deve poter accedere alla conoscenza che lumanità ha accumulato sulla rete
ESEMPI MOTORI DI RICERCA XML è la base da cui si parte. VIVISIMO (Carnegie Mellon Un.) Organizza in modo automatico gli output di altri motori di ricerca Utilizza clustering concettuale: il numero di classi non è predefinito Il programma è scritto in C e loutput è un file XML che rappresenta la gerarchia trovata
ESEMPI MOTORI DI RICERCA XML è la base da cui si parte. Esistono già strumenti che rendono XML più evoluto: –AXE (Autonomy XML Engine) è uno strumento che inserisce tag e link automaticamente –SHAREPOINT (Microsoft) è inserito gratuitamente nellultimo FrontPage e permette linterscambio di documenti e la creazione di documenti collaborativi.
ESEMPI RDF (Resource Description Framework, Recommendation del W3C dal 1999, permette linterscambio di metadati grazie a una sintassi che struttura i testi. Fornisce interoperabilità fra risorse che utilizzano dati su web RDF e XML sono complementari: RDF definisce semantiche per dati in formato XML.
SOFTWARE Molti sono i parser disponibili, molti dei quali free Molti anche i processori SGML : Panorama della SoftQuad e Jumbo, applicazione Java scaricabile in versione free Molti tool di sviluppo freeware, anche da Microsoft Microsoft ha sviluppato parser e processor free che si integrano con Explorer.
Esempio di linguaggio speciale: MATHML Scopo di MATHML è codificare materiale matematico e facilitare la conversione da un formato matematico allaltro Gli elementi di MATHML si suddividono in: –elementi di presentazione –elementi di contenuto –elementi di interfaccia
Esempio di linguaggio speciale: MATHML Scopo di MATHML è codificare materiale matematico e facilitare la conversione da un formato matematico allaltro Gli elementi di MATHML si suddividono in: –elementi di presentazione –elementi di contenuto –elementi di interfaccia
Esempio di linguaggio speciale: MATHML Gli elementi di presentazione descrivono strutture di notazione matematica: sono 28 elementi e accettano 50 attributi, es. msub, munder. Gli elementi di contenuto descrivono oggetti matematici, es. Plus, vector. Ne esistono 75 che accettano 12 attributi Lelemento apply applica una funzione ad un insieme di elementi
Esempio di linguaggio speciale: MATHML (a+b) 2 si scrive così: a + a /mi> 2
ESEMPIO: URL meteo Il sito distribuisce informazioni sul tempo. Ognuno desidera informazioni locali. Il codice XML contiene lindicazione su dove trovare il relativo DTD, es.: Boston sunny
ESEMPIO: URL meteo Allora lo XSL stylesheet sarà: …. … match:weather- info[location/city=Boston]>
ESEMPIO: URL meteo Si può anche personalizzare loutput per utenti diversi, ad es. Lasciando la scelta della nazione. Il codice XML sarà … Italy France ….
ESEMPIO: URL meteo Lo stylesheet XSL sarà …. …
UN ESEMPIO COMPLETO -1 Giovanni Boccaccio Decameron 10 persone in fuga dalla peste raccontano per 10 giorni una novella ciascuno 15 euro
UN ESEMPIO COMPLETO - 2 Francesco Petrarca Le Rime una raccolta di poesia da uno dei maggiori autori della storia 20 euro ……[altri libri]
UN ESEMPIO COMPLETO - 3 ….File XSL: …