EH - Esposizione interattiva di xHTML etc.   Indici:   Pagine   Panoramica   Termini   Problemi   Esempi

SGML e i metalinguaggi a markup

Un Markup Language è un linguaggio artificiale che comprende un insieme di codici che permettono di descrivere l'aspetto che si vuole assuma un testo registrato su supporto digitale quando viene presentato con una apparecchiatura visuale come una stampante o un video terminale. HTML è attualmente il più famoso di questi linguaggi, in quanto è lo strumento più usato per comporre i documenti che circolano sul Web, ma non è l'unico.

Ogni documento può essere pensato costituito da un contenuto (content) e da marcatori (markups). Il contenuto è costituito da caratteri di testo, da immagini e da tutte le altre componenti che costituiscono il messaggio che si vuole veicolare mediante il documento. Perché un documento risulti efficacemente leggibile, occorre però introdurre accanto al contenuto una serie di informazioni riguardanti il suo aspetto che non possono essere automaticamente dedotte dal contenuto.

Il complesso delle istruzioni per i markups (chiamate tags) è determinato dal formato del documento e dagli strumenti usati per lavorare con esso.

Tali informazioni possono essere divise in due gruppi: structure e formatting, di strutturazione e di formattazione. Le prime ci dicono come il documento è logicamente costruito dalle sue varie parti (paragrafi, sezioni, capitoli) e come queste parti sono gerarchicamente organizzate. Le informazioni di formattazione gestiscono invece la presentazione del documento: dicono quali fonts usare, quali colori, quali corpi di caratteri, con quale tono di voce un brano va presentato da un meccanismo di presentazione sonora, come costruire all'interno pagine da stampare e così via.

Le procedure a markup possono attualmente ostacolare l'utilizzo e il riutilizzo di un documento se questo non è accompagnato, meglio se preceduto, da un'appropriata strutturazione dei markup. Per esempio, se un file contiene istruzioni volte a presentare una linea di testo nella font Times Roman, nel corpo a 12 punti tipografici e con allineamento a sinistra, ma non dice che questa linea riguarda un'intestazione o una didascalia di figura, allora il markup adottato risulta essere alquanto restrittivo.

Dopo aver aggiunte le informazioni circa il ruolo logico di ogni elemento nel testo, il naturale passo successivo è di aggiungere i markups di presentazione a questi tags logici piuttosto che alle parti attuali del testo. Non è necessario specificare il font ed il corpo dei caratteri all'inizio di ogni periodo; è sufficiente segnalarlo all'inizio del documento e per il resto risulta definito automaticamente.

Questo atteggiamento viene chiamato separazione della presentazione dal contenuto, è il maggior vantaggio di tutti i sistemi che mettono i markup descrittivi all'inizio. Quando sono separati, sia il contenuto che la formattazione possono essere sviluppati da persone diverse e modificati con maggior facilità. Quindi, uno dei ruoli dei markup descrittivi è di servire come strato intermediario che separa contenuto e formattazione di un documento.

Ciò di cui si ha bisogno è un sistema a markup focalizzato sulla struttura di un documento piuttosto che sulla sua formattazione. Esso potrebbe permetterci di costruire una gerarchia di tags descrittivi che siano in grado di servire non solo a separare e descrivere diverse parti di un documento, ma anche a prescrivere formalmente la sua struttura.

Un'ulteriore richiesta di importanza paragonabile è che il sistema preveda una certa semplicità nell'attuazione di estensioni e modifiche. È importante che chi opera sistematicamente con i documenti sia libero di creare e usare strumenti a markup basati su questo sistema e di produrre software complementare.

SGML (Standard Generalized Markup Language) è il sistema che negli anni '80 è stato designato per soddisfare tutte queste richieste. È strettamente descrittivo e non contiene alcun mezzo per demarcare gli aspetti di presentazione dei documenti.

SGML non è un sistema a markup concluso in sè stesso, è un metasistema che consente agli utenti di creare sistemi a marcatori per particolari tipi di documenti. La sua sintassi, estremamente flessibile, rende possibile definire linguaggi a markup in grado di soddisfare ogni possibile esigenza. HTML è uno di tali linguaggi; un altro di questi linguaggi, chiamati applicazioni di HTML, si trova alla base di TEI, Text Encoding Initiative, importante progetto internazionale volto a favorire la circolazione di testi elettronici in ambito letterario ed industriale.

Ogni singolo documento SGML può essere provvisto delle sue peculiari definizioni locali di markups sintonizzate accuratamente sul particolare scopo del documento stesso.

SGML è più un linguaggio per computer che un formato per i dati; questo significa che è possibile creare files SGML manualmente mediante un comune text editor, sebbene esistano strumenti software messi a punto per facilitare il compito degli autori dei documenti.

Dal punto di vista di SGML, un documento è una struttura gerarchica di elementi nidificati. Non viene però specificato nè il significato nè il ruolo di alcun elemento. Queste informazioni devono essere specificate dal creatore di un'applicazione di SGML e sono solitamente indicate in commenti o in documenti di accompagnamento.

SGML realizza la massima di Wittgenstein che dice: "Il significato di una parola è il suo utilizzo". Infatti la sola informazione che può essere formalmente comunicata su un elemento è in quale contesto ed a quale livello della gerarchia del documento può o deve essere presente. Questo significa che non si può costruire un interprete il quale possa applicare un formato significativo ad un documento basato solo sui markups propri di SGML.

Tutti i documenti che possono essere marcati con la stessa gerarchia degli elementi sono detti appartenenti a un certo tipo di documento (document type). Piuttosto che descrivere una serie di strumenti per una categoria di documenti a markup, SGML definisce la struttura di un particolare tipo di documento che è chiamato DTD (Document Type Definition). Questo documento conterrà le specificazioni dei markups che serviranno alla detta categoria di documenti.


Indice pagine - inizio pagina