|
La scoperta di SGMLMeditando sulla problematica della documentazione ho iniziato nel 1999 una ricerca nelle metodologie di documentazione e mi sono subito imbattuto in sgml. Tecnologia di diversi anni fa che sta tornando in auge con l'avvento di xml. Mi proverò a spiegare i concetti sottostanti sgml. Per farlo userò una nostra tecnologia che per certi versi gli assomiglia: le stampe. Supponiamo di prendere la stampa del rendiconto e di volerla documentare. Innanzitutto dovremmo mettere in chiaro che la nostra tecnologia prevede una netta separazione tra il contenuto e il modo di presentarlo. Infatti la stampa non è altro che un insieme di record nominati che contiene un'elenco di campi prefissati. Esternamente alla stampa---in genere usando il postscript---ma in astratto con qualunque tool, si formatta e si predispone l'output. Dovrebbe risultare abbastanza chiaro a tutti che, previ ampliamenti della libreria, un nostro programma può produrre stampe o output nei formati più diversi. Stabilita l'indipendenza tra contenuti e presentazione esaminiamo un'altro problema. Supponiamo di voler documentare la particolare stampa che è il rendiconto. Supponiamo inoltre di aver corredato il software di possibilità di formattazione tali che l'utente finale può autonomamente costruirsi il look della stampa. Arrivati a questo punto diventa essenziale descrivere in modo compiuto il contenuto della stampa. La descrizione potrebbe essere una cosa di questo tipo:
Questa descrizione può essere generalizzata nel modo che segue:
Immaginiamo ora di formalizzare questa descrizione, di prevedere nella formalizzazione il fatto che certe cose possono non esserci e che altre invece ci sono sempre. Di indicare se un dato elemento appare una sola volta o può apparire più volte. Se due elementi sono in alternativa esclusiva tra loro. Ecc. Un tale linguaggio descriverebbe compiutamente il contenuto del rendiconto. In pratica si descrive il contenuto semantico del documento. Ovviamente tale linguaggio avrebbe dei vantaggi:
sgml è un tale linguaggio, in grado di descrivere la struttura di un documento. Cioè che cosa ogni singolo pezzo del documento significa. In pratica si tratta di un metodo per creare tracciati generalizzati. Rispetto al rendiconto e alle nostre stampe in generale vi è un'altra significativa differenza. Il nostro sistema di stampa ha come elementi costituenti il singolo campo. Non siamo in grado, per motivi pratici, di gestire testi a lunghezza variabile. In pratica un campo di stampa che prevede una stringa di 65Kb è tutto sommato ingestible. In sgml non esiste il concetto di campo bensì quello di testo, senza particolari limiti alla lunghezza di ciascun testo. Ora può creare delle perplessità questa confusione tra campo e testo. Nella nostra accezione standard il campo ha un significato estremamente definito. Misura esattamente un determinato valore sulla base di una determinata unità di misura. Quando parliamo di testo parliamo di piccoli frammenti che hanno un preciso significato. Ad esempio il testo descrizione lunga del titolo ha un significato molto preciso, anche se a ben guardare il contenuto informativo esatto del testo ci è per certi versi oscuro. Per chiarire questo punto fornirei due esempi:
E' evidente che in questo caso il contenuto del campo di testo svolge una funzione nel sistema, ma il contenuto semantico dipende da come l'utente compila le descrizioni. In ogni caso, anche nelle nostre procedure i frammenti di testo se non hanno una semantica precisa hanno una precisa funzione. sgml è nato per gestire documenti. I documenti per loro natura oscillano tra un testo completamente libero ed un testo che ha una determinata struttura. Tale struttura è funzione dell'applicazione per la quale il testo è stato prodotto. sgml rappresenta un metodo formale per descrivere tale struttura. Per cui un metodo formale per creare delle specie di data base di testi che si trovano a metà strada tra la libertà assoluta del testo da word processing ed un data base tradizionale a campi con un preciso significato. sgml non si preoccupa di decidere come formattare il testo, ma unicamente di conservarne la semantica. |
| req.04ojbs7 LastModified: 14-9-2007 John Peter Arnold |
|
This documentation as well as any accompanying software is an
exclusive property of AR Enterprise Spa ®. It is not allowed to reproduce copy, translate it without express permission. |