Linguaggi di markup
Marco Mesiti
[email protected]
Programma e obiettivi
I linguaggi di Markup ed il web
HTML e le sue lacune
eXtensible Markup Language
Document Type Definition
Conoscere XML e le sue applicazioni
Programma e obiettivi
Saper manipolare documenti XML
(XSL: Xpath, XSLT, XSL FO)
Come rappresentare informazioni di
tipo con XML schema
Memorizzazione e recupero di
documenti XML in/da una base di dati
Progettazione di sorgenti di documenti
XML
Struttura e Rappresentazione
La scrittura ha definito il rapporto fra
struttura gerarchica delle
informazioni e
rappresentazione visiva
Struttura e Rappresentazione
Nei documenti
elettronici il discorso è
analogo
Nel momento in cui si
ha bisogno di
un'informazione
entrano in gioco i tre
livelli
Struttura
Contenuto
Rappresentazione
Struttura e Rappresentazione
La rappresentazione può essere
utile
 in fase di individuazione
 per migliorare la leggibilità
 per favorire la percezione della struttura
Struttura e
Rappresentazione
di un contenuto sono
due cose assolutamente
separate
Rappresentazione
Struttura
Cosa si intende per markup
Il markup permette la strutturazione di un un file in formato testo
in componenti (elementi) logiche
etichettandole in modo utile
Le etichette (i nomi degli elementi)
specificano il tipo di dato che una
certa componente logica
rappresenta
Le etichette vengono inserite nel
documento stesso come speciali
sequenze di caratteri, dette
markup tag o semplicemente tag
<Tag_APERTURA>
contenuto
<Tag_CHIUSURA>
I Linguaggi di Markup
Descrivono i meccanismi di strutturazione e
di rappresentazione del testo

"marcano" le porzioni di testo indicandone le caratteristiche
Due gruppi:
 Di tipo procedurale, indicano le procedure di trattamento del

testo aggiungendo le istruzioni
Di tipo descrittivo, lasciano la scelta della rappresentazione al
software
Differenza nel meccanismo usato per definire
la formattazione del testo
I Linguaggi di tipo descrittivo
I linguaggi di tipo descrittivo risultano più
vantaggiosi,



Lasciano la concentrazione sui problemi strutturali di leggibilità
Prescindono in fase di lettura dal software con cui sono stati
generati
Garantiscono una corretta separazione tra struttura e
rappresentazione
Esempi di linguaggi procedurali: Script,
TROFF, TEX
Esempi di linguaggi dichiarativi: SGML, HTML,
XML.
Che cos‘è un linguaggio di markup
NON è un linguaggio di programmazione!
un sistema formale (insieme di convenzioni)
per scambiare e pubblicare informazioni (in
formato testo) in modo strutturato
 quali elementi (e tag) si possono usare in un documento
 come i tag vengono distinti dal contenuto del documento
 (eventualmente) che significato hanno i vari tag …
Non esiste il linguaggio di markup, esistono
diversi linguaggi di markup per
rappresentare diversi tipi di documenti
Un po’ di storia: Il Markup ed il Web
La Graphic Communications
Association crea GenCode
Dopo IBM sviluppa GML (Generalized
Markup Language)
 Una sintassi semplice di tag contenuti tra <> (/)
 Per avere un formato aperto e standardizzato per il
trattamento di dati
 Per poter scambiare e manipolare documenti
strutturati
Un po’ di storia: Il Markup ed il Web
1980 – GenCode/GML e si
fonda “American National
Standards Institute” (ANSI)
Nel ‘86 nasce SGML

GenCode
SGML
Presente anche il CERN
Da SGML Tim Berners-Lee
ricava un sottoinsieme: HTML
GML
HTML
Il linguaggio HTML
Linguaggio di markup più diffuso nel
web
Definisce un insieme di tag finito
Ad ogni TAG viene associata una
regola di formattazione di porzioni di
testo
 Esempio:
<I> corsivo
Esempio di file HTML
<UL>
…
<LI>Pinco Pallino
<UL>
<LI>Client ID: 002
<LI>Azienda: La mia Azienda s.r.l.
<LI>Email: [email protected]
<LI>Telefono: 010.5553331
<LI>Indirizzo: Via B, 23/a
<LI>Città : Genova
<LI>C.A.P.: 16100
</UL>
</UL>
I Problemi del web:
Perdita di Struttura/Rappresentazione
Distinzione
struttura/rappresentazione
persa
Tale distinzione è la base
della concezione dei
linguaggi di markup di tipo
descrittivo come SGML
Rappresentazione
<i>, <b>, <hr>, …
?
<h1>, <h2>, <p>, …
Struttura
I Problemi del web:
Perdita di Struttura/Rappresentazione
Una corretta divisione di Struttura e
Rappresentazione permette:
di individuare occorrenze
di un certo termine
significativo
di stabilirne la rilevanza
in base alla posizione
nella gerarchia testuale
Cosa è sbagliato in HTML?
La Staticità
Se l’idea è marcare informazioni in
modo molto preciso i TAG HTML
possono non bastare
 Esempio un chimico per le formule
 Un costruttore di aeroplani per i motori, modelli...
 Mantenere tutti i tag possibili sarebbe davvero
difficile!
Cosa è sbagliato in HTML?
Documenti non validi semanticamente
Si possono scrivere
documenti HTML
validi che non hanno
senso quando si
considera la semantica
<HTML>
<BODY>
?
<H2> Prova </H2>
<P> una prova
<H1> titolo1 </H1>
</HTML>
Non esiste un vincolo nello standard...
Arriviamo ad XML: HTML e SGML
HTML è quindi un linguaggio
SGML è un metalinguaggio
HTML è semplice ma rigido
SGML è duttile ma molto
complesso
SGML
HTML
Esigenza dell’XML
SGML
XML
HTML
nell’estate del ‘96 il W3C
inizia un lavoro per un nuovo
standard di applicazioni Web
per risolvere i problemi
Nasce un nuovo working
group (XWG) per creare un
nuovo standard eXstensible
Markup Language (XML)
Qualcosa di più di HTML,
qualcosa di più semplice di
SGML
Extensible Markup Language
Introduzione
“XML is a language for creating markup
languages that describe structured data.”
Mike Edwards, Microsoft
Descrive i dati e non la loro rappresentazione
Ha un formato aperto e leggibile visualmente
simile all’HTML
Elimina la necessità di Browser e tool di
mezzo per aggiungere TAG speciali
Extensible Markup Language
Introduzione
eXtensible - non rigido come HTML
Ottimo per la trasmissione di dati da server a
browser
Ottimo per la trasmissione da applicazione a
applicazione, da macchina a macchina…
E’ un metalinguaggio usato per definire nuovi
domini applicativi o linguaggi specifici
Extensible Markup Language
Aree Applicative
Applicazioni che
richiedono al Web
Client di mediare tra
due o più DB
eterogenei
Applicazioni che
cercano di distribuire
porzioni significanti di
dati tra Client/Server
Oracle
…
SQL
Extensible Markup Language
Aree Applicative
Applicazioni che
richiedono al Web Client
di mostrare più viste dello
stesso dato a diversi
utenti
Compito
Testo
Esercizio
Soluzione
Client User1
Testo
Esercizio
Client User2
Soluzione
Applicazioni in cui Agenti
Web Intelligenti decidono
riguardo informazioni utili
per un utente
(personalizzazione)
Agente
Client con
caratteristiche
A, B, C, ….
Extensible Markup Language
Vantaggi
Attenzione esclusivamente al
contenuto/struttura
La rappresentazione può essere
attuata successivamente o da un altra
persona
Si possono sviluppare linguaggi ad
HOC specifici per certe comunità di
utenti
 Matematici, chimici, una singola società, un
ente…etc…
Extensible Markup Language
differenze con HTML
XML non specifica né la semantica né un
insieme di TAG
XML è un metalinguaggio per la descrizione
dei linguaggi di markup
XML fornisce un modo per definire i tag ed i
rapporti strutturali fra loro
Poiché non vi è un insieme predefinito di
TAG, non ci può essere alcuna semantica
preesistente
eXtensible Markup Language:
Standard collegati
XML è una lingua “franca” che permette di
descrivere la struttura di documenti
Il W3C ha definito svariati standard per poter
integrare la definizione di XML per
consentire:
 Definizione metadata
 Definizione link tra più documenti
 Trasformazione/Rappresentazione documenti XML
 Definizione di linguaggi di interrogazione
 Manipolazione documenti XML “da programma”
 Rappresentazione di informazione grafica
Definizione di metadata
Come detto in precedenza, i TAG non
definiscono la semantica dei dati che
rappresentano
Occorre quindi introdurre il concetto di
metadata cioè “dati sui dati”
Si parla di metadata a diversi livelli
 a livello linguistico introducendo dizionari di nomi (Namespace)
 a livello di tipo introducendo gli schema (Xschema)
 a livello concettuale introducendo concetti e legami tra concetti
(RDF -- Resource Description Framework)
Definizione link tra più documenti
Lo standard XML permette di rappresentare
solo i link interni al documento, ma non i link
tra documenti diversi
Inoltre, si vogliono poter rappresentare tutte
le forme di link che abbiamo visto in
precedenza
Per questo motivo sono stati introdotti i
seguenti standard
 XLink che permette di definire link tra più documenti
 XPointer che permette di indirizzare una parte specifica di un
documento
Rappresentaz./Trasformaz. documenti
Lo standard XML permette di strutturare
documenti XML
No rappresentazione
Nasce XSL.
XSL permette di
 Identificare parti di documento da rappresentare (Xpath)
 Trasformare le parti (attraverso il linguaggio XSLT)
 Rappresentare (HTML, PDF, ...) il documento risultante
(attraverso il linguaggio XSL-FO)
Definizione di linguaggi di interrogazione
I documenti XML possono essere
memorizzati in sorgenti di informazioni (DB).
Ognuno può sottomettere alla sorgente
richieste di documenti che soddisfano certe
condizioni.
Esistono diversi linguaggi per poter
interrogare sorgenti XML
Attualmente non esiste uno standard W3C
La proposta potrebbe essere XML query
Manipolazione documenti XML
“da programma”
I documenti XML possono essere visti come
canale di comunicazione tra applicazioni
client-server
Cioè permettono alle applicazioni di
scambiarsi informazioni.
Un’applicazione deve saper leggere e
manipolare documenti XML
Sono stati introdotti standard per manipolare
documenti XML
Gli standard principalmente utilizzati sono
DOM e SAX
END
Scarica

ppt - DISI