Title: STRUTTURA E RAPPRESENTAZIONE
1STRUTTURA 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.
2STRUTTURA 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
3STRUTTURA 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
4STRUTTURA 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
5XML - 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
6XML - 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)
7XML - 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
8XML - 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.
9XML - 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
10XML - 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,)
11XML - eXtensible Markup Language
Foglio di stile XSL per browser (HTML)
Documento XML
Foglio di stile XSL per braille
Processore XML/XLS
OUTPUT
Foglio di stile XSL per sintesi vocale
12XML - SINTASSI
- Un file XML comincia sempre con la dichiarazione
di versione - lt?xml version 1.0 ?gt
- 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. - ltNOMETAGgt Laura lt/NOMETAGgt
13XML - SINTASSI
- Gli attributi sono pensabili come aggettivi
perchè descrivono gli elementi. Ogni attributo ha
un nome e un valore. Il valore segue il nome - ltCOUNTRY code it gt Italialt/COUNTRYgt
- Un attributo consente di aggiungere allelemento
informazioni addizionali, ad es. lelemento LIBRO
può avere attributo RILEGATURA con valori
rigida o brossura.
14XML - 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
15XSL
- E il linguaggio proprietario di XML per lo
styling. - Lassociazione fra documento XML e foglio di
stile avviene attraverso listruzione - lt?xmlstylesheet hrefstile.xsl titleCompact
typetext/xsl?gt - I componenti di XLS sono
- construction rules
- style rules
- named styles
- macros
- scripts
16DTD
- 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. -
17ESEMPI
- 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 dragdrop dall
cartella su web al proprio database. -
18ESEMPI
- 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. -
19ESEMPI
- 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. -
20ESEMPI
- 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. ltallergiagt) - E stato già creato uno Health Care Markup
Language -
21ESEMPI
- 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 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 lumanità ha accumulato sulla rete
22ESEMPI
- 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
23ESEMPI
- 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.
24ESEMPI
- 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.
25SOFTWARE
- 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.
26Esempio 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
27Esempio 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
28Esempio 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
29Esempio di linguaggio speciale MATHML
- (ab)2 si scrive così
- ltmsupgt
- ltmfencedgt
- ltmrowgt
- ltmigt a lt/migt
- ltmogt lt/mogt
- ltmigt a /migt
- lt/mrowgt
- lt/mfencedgt
- ltmngt 2 lt/mngt
- lt/msupgt
30ESEMPIO URL meteo
- Il sito distribuisce informazioni sul tempo.
Ognuno desidera informazioni locali. - Il codice XML contiene lindicazione su dove
trovare il relativo DTD, es. - ltweather-infogt
- ltlocationgt
- ltcitygtBostonlt/citygt
- lt/locationgt
- ltsummarygt sunny lt/summarygt
- lt/weather-infogt
31ESEMPIO URL meteo
- Allora lo XSL stylesheet sarÃ
- ltxslstylesheet xmlnsxsl HYPERLINK
http//www.w3.org/1999/XSL/Transform version
1.0gt - .
- ltxsltemplate match/gt
-
- lt/xsltemplategt
- matchweather-infolocation/cityBostongt
- ltxslapply-templates select summary/gt
- lt/xsltemplategt
- lt/xslstylesheetgt
32ESEMPIO URL meteo
- Si può anche personalizzare loutput per utenti
diversi, ad es. Lasciando la scelta della
nazione. - Il codice XML sarÃ
-
- ltpagegt
- ltcountry code itgt Italy lt/countrygt
- ltcountry code frgt Francelt/countrygt
- .
- lt/pagegt
33ESEMPIO URL meteo
- Lo stylesheet XSL sarÃ
- .
- ltxsltemplate matchpagegt
- lthtmlgt
- ltbodygt
-
- lt/xslwhengt
- ltxslwhen testcountry_at_codecountrycodegt
- lt/xslapply-templates selectcountry_at_codecount
rycode modeselected/gt - lt/xslwhengt
34UN ESEMPIO COMPLETO -1
- lt?xml version 1.0 standaloneyes?gt
- ltradicegt
- ltlibrogt
- ltautoregtGiovanni Boccacciolt/autoregt
- lttitologtDecameronlt/titologt
- ltdescrizionegt10 persone in fuga dalla peste
raccontano per 10 giorni una novella ciascuno
lt/descrizionegt - ltprezzogt 15 euro lt/prezzogt
- lt/librogt
35UN ESEMPIO COMPLETO - 2
- ltlibrogt
- ltautoregtFrancesco Petrarcalt/autoregt
- lttitologtLe Rimelt/titologt
- ltdescrizionegtuna raccolta di poesia da uno dei
maggiori autori della storia lt/descrizionegt - ltprezzogt 20 euro lt/prezzogt
- lt/librogt
- altri libri
- lt/radicegt
36UN ESEMPIO COMPLETO - 3
- . File XSL
- ltradicegt
- ltrulegt
- lttarget-element typeLIBRO/gt ltchildren/gt
- lt/rulegt
- ltrulegt
- lttarget-element typeAUTORE/gt
- ltH3 colorbrowngt ltchildren/gt
- lt/H3gt
- lt/rulegt
-
- ltrulegtlttarget-element typePREZZO/gt
- ltH5 colorred font-styleitalicgt ltchildren/gt
- lt/H5gtlt/rulegt
- lt/radicegt