informatica.science.unitn.it
Un esempio di architettura basata
sull’uso di XML e XSL per la
pubblicazione di un sito web
Contesto
• Analisi delle caratteristiche di una particolare architettura
per la pubblicazione del sito web del corso di laurea in
informatica
– Integrazione con il nuovo sito dell’Ateneo, dal quale prende la
veste grafica e la struttura generale delle pagine
– Definizione di caratteristiche comuni per le pagine, in modo da
facilitare la navigazione
– Gestione separata delle informazioni contenute nel sito
(programmi dei corsi, pagine docenti, …) dalla loro
presentazione, per facilitarne l’aggiornamento
– Sviluppo di strumenti che forniscano servizi aggiuntivi
(bacheca avvisi, calendario per i seminari, doppia lingua…)
Requisiti
• Gestione separata del contenuto e della
presentazione
Gestione separata del contenuto e
della presentazione
• Vantaggi
– presentazione dello stesso contenuto in forme differenti
(diversi tipi di documento, diversa impaginazione
grafica)
– diversificazione del grado di dettaglio delle
informazioni nelle diverse pagine
– evitare la duplicazione dell’informazione
• Necessità di centralizzare la gestione della grafica
di tutto il sito in modo da minimizzare lo sforzo in
caso di modifiche successive alla pubblicazione
Presentazione dello stesso
contenuto in forme differenti
manifesto
Avviso di seminario
pagina web
email
Necessità di centralizzare la
gestione della grafica di tutto
il sito in modo da
minimizzare lo sforzo in caso
di modifiche successive alla
pubblicazione
stessi contenuti
ma grafica diversa
necessità di modificare
il sorgente di ciascuna pagina
interna per adattarla alla
nuova grafica !
Tecnologie adottate
• XML per l’esposizione dei contenuti
• XSL per la definizione della formattazione dei
contenuti
• DB per la memorizzazione dei dati
• Cocoon 1 per la pubblicazione sul web
• Classi Java per la business logic, per la lettura dei
dati dal database e per la generazione delle parti di
XML dinamico
Web: Scelte fondamentali
• Definizione di un modello per una pagina web,
che:
– modelli una generica pagina del sito
– descriva tutti gli elementi che la compongono
– non contenga dettagli di formattazione
• Traduzione del modello in un DTD per un
documento XML
• Scrittura di tutte le pagine statiche del sito
usando fogli XML conformi al DTD definito
Web: Scelte fondamentali
• Scrittura di uno o più fogli di stile XSL che
contengano le istruzioni di trasformazione del
foglio XML in pagine HTML, PDF
XSL 1
XSL 2
Pagine a contenuto fortemente
caratterizzato
• Alcuni tipi di pagine hanno una forte caratterizzazione in
termini di contenuto informativo
– pagine docenti
– pagine dei corsi
– pagine contenenti avvisi di seminario, …
• La pubblicazione sul web tramite pagine (statiche o
dinamiche) di questo tipo di informazioni è solo uno dei
possibili modi di renderla disponibile all’utente
• Si è scelto di non memorizzare questo tipo di informazioni
in fogli XML conformi al DTD definito per le pagine del
sito, ma in fogli XML conformi a DTD specifici per il tipo
di informazione contenuta
Esempio: pagine docenti
Esempio: pagine docenti
XSL
XSL
Bean Java
Database
Esempio: avvisi di seminario
XSL
HTML
PDF
Esempio: pagine docenti
Bean Java
Database
Definizione di meccanismi
di inserimento dei dati
Accorgimenti
• Affiancamento di un foglio di stile CSS al foglio
XSL di formattazione della pagina web
– migliora l’accessibilità delle pagine del sito
permettendo all’utente di sostituire il foglio CSS con
uno maggiormente conforme alle sue necessità
– uniforma alcune scelte grafiche (colori, font, …)
– permette di inserire elementi di formattazione basati
sulla semantica (significato) all’interno dei tag di
contenuto della pagina tradotta in foglio XML