GENERAZIONE DI PAGINE WEB
(20001212 19991124)


In questa pagina si discute l'opportunità di rendere disponibili strumenti capaci di facilitare la composizione di pagine per il Web contenenti informazioni di interesse scientifico e generale le quali possano essere consultate efficacemente attraverso la Rete.

Queste pagine attualmente dovrebbero essere scritte nel linguaggio HTML e dovrebbero contenere procedure scritte in linguaggi come JavaScript e Java rispettando le raccomandazioni degli organismi preposti alle standardizzazione.

In tal modo si potrebbero sfruttare al meglio i molti vantaggi che presentano le pagine Web come mezzi per la comunicazione scientifica, vantaggi riguardanti l'ampiezza e la tempestività della diffusione, la facilità di aggiornamento, l'efficacia consentita dalla multimedialità, cioè della possibilità di servirsi di grafici, dinamismi, immagini, animazioni e suoni, la versatilità e la adattabilità alle divese esigenze della organizzazione ipertestuale, la collegabilità ad altre risorse in rete, la possibilità di venire prodotti nell'ambito di cooperazioni e di essere loro supporto (v.a. Pro HTML).

Inoltre i livelli della diffusione attuale ed il tasso di crescita di Internet, in particolare presso la comunità scientifica, rendono estremamente vantaggioso per gli studiosi dei vari tipi la collocazione sul Web delle informazioni che desiderano diffondere. Alle pagine Web che presentano dati di elevato interesse scientifico dovrebbero essere destinate risorse sufficienti a garantire contenuti attendibili, aggiornati ed esaurienti e presentazioni chiare, espresse in termini non equivocabili, organizzate in modo da facilitare il reperimento dei dati.

Perseguire gli obiettivi suddetti non è cosa da poco; in particolare sono ostacoli l'instabilità di molte componenti, locali e non, della Rete e la non sufficiente percezione del ruolo che potrà svolgere il Web per attività scientifiche e culturali di ampio respiro.

Come accade per molti obiettivi di ampio respiro, impegnativi e collegati alla IT, è opportuno dedicare particolare cura allo sviluppo di strumenti software atti a facilitare la messa a punto di pagine scientifiche per il WEB. Problemi particolari si pongono per la redazione di pagine riguardanti la matematica.


Personalmente intendo sviluppare programmi in grado di generare un cosiddetto h-volume a partire da una a-collezione.

Con il termine a-collezione intendo un gruppo di a-files, files sequenziali contenenti solo caratteri ASCII, e quindi costruibili anche mediante un semplice text editor e completamente portabili, coordinati e strutturati secondo regole precise, nei quali risulti comodo raccogliere ed aggiornare informazioni riguardanti un ben determinato argomento. Per h-volume intendo invece un gruppo di h-pagine, files sorgente HTML in grado di presentare sul Web i contenuti di una a-collezione in modo che essi siano efficacemente consultabili. Le h-pagine, quindi, devono essere ricche di collegamenti interni e di componenti orientativi (indici, glossari, ...); è importante che questi possano essere derivati dal programma generatore dall'analisi degli a-files. Può essere opportuno che esse presentino ridondanze che sono invece assenti dagli a-files; anche queste ridondanze devono potersi derivare automaticamente. Inoltre è opportuno che in un h-volume siano presenti numerosi collegamenti a pagine Web di elevato interesse documentario e scientifico; in particolare collegamenti ad altri h-volumi messi a punto nell'ambito di collaborazioni che prevedano il rispetto di precise convenzioni ed apposite interfacce.

Alcuni esempi significativi di procedure per la trasformazione di a-collezioni in h-volumi sono forniti da alcuni programmi scritti in linguaggio C standard ed organizzati secondo un impianto tradizionale che prevede solo streams ASCII di ingresso e di uscita. Questi programmi in precedenza consentivano di generare files da sottoporre al sistema TEX. perché producesse stampati muniti di indici opportuni adatti alla consultazione dei dati gestiti.

Un programma chiamato yk (v. a0yk.htm) riguarda lo schema di classificazione per la matematica MSC ed è auspicabile riesca a coinvolgere altri autorevoli schemi di classificazione. Esso a partire da a-files contenenti l'elenco delle sezioni costituenti lo schema (e da files ausiliari di minore importanza) consente di ricavare h-volumi che permettono di consultare lo schema secondo modalità diverse da quelle previste dalle presentazioni ufficiali sul Web di MSC. Sono disponibili la versione inglese di MSC2000, un tentativo di versione italiana, una presentazione delle versioni inglese ed italiana, presentazioni di MSC2000 inglese ed italiana con contemporanea visione di due loro porzioni, una presentazione delle due versioni del 2000 e del 1991 in inglese. Si vorrebbe inoltre sperimentare una presentazione congiunta di due schemi di classificazione relativi a discipline contigue tra le sezioni delle quali esistono collegamenti significativi (MSC2000 con gli schemi CR per la computer science, PACS per la fisica, ...). Le pagine generate da yk, come quelle prodotte dai programmi che seguono, sono pagine in puro HTML e sono organizzate mediante frames.

Un altro tipo di dati che si vogliono presentare mediante h-volumi sono formule matematiche espresse con un formalismo che renda possibile la costruzione di collegamenti fra le formule stesse (v. afmd1.htm). A questo scopo è in corso di ampliamento un programma chiamato fs (v.a. a0fs.htm) utilizzato in precedenza per operare su varie migliaia di queste formule allo scopo di individuare delle regole sintattiche per la loro redazione e delle procedure per il controllo della loro correttezza formale e della loro coerenza e per la loro gestione documentaria, procedendo con un approccio ampiamente empirico. Il suddetto programma consente ora di produrre una prima semplice forma di files HTML riguardanti sequenze di formule, indici ipertestuali dei simboli e dei termini che in esse compaiono e collegamenti fra indici di termini e pagine guida delle sezioni MSC.

Un altro programma chiamato hh, (v. a0hh.htm) è in grado di trasformare in h-volumi archivi relativamente semplici, cioè archivi riguardanti entità di un unico genere. Un archivio da elaborare è contenuto in uno o più files sequenziali simbolici e presenta records organizzati in campi distinti da separatori e compilati seguendo regole lessicali e sintattiche ben definite. La prestazione principale del programma hh è quella di costruire i files sorgente HTML a partire dai files dell'archivio, da un file di richieste e da semplici files ausiliari. Il programma, come del resto anche gli altri qui descritti, consente anche di effettuare controlli di correttezza formale e di coerenza degli a-files costituenti l'archivio, di rimaneggiare tali elenchi e di ottenere presentazioni a stampa dei dati degli archivi servendosi del sistema TEX.

Il programma hh è stato applicato a due raccolte di dati riguardanti acronimi e dati biografici concisi di interesse per la matematica. Un semplice esempio dei files prodotti è raggiungibile cliccando qui. Esso verrà utilizzato anche per un archivio di indirizzi Internet di interesse per i matematici.

Viene inoltre curato l'ampliamento riguardante la generazione di h-volumi di un programma chiamato dx (v. a0dx.htm) finalizzato alla gestione di dizionari ed utilizzato in precedenza per la stampa, sempre mediante TEX, di dizionari di matematica elementare e di matematica discreta.

L'utilizzo di semplici files ASCII, del linguaggio C, dei browsers e di un sistema per la stampa come TEX, garantiscono la portabilità e la sostanziale autonomia degli strumenti sopra descritti.

Questo modo di produrre pagine Web richiede di individuare una struttura ben precisa per il complesso di informazioni raccolte in una a-collezione e di organizzare procedure che la rispettino in tutti i dettagli e innanzi tutto controllino la loro correttezza formale. Questo richiede di precisare numerosi dettagli delle entità trattate e spesso questi particolari possono essere individuati solo per passi successivi. D'altro canto la precisazione del modo di operare richiede solo nozioni sostanzialmente ben definite della teoria dei grafi e delle tecniche di trattamento dei testi. Questo modo di operare peraltro apre la possibilità di una buona manutenzione delle pagine Web generate, molto migliore di quella attuabile su pagine Web ottenute servendosi degli attuali Web editors, strumenti che tendono a rimaneggiare i testi sorgente loro sottoposti secondo loro schemi operativi facendo perdere spesso componenti HTML introdotte per mantenere distinzioni semantiche dei dati trattati ma non previste dal Web editor. È opportuno osservare che il problema della manutenzione delle pagine Web sta diventando uno dei più proccupanti per la effettiva utilizzabilità di Internet.


Ad un livello di maggiore generalità, si sta definendo un linguaggio che consenta di controllare la generazione di testi, ed in particolare di pagine HTML, a partire da files sequenziali contenenti:

Questo linguaggio, ora chiamato XG, teXt Generator, dovrebbe essere implementato con un programma che riprende molte componenti di quello utilizzato per rendere operativo il linguaggio chiamato ISFA [A. Marini: Il linguaggio ISFA per elaborazioni su elenchi e testi. Quaderno IAMI 92.6].

La prima componente di XG riguarda un preprocessore di elevata versatilità abbastanza ricco. Questo preprocessore è in grado di operare autonomamente e facilita la composizione di alcune semplici pagine; esso è descritto nella pagina ottenibile cliccando qui.