informatica.science.unitn.it Un esempio di architettura basata sulluso 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 dellAteneo, 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 laggiornamento –Sviluppo di strumenti che forniscano servizi aggiuntivi (bacheca avvisi, calendario per i seminari, doppia lingua…)
Requisiti 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 dellinformazione 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 Avviso di seminario manifesto pagina web
Necessità di centralizzare la gestione della grafica di tutto il sito in modo da minimizzare lo sforzo in caso di modifiche successive alla pubblicazione necessità di modificare il sorgente di ciascuna pagina interna per adattarla alla nuova grafica ! stessi contenuti ma grafica diversa
Tecnologie adottate XML per lesposizione 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 allutente 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
XSL Database Bean Java
Esempio: avvisi di seminario XSL HTML PDF
Esempio: pagine docenti Database Bean Java Definizione di meccanismi di inserimento dei dati
Accorgimenti Affiancamento di un foglio di stile CSS al foglio XSL di formattazione della pagina web –migliora laccessibilità delle pagine del sito permettendo allutente 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) allinterno dei tag di contenuto della pagina tradotta in foglio XML