+ All Categories
Home > Documents > STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a...

STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a...

Date post: 02-May-2015
Category:
Upload: maura-mattei
View: 216 times
Download: 0 times
Share this document with a friend
36
STRUTTURA E RAPPRESENTAZIONE – Desideriamo un software che ci permetta l’interscambio di documenti a prescindere dalla piattaforma – Il software deve permettere di scambiare non solo la rappresentazione ma anche la struttura del documento.
Transcript
Page 1: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

STRUTTURA E RAPPRESENTAZIONE

– Desideriamo un software che ci permetta l’interscambio di documenti a prescindere dalla piattaforma

– Il software deve permettere di scambiare non solo la rappresentazione ma anche la struttura del documento.

Page 2: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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

Page 3: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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

Page 4: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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

Page 5: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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

Page 6: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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)

Page 7: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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 all’esterno del documento

Page 8: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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.

Page 9: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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

Page 10: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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,…)

Page 11: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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

Page 12: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

XML - SINTASSI

– Un file XML comincia sempre con la dichiarazione di versione:

<?xml version = “1.0” ?>– 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.

<NOMETAG> Laura </NOMETAG>

Page 13: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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:

<COUNTRY code = “it” > Italia</COUNTRY>– Un attributo consente di aggiungere

all’elemento informazioni addizionali, ad es. l’elemento LIBRO può avere attributo RILEGATURA con valori “rigida” o “brossura”.

Page 14: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

XML - SINTASSI

– Un documento XML deve essere ben formato, ossia:

• L’intero contenuto del documento deve essere racchiuso entro un singolo elemento

• I marcatori devono essere correttamente bilanciati

• I valori degli attributi devono essere fra virgolette

Page 15: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

XSL– E’ il linguaggio proprietario di XML per lo

styling.– L’associazione fra documento XML e foglio

di stile avviene attraverso l’istruzione<?xml:stylesheet href=“stile.xsl” title=“Compact”

type=“text/xsl”?>

– I componenti di XLS sono:• construction rules• style rules• named styles• macros• scripts

Page 16: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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.

Page 17: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPI

•DATABASE ETEROGENEIEs.: il sistema informativo di un’azienda 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.

Page 18: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIPROCESSI DISTRIBUITI•Nelle grandi industrie viene mantenuta molta deocumentazione che va scambiata all’interno 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 c’e anche la possibilità di distribuire il carico computazionale del disegno dei circuiti su vari client.

Page 19: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIVISTE DIFFERENTI•L’ utente può cambiare con facilità la visualizzazione dei dati.

•Ad es. si può creare una TOC dinamica: l’utente 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.

Page 20: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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. <allergia>)

•E’ stato già creato uno Health Care Markup Language

Page 21: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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

la 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 l’umanità ha accumulato sulla rete

Page 22: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIMOTORI 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 l’output è un file XML che rappresenta la gerarchia trovata

Page 23: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIMOTORI 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 nell’ultimo FrontPage e permette l’interscambio di documenti e la creazione di documenti collaborativi.

Page 24: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPI

•RDF (Resource Description Framework, Recommendation del W3C dal 1999, permette l’interscambio 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.

Page 25: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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.

Page 26: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

Esempio di linguaggio speciale: MATHML

•Scopo di MATHML è codificare materiale matematico e facilitare la conversione da un formato matematico all’altro•Gli elementi di MATHML si suddividono in:

–elementi di presentazione–elementi di contenuto–elementi di interfaccia

Page 27: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

Esempio di linguaggio speciale: MATHML

•Scopo di MATHML è codificare materiale matematico e facilitare la conversione da un formato matematico all’altro•Gli elementi di MATHML si suddividono in:

–elementi di presentazione–elementi di contenuto–elementi di interfaccia

Page 28: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

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•L’elemento apply applica una funzione ad un insieme di elementi

Page 29: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

Esempio di linguaggio speciale: MATHML(a+b)2 si scrive così:

<msup><mfenced><mrow><mi> a </mi><mo> + </mo><mi> a /mi></mrow></mfenced><mn> 2 </mn></msup>

Page 30: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIO: URL meteo•Il sito distribuisce informazioni sul tempo. Ognuno desidera informazioni locali.•Il codice XML contiene l’indicazione su dove trovare il relativo DTD, es.:<weather-info><location><city>Boston</city></location><summary> sunny </summary></weather-info>

Page 31: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIO: URL meteo•Allora lo XSL stylesheet sarà:<xsl:stylesheet xmlns:xsl= HYPERLINK “http://www.w3.org/1999/XSL/Transform” version =“1.0”>….<xsl:template match=“/”>…</xsl:template>match:”weather-info[location/city=‘Boston’]”><xsl:apply-templates select = “summary”/></xsl:template></xsl:stylesheet>

Page 32: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIO: URL meteo•Si può anche personalizzare l’output per utenti diversi, ad es. Lasciando la scelta della nazione.•Il codice XML sarà…<page><country code = “it”> Italy </country><country code = “fr”> France</country>….</page>

Page 33: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

ESEMPIO: URL meteoLo stylesheet XSL sarà….<xsl:template match=“page”><html><body>…</xsl:when><xsl:when test=“country[@code=$countrycode]”></xsl:apply-templates select=“country[@code=$countrycode]” mode=“selected”/></xsl:when>

Page 34: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

UN ESEMPIO COMPLETO -1

<?xml version =“1.0” standalone=“yes”?><radice><libro><autore>Giovanni Boccaccio</autore><titolo>Decameron</titolo><descrizione>10 persone in fuga dalla peste raccontano per 10 giorni una novella ciascuno </descrizione><prezzo> 15 euro </prezzo></libro>

Page 35: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

UN ESEMPIO COMPLETO - 2

<libro><autore>Francesco Petrarca</autore><titolo>Le Rime</titolo><descrizione>una raccolta di poesia da uno dei maggiori autori della storia </descrizione><prezzo> 20 euro </prezzo></libro>……[altri libri]</radice>

Page 36: STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.

UN ESEMPIO COMPLETO - 3…. File XSL:<radice><rule><target-element type=“LIBRO”/> <children/></rule><rule><target-element type=“AUTORE”/><H3 color=“brown”> <children/></H3></rule>…<rule><target-element type=“PREZZO”/><H5 color=“red” font-style=“italic”> <children/></H5></rule></radice>


Recommended