Download Testo - Liber Liber
Transcript
La sintassi CSS è molto semplice, almeno al livello base. Essa si basa sui selettori, che identificano gli elementi a cui attribuire un dato stile, e sulle proprietà, che contengono gli attributi di stile veri e propri. I
selettori possono essere i nomi degli elementi, o una serie di valori di attributi, e sono seguiti dalle proprietà, racchiuse tra parentesi graffe e separate da punto e virgola. Ad esempio, per indicare che i titoli di
primo livello in un documento HTML 4.0 debbono usare un font ‘Times’ con dimensione di 16 punti tipografici in stile grassetto occorre scrivere quanto segue:
H1{font-type: “Times”; font-size: 15pt; font-weight: bold}
Per collegare un foglio di stile a un documento HTML 4.0 sono previsti tre metodi: si può definire il foglio di stile in un file esterno, e collegarlo al file che contiene il documento HTML (mediante l’elemento
<LINK>); si possono inserire le direttive CSS direttamente all’interno del file HTML, usando l’istruzione
speciale <STYLE>; e infine si possono associare stili ad ogni elemento usando l’attributo ‘style’.
Un meccanismo concettualmente simile, anche se basato su una sintassi diversa (per la precisione si utilizza una processing instruction) va utilizzato per associare un foglio di stile CSS a un documento
XML93.
Allo stato attuale il supporto ai fogli di stile CSS versione 1 è completo in tutti i browser di ultima generazione. Ancora incompleto, anche se in gran parte coperto, quello alla versione 2.
La seconda tecnologia di fogli stile proposta dal W3C, è stata sviluppata nell’ambito delle attività correlate allo definizione di XML. Si tratta del linguaggio Extensible Stylesheet Language (XSL), le cui specifiche sono ancora allo stato di bozza. A differenza di CSS, XSL è un linguaggio piuttosto complesso, che
eredita la semantica e il modello computazionale da un predecessore tanto illustre quanto complicato, il
Document Style Semantics and Specification Language (DSSSL),94 ma ne semplifica notevolmente la sintassi. Infatti gli stili vengono specificati direttamente in notazione XML piuttosto che in quella Scheme
adottata da DSSSL95.
XSL si divide in due sottoinsiemi: XSL Transformations (XSLT, http://www.w3.org/TR/WD-xslt) è costituito da un insieme di istruzioni che permettono di applicare processi di trasformazione ai documenti
XML (ad esempio dato un elenco bibliografico strutturato, una procedura XSLT può generare diversi ordinamenti; o ancora, dato un gruppo di elementi strutturali, può generare un indice dei contenuti dinamico) e di traduzione da una codifica XML ad un’altra o da una codifica XML a una HTML. Extensible
Stylesheet Language (http://www.w3.org/TR/WD-xsl) definisce un insieme di istruzioni di formattazione, che possono essere utilizzate per la formattazione vera e propria dei documenti e dei loro componenti.
XSL permette di specificare procedure di formattazione condizionate dal contesto (ad esempio: il primo
paragrafo dopo un titolo non ha rientro della prima linea di testo), ed ha una flessibilità elevatissima. In
ogni caso, per le operazioni di elaborazione più complesse, XSL prevede esplicitamente il ricorso a script
93 Per chi è interessato, rimandiamo al documento Associating Style Sheets with XML documents Version 1.0
(http://www.w3.org/TR/xml-stylesheet).
94 Document Style Semantics and Specification Language (DSSSL) è uno standard ISO ufficialmente rilasciato nel 1996 con la
sigla ISO/IEC 10179:1996 (il testo completo dello standard è disponibile in vari formati sul sito
ftp://ftp.ornl.gov/pub/sgml/WG8/DSSSL). Si tratta di un linguaggio molto potente, sviluppato esplicitamente per operare, in
modo indipendente dalla piattaforma, su documenti strutturati, e in particolare su documenti in formato SGML. Dal punto di
vista informatico si basa sulla sintassi del linguaggio di programmazione Scheme. Tanta potenza, naturalmente, si paga con
altrettanta complessità. La implementazione completa di un’applicazione DSSSL comporta notevoli problemi computazionali.
Per facilitare la sua applicazione in ambienti di rete, un gruppo di specialisti, tra cui Jon Bosak e lo scomparso Yuri Rubinsky,
ne ha ricavato un sottoinsieme che è destinato in modo specifico alla impaginazione di documenti elettronici. Le specifiche di
questo sottoinsieme, denominato DSSSL Online (DSSSL-o), sono state pubblicate da Bosak nell’agosto del 1996. Attualmente
non esiste nessuna implementazione di questo linguaggio in applicazioni o in browser per World Wide Web, né sono stati annunciati sviluppi a breve termine in questa direzione. DSSSL ha trovato invece un buona accoglienza nel mondo SGML, dove i
maggiori produttori di sistemi hanno deciso di implementare questa tecnologia per la formattazione di documenti su carta e su
supporto digitale. Chi è interessato, e ha una buona dose di pazienza, può tuttavia gustare le potenzialità di questo linguaggio
usando il motore DSSSL di James Clark, battezzato Jade (http://www.jclark.com/jade/), e uno dei fogli di stile pubblici, sui
quali rimandiamo alla sezione dedicata a DSSSL dalla SGML Web Page (http://www.oasis-open.org/cover/dsssl.html).
95 Scheme è un linguaggio di programmazione funzionale che deriva dal Lisp. Pur semplificando notevolmente la sintassi del
Lisp, Scheme richiede delle abilità da programmatore.
319