eXtensible Markup Language Tutorial - by Marco Giannì
Capitolo I: L'importanza dell'XML

Relazione tra XML e SGML

SGML è un meta-linguaggio, ovvero un insieme di regole generalizzate usate per creare molteplici linguaggi speciali che prendono il nome di markup language. Le applicazioni più note di SGML sono HTML, TIM (Telecommunication Interchange Markup); inoltre SGML viene largamente usato dalle grandi industrie di tecnologia come strumento di immagazzinamento e scambio di informazioni di qualsiasi tipo. E' poi utilizzato in tipografia (ad esempio nella stampa delle delibere) per creare il documento che poi le macchine tipografiche andranno a stampare secondo la loro interpretazione specifica delle strutture SGML.

L'SGML stesso non ha mai suscitato particolare interesse tra gli sviluppatori Web, probabilmente a causa soprattutto della sua complessità e delle difficoltà che l'utilizzo di questo linguaggio comporta.

L'obiettivo era di includere nell'XML, solo le parti dell'SGML necessarie per la pubblicazione sul Web. XML eredita da SGML la capacità di definire con estrema facilità nuovi marcatori, creando di fatto dei linguaggi di markup personalizzati, mentre la complessità e le caratteristiche opzionali che appesantivano l'SGML sono state pertanto eliminate dall'XML.

Pregi di SGML :

La sua potenza è la flessibilità. E' uno standard (ISO 8879:1986) che può essere applicato ad ogni tipo dato; è espandibile ed è fortemente strutturato. Queste caratteristiche lo rendono capace di risolvere problemi di elaborazione dell'informazione tra i più complessi, garantendo un perfetto riutilizzo dei dati. Inoltre è non-proprietario ed indipendente dalla piattaforma.

Limiti di SGML :

Ha una struttura molto pesante, comprensiva di un gran numero di opzioni che lo rendono poco maneggevole da un eventuale software di manipolazione dei dati, quindi può rappresentare un grosso scoglio per i programmatori che lavorano sul Web. Comunque sia il problema più importante è che SGML richiede un DTD (Document Type Definition) per l'identificazione di tutte le relazioni tra le entità che compongono il documento SGML, e di uno Style-Sheet cioè un foglio di stile che stabilisce il modo di rappresentare e/o visualizzare i dati e le strutture definite nel DTD. Inoltre ogni documento SGML deve necessariamente essere validato e quindi oltre ad un controllo sintattico viene controllata anche la semantica delle strutture di dati presenti nel documento (ad esempio non potrà succedere che un titolo di capitolo viene dopo il relativo sottotitolo). Si capisce quindi che in mancanza di uno di questi elementi, o in caso di corruzione dei dati, le istanze SGML saranno visualizzate come codice incomprensibile per l'utente finale. Il risultato di queste considerazioni è che per le applicazioni sul World Wide Web (WWW) le istanze SGML non sono praticamente portabili data la loro intrinseca pesantezza e non robustezza.

<indietro home page avanti>

Copyright © 2000-2005. Tutti i diritti sono riservati. Per informazioni: mgianni@infinito.it