30 ebook a un prezzo mai visto!

Risparmia sui tuoi libri preferiti, mentre supporti la community Python Italia

➡️ Scopri gli ebook bundle
Home
Fogli di stile, XML, DHTML e DOM: la guerra continua

20 Aprile 1998

Fogli di stile, XML, DHTML e DOM: la guerra continua

di

L'HTML va ormai stretto agli sviluppatori di siti Web che chiedono di utilizzare sempre più multimedialità. E nella guerra per i nuovi standard prosegue la difficile opera di mediazione del W3C

Da quando il Web è Web, il cardine del WWW è lo standard HTML, un tempo definito dal CERN e oggi passato sotto il controllo del consorzio W3C. Ma se una volta tutto era soltanto HTML, oggi questo linguaggio, semplice ma un po’ limitato, non basta più. I progettisti Web vogliono più multimedialità, devono gestire dei testi strutturati e chiedono di avere la possibilità di sfruttare una gestione dinamica delle pagine. Chi, invece, offre agli utenti degli strumenti di ricerca ha bisogno di codici di meta descrizione più efficienti di quelli usati dagli attuali motori, giunti ormai “alla frutta”; sommersi da 200 milioni di pagine in lotta tra di loro per conquistare la testa degli elenchi di Altavista, di Hotbot o di Lycos.

In questo scenario, l’opera di mediazione del W3C tra i grandi interessi economici in gioco è continuamente messa a dura prova. Sul versante dei testi strutturati lo standard XML (eXtensible Markup Language), costituisce forse uno dei successi più evidenti e meno effimeri del consorzio.

Per capire che cos’è XML, occorre parlare di SGML e più in generale di linguaggi di marcatura. SGML è lo Standard Generalized Markup Language, uno standard ISO (International Organization for Standardization) orientato alla descrizione della struttura logica dei testi, ricco di possibilità ma non facile da utilizzare. Da SGML sono derivati gli altri linguaggi di marcatura dei documenti, compresi HTML e XML. In effetti, SGML non è un vero e proprio linguaggio, con dei tag (marcatori) definiti come nel caso di HTML, ma stabilisce solo come costruire dei set (insiemi) di tag adatti a documenti particolari. I chimici molecolari, ad esempio, hanno sviluppato il Chemical Markup Language (CML), mentre i matematici hanno messo a punto il Mathematical Markup Language (MathML) e gli umanisti il TEI (Text Encoding Initiative), tutti derivati da SGML.

Tra SGML, con una struttura completamente aperta, e HTML, una sua derivazione molto rigida e statica, è nato XML, un sottoinsieme semplificato di SGML studiato per l’ambiente WWW. Questo standard mantiene la possibilità, tipica di SGML e non più presente in HTML, di creare nuovi marcatori a seconda delle specifiche esigenze. A differenza di HTML, infatti, XML è “extensible”. In pratica, XML consente un trattamento molto elaborato dei documenti con un subset di definizioni SGML relativamente semplice, adattabile e, soprattutto, trasportabile su Web. Su XML hanno puntato in particolare Sun, IBM, NCSA, Adobe, SoftQuad e Microsoft, mentre Netscape, pur appoggiando questa nuova tecnologia, sembra essere un po’ ritardo rispetto ai suoi concorrenti.

Per il momento, di XML sono disponibili, oltre alla sintassi, soltanto alcuni interpreti ancora un po’ sperimentali, come Lark e NXP, sviluppati interamente in Java, e MSXML di Microsoft, che è già stato incluso in Internet Explorer 4.0.
La futura diffusione di XML, che, è importante sottolinearlo, non sostituirà HTML ma lo affiancherà, dipende in parte dalla rapidità con la quale i browser Web utilizzati oggi saranno in grado di incorporare dei parser per questo nuovo standard e in parte dalla disponibilità dei documenti strutturati che verranno definiti in rete con XML.

Mentre nascono nuovi standard, l’evoluzione di HTML prosegue. L’attuale versione 4.0 non si limita a sconsigliare alcune opzioni introdotte con la diffusione delle extension proprietarie, tra cui il famigerato e spesso inutile tag Font, oggetto in passato di non pochi litigi tra gli specialisti e gli amanuensi del settore, ma introduce otto nuovi tag, tra i quali il Button, e non perde affatto di vista l’aspetto e la presentazione delle pagine, permettendo ad esempio di formattare meglio i dati di una tabella, che adesso possono scorrere sotto a un’intestazione fissa o usare come allineamento i caratteri “punto”o “due punti”, una funzione molto utile per rendere più leggibili delle colonne di cifre decimali.

I Form, che sono stati una delle novità più importanti introdotte nel Web negli anni passati, in HTML 4.0 diventano molto più potenti, e possono ormai includere controlli interattivi che hanno sempre meno da invidiare a quanto realizzabile con il codice usato per l’input dei dati in un Data Base Management System tradizionale. Se in HTML 3.2 i bottoni di un form potevano essere definiti solo come “submit”o come “reset”e il contenuto dei campi doveva per forza essere controllato dal server, con 4.0 si possono definire dei campi non modificabili e soprattutto associare al modulo una routine di controllo o delle tabelle predefinite con i valori accettabili.

Gli sforzi di HTML per mantenersi aggiornato comportano in qualche caso la cessione di alcune funzioni ad altri standard. Sul versante dello stile e dei formati da applicare a un documento, sono nati ad esempio i fogli di stile a cascata (CSS, Cascading Style Sheets), uno strumento che consente di associare ad una pagina o a un gruppo di pagine un’unica definizione di tutti gli stili utilizzati, esattamente come si fa nel caso dei fogli di stile associati ai documenti di Word.

In Internet, la separazione dello stile dal contenuto consente tra l’altro di rendere più veloce la trasmissione delle pagine, anche perché i CSS, di cui è stata approvata a marzo la versione 2, utilizzano i caratteri ISO 10646 ed includono simboli che finora potevano essere inseriti solo come elementi grafici. I CSS2 permettono inoltre di preparare documenti leggibili anche da destra a sinistra, rendendo il Web potenzialmente più internazionale e aperto alle lingue che in rete sono ancora poco diffuse. Le specifiche sui CSS2 comprendono infine il nuovo standard Aural Cascading Style Sheets (ACSS) per facilitare la lettura del formato da parte degli screen reader e di altri dispositivi per utenti disabili.

Sempre per questioni di stile, se ad HTML si affiancano i CSS2, per XML Microsoft ha proposto XSL, eXtensible Style Language, non ancora approvato dal W3C. Un altro standard in fase di studio è XHL, Extensible Hyper Linkage, un semplicissimo set di istruzioni da inserire in qualsiasi documento SGML per definire dei link con funzioni non molto diverse da quelle dei link HTML, ma utilizzabili in XML.

Risolti i problemi di struttura e di stile, un altro attacco all’egemonia di HTML è stato dettato dall’esigenza di rendere le pagine Web più reattive e dinamiche, con il tentativo di diffondere un DHTML.

Che cosa sia esattamente il DHTML, il futuro HTML dinamico, nessuno può dirlo. Secondo Microsoft il DHTML esiste già, implementato dalle versioni 4 di Internet Explorer, mentre Netscape sostiene che il DHTML è ben rappresentato dalle funzioni presenti nel suo Communicator 4. Tra i due litiganti, il W3C tende a ignorare l’esistenza dei browser di quarta generazione e afferma che il dynamic HTML non esiste, dato che si tratta soltanto di un termine utilizzato per comodità da alcuni produttori per indicare un insieme di nuove potenzialità del Web che in parte sono state incluse in HTML 4.0 e in parte verranno implementate con strumenti e standard differenti, script e fogli di stile innanzitutto.

In pratica, il fantomatico DHTML consente di costruire pagine che cambiano in base a eventi determinati dall’utente: testi e immagini possono comparire e scomparire, modificare il loro formato, animarsi. Le pagine Web quindi possono diventare interattive e trasformarsi, ad esempio in seguito alla scelta di un’opzione su un menu a tendina, oppure secondo la posizione del puntatore del mouse. La grande novità introdotta dal DHTML è rappresentata dal fatto che la pagina, per cambiare aspetto, non ha più bisogno che ogni volta il client si ricolleghi al server per scaricare gli aggiornamenti.

DHTML non va confuso con DHML (Device Handled Markup Language), una versione molto semplificata di HTML che consente la costruzione di piccoli menu gerarchici adatti ai dissali dei cellulari “smart”, come i PocketNet Phone proposti da AT&T e da Mitsubishi, che possono funzionare sia come telefoni sia per navigare in Internet tra le pagine di informazioni di un server aziendale.

L’HTML dinamico era il cavallo di battaglia di Netscape, ma è stato ripreso e ampliato da Microsoft, con presupposti tecnici molto differenti.

Il DHTML secondo Microsoft sfrutta i CSS e il DOM (Definition Object Model), un altro standard sostenuto da Microsoft. Grazie al DOM, buona parte delle funzioni della programmazione a oggetti vengono interpretate dal browser stesso. Le modifiche interattive di una pagina Web possono quindi essere gestite con JavaScript, VBScript, con un applet Java o con un controllo ActiveX. Il DOM, per certi versi, consente di rendere le funzioni interattive indipendenti dalla struttura e dal contenuto dei documenti, così come i CSS permettono di gestire la formattazione di una pagina in modo separato. Il DOM si propone infatti di trasformare in oggetti tutti gli elementi di una pagina Web, e di fare in modo che questi siano modificabili in modo dinamico.

Sul DOM e sull’HTML dinamico, si concentrano anche gli interessi di ArborText, Grif, IBM, Inso, Novell, SoftQuad, e Sun Microsystems, tutti membri del gruppo di lavoro del W3C su questi argomenti. Non per caso, le prime bozze sul DOM rilasciate dal consorzio non solo evitano di parlare di DHTML, ma addirittura ignorano l’esistenza dei browser di quarta generazione, citando solo le versioni 3 di Netscape Navigator e di Internet Explorer, non dinamiche, e specificando che in ogni caso il DOM dovrà essere indipendente sia dalla piattaforma usata sia dai linguaggi di programmazione.

Se l’HTML dinamico secondo Microsoft sfrutta i CSS e il DOM, il DHTML di Netscape si appoggia di più a JASS (JavaScript Accessible Style Sheets) e sull’uso del tag Layer, con una struttura complessiva che non viene interpretata correttamente da Internet Explorer e che richiede Navigator 4.0. Mentre il gruppo di lavoro di W3C sul DOM sta lavorando e discutendo per trovare un accordo tra tutte le parti in causa, Netscape sostiene che le proposte di Microsoft non sono neppure un vero DOM, e Microsoft accusa il JavaScript del concorrente di non essere un vero JavaScript.

Per vedere la dinamicità e l’interattività realizzate dall’uso del DOM, occorre avere un browser che implementi questo sistema, cioè Internet Explorer 4.0; con gli altri browser, infatti, tutto ciò che è stato definito in DOM non viene visualizzato correttamente e la maggior parte della pagina continua ad apparire statica. Si pone quindi il solito problema: lanciarsi sulle nuove extension, fidandosi di Microsoft, o creare due Web separati, uno standard e uno dinamico, oppure ancora affidarsi alle funzioni proposte da Netscape?

In questo panorama disordinato e instabile (forse la dinamicità è questa…), per farsi un’idea dei rischi connessi a un uso disattento di un DHTML che è ancora in cerca di un’identità, basta dare un’occhiata a http://www.all-links.com/dynamic/examples.html. Dopo aver scaricato e installato i browser giusti, certo, ma non dimenticandosi di usare anche quelli sbagliati.

Microsoft, dopo aver rivoltato da cima a fondo tutta la sua strategia pur di dimostrare che i suoi progetti sono più conformi di quelli di Netscape agli standard W3C e in particolare ad XML, continua a proporre anche soluzioni proprietarie e la battaglia prosegue sul fronte del Push, della meta descrizione delle risorse Web e della gestione in rete dei file multimediali. Ma di questo si parlerà la prossima volta.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Immagine decorativa form newsletter
Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.