Telemat Lab's home page 


Copyright © 2000 Università di Firenze. All rights reserved. 

Free license available. 

Standard Generalized Markup Language


a cura di Valentina Damato e Stefano Ciofi
Revisore: Prof. Franco Pirri

Hyperbook Indice delle lezioni Indice lezione precedente Indice lezione successiva Inizio della lezione corrente

Indice degli argomenti





Hyperbook Indice delle lezioni Indice lezione precedente Indice lezione successiva Inizio della lezione corrente


Standard Generalized Markup Language


Indice delle lezioni 
Indice lezione precedente 
Indice lezione corrente 
Indice lezione successiva 
 
  
 
Slide successiva 
Testo 
 
Slide 1/6

SGML (Standard Generalized Markup Language) è un metalinguaggio per definire linguaggi di tipo markup, ossia linguaggi basati su marcatori. L'HTML (HyperText Markup Language) è un esempio di linguaggio derivato da SGML.
SGML fornisce una modalità di codifica dei documenti ipertestuali in modo da renderli indipendenti dalla macchina e dalla loro piattaforma software (purchè tali software siano compatibili con SGML) affinchè sia possibile leggere documenti creati da altri anche se questi sono stati realizzati con applicativi diversi dal nostro.
La storia di SGML si articola in un ventennio tra gli anni '60 e '80 fino a portarlo all'adozione ed approvazione da parte dell' International Standards Organization (ISO) del 1986 (ISO 8879).

Slide precedente Slide successiva


Indice delle lezioni 
Indice lezione precedente 
Indice lezione corrente 
Indice lezione successiva 
  
Inizio della lezione 
Slide precedente 
Slide successiva 
Testo 
 
Slide 2/6

Lo standard per la creazione dei documenti nacque soprattutto per due motivi: la necessità di avere una bassa quantità di informazioni sulla struttura del documento per minimizzare i tempi di trasmissione e la necessità di avere una codifica che fosse indipendente dalla piattaforma software implementata sulla macchina.

Slide precedente Slide successiva


Indice delle lezioni 
Indice lezione precedente 
Indice lezione corrente 
Indice lezione successiva 
  
Inizio della lezione 
Slide precedente 
Slide successiva 
Testo 
 
Slide 3/6

CARATTERISTICHE PRINCIPALI DI SGML

Le principali caratteristiche di SGML sono:
  1. Permette la creazione di linguaggi markup di tipo descrittivo
  2. I suoi elementi e componenti sono organizzati in una struttura gerarchica con interconnessioni
  3. Non specifica nessun tipo di convenzione del markup, quindi è aperto ad ogni possibile implementazione.
  4. E' completamente specificato a livello formale
  5. Un documento SGML può essere facilmente letto sia da un computer che da una persona a patto che entrambi conoscano lo standard.

MARKUP DESCRITTIVO: SGML utilizza dei codici (tags) per la descrizione delle varie parti di un documento non preoccupandosi di come questo verrà poi rappresentato (lasciando la scelta delle modalità di rappresentazione totalmente al software che riprodurrà il testo) ma soltanto di specificare che il testo tra le due tags deve essere considerato come un'unità indivisibile.
Quindi si separa la rappresentazione della struttura del documento da tutte le istruzioni necessarie alla sua formattazione, permettendo a chi scrive un documento di concentrarsi soltanto sulla sua struttura e sul suo contenuto.

GERARCHIA CON INTERCONNESSIONI: Un documento SGML può essere formato in alcune sue parti da altri documenti già esistenti (ad esempio può essere necessario un riferimento ad uno di essi). Per evitare di riscrivere completamente un documento esistente, che andrà poi a costituire una parte del nuovo documento, SGML prevede che esso possa essere richiamato all'interno del nuovo documento (con un metodo simile a quello dell'istruzione INCLUDE del linguaggio C) così da evitarne la riscrittura.
Gli hyperlinks dell'HTML sono una evoluzione di tali interconnessioni

TAGS FLESSIBILI: Con SGML è possibile creare un proprio linguaggio, e quindi un proprio set di tags, la cui struttura riflette quella dei documenti che dobbiamo creare. Ogni linguaggio creato a partire da SGML utilizzerà la propria DTD (Document Type Definition), contenente il proprio set di tags necessario per la creazione dei propri documenti. La DTD definisce la sintassi del linguaggio, tutti gli attributi permessi per un particolare elemento, i dati che questo potrà contenere e le regole per il loro utilizzo.

DESCRIZIONE FORMALE DEI DOCUMENTI: La descrizione formale della struttura di un documento avviene mediante la sua DTD, che è richiesta per ogni linguaggio creato a partire da SGML. Essa definisce la sintassi di un linguaggio markup specificandone le convenzioni utilizzate nei tags e tutti i possibili markup, definendo il significato ed il contesto in cui possono essere usati.

LEGGIBILITA' DEI DOCUMENTI: Il markup descrittivo è separato dal testo da opportuni delimitatori di stringa (in HTML sono i simboli '<' e '>'). La struttura dei documenti SGML è quindi facilmente comprensibile, e risulta evidente come sia semplice trasportare un documento SGML da una piattaforma all'altra.

Slide precedente Slide successiva


Indice delle lezioni 
Indice lezione precedente 
Indice lezione corrente 
Indice lezione successiva 
  
Inizio della lezione 
Slide precedente 
Slide successiva 
Testo 
 
Slide 4/6

STRUTTURA DEI DOCUMENTI SGML

Un documento SGML consiste in un gruppo di elementi che sono: DICHIARAZIONE SGML: :Permette di alterare le convenzioni di markup rispetto a quelle base. Di solito le dichiarazioni SGML vengono poste in files esterni al documento stesso (contenuti in programmi detti browser) ed in quest'ultimo compare soltanto un riferimento alla dichiarazione per permettere al browser di interpretarlo correttamente.

Slide precedente Slide successiva


Indice delle lezioni 
Indice lezione precedente 
Indice lezione corrente 
Indice lezione successiva 
  
Inizio della lezione 
Slide precedente 
Slide successiva 
Testo 
 
Slide 5/6

DOCUMENT TYPE DEFINITION – DTD: E' una descrizione formale della struttura di una particolare classe di documenti. Tipicamente le DTD sono usate per:

In sostanza la DTD definisce tutti gli elementi di markup legali per un certo tipo di documento stabilendo tutte le possibili opzioni di questi markup ed il contesto in cui possono comparire.
Il nome o la locazione della DTD che governa un certo documento conforme a SGML deve essere specificato nella dichiarazione all'inizio del documento stesso. Un esempio di prologo SGML per un documento HTML, la cui DTD è "IETF HTML 2.0 DTD" è questo:

<!DOCTYPE PUBLIC HTML "-//IETF//DTD HTML 2.0//EN">

Infatti il riferimento alla DTD usata deve essere fatto con la dichiarazione SGML "DOCTYPE".

ELEMENTI DELLA DTD:  Ogni elemento nella DTD viene realizzato sulla base della sua funzione nel documento SGML. I vari elementi formano un albero creato dalla combinazione di tutti gli elementi e dei loro corrispondenti data models.
La sintassi di un elemento comprende il tag di inizio contenente il nome (GI – generic identifier), il contenuto da visualizzare e la terminazione mediante un tag di chiusura ed eventualmente degli attributi che caratterizzano tali elementi.

Slide precedente Slide successiva


Indice delle lezioni 
Indice lezione precedente 
Indice lezione corrente 
Indice lezione successiva 
Lezione su HTML 
Inizio della lezione 
Slide precedente 
  
Testo 
 
Slide 6/6

ATTRIBUTI DEGLI ELEMENTI: Un attributo fornisce ad un elemento delle informazioni specifiche sul suo uso in un documento SGML, ossia fornisce una certa proprietà ad un elemento. I nomi degli attributi sono dichiarati nella DTD e sono opzionali per gli elementi a cui si riferiscono. Un nome di attributo può essere usato da più elementi diversi e, in ogni caso, darà informazioni specifiche per l'elemento a cui è associato e non comune agli altri. Ogni attributo ha un valore dichiarato che deve essere anch'esso definito nella DTD.
In SGML (e quindi anche in HTML) la sintassi per gli attributi segue le seguenti regole:

  1. Gli attributi possono comparire solo nei tags d'inizio.
  2. In un documento SGML ogni attributo ha il nome seguito dal segno "=" e dal valore.
  3. I valori assegnati agli attributi devono stare tra virgolette (es. nomeattributo="valoreattributo").
  4. Gli attributi possono comparire in qualsiasi ordine.
ENTITA':  Sono gruppi di dati immagazzinati in opportuni files che vengono usati per spezzare grossi files in parti più piccole e maneggevoli. Il loro utilizzo riguarda l'implementazione di dati uguali in documenti diversi, e la protezione dagli analizzatori sintattici di dati non SGML consentendo di includerli in un documento attraverso un riferimento. Sono anch'essi dichiarati nella DTD.

SEZIONI OPZIONALI:  Sono usate per escludere opzionalmente parti del documento SGML.

Slide precedente 


Torna all'indice

Hyperbook Indice delle lezioni Indice lezione precedente Indice lezione successiva Inizio della lezione corrente


Riferimenti bibliografici



Torna all'indice Ultimo aggiornamento: 29 Agosto 2000
Hyperbook Indice delle lezioni Indice lezione precedente Indice lezione successiva Inizio della lezione corrente

Telemat Lab's home page 
Explore the TELEMAT site!!