Ci sono un sacco di specifiche XML molto interessanti che sono morte, non hanno avuto nessun supporto software o sono rimaste inghiottite da altre morti di maggior peso, un po’ come una balena che si trascina dietro un po’ di crostacei al cimitero degli elefanti che sta in fondo all’oceano. Tra queste specifiche ultimamente ho studiacchiato XLink, per capire come erano stati progettati sistemi di collegamento ipertestuale che andassero oltre al “saltello” meccanico da una pagina all’altra. Disclaimer: non perdeteci troppo tempo perché XLink dal 2000 ad oggi non ha avuto nessun sviluppo reale, e la sua revisione del 2010 immagino fosse avvenuta per l’integrazione con XHTML2, il quale a sua volta è stato ucciso nella culla da HTML5. Peccato perché, da quello che si capisce dalle raccomandazioni W3C (poco, come al solito) e dalla scarsa manualistica che si trova in rete, proponeva sviluppi dell’ipertesto davvero intriganti. In sostanza, se ho capito bene, i link venivano progettati come relazioni tra documenti, con una forte semantica sul senso di questa relazione, e con la possibilità di fare delle cose con queste relazioni. Ad esempio si poteva decidere, attivando un link, di non andare nella pagina di destinazione, ma di far venire il contenuto al posto del link stesso. Questa sostituzione poteva avvenire su scelta del lettore, ma anche no, in automatico all’apertura della pagina. Come si potevano collegare simbolicamente più contenuti fra di loro, fino a creare una catena/percorso di navigazione attraverso pagine interne o esterne al luogo di sviluppo. Sospiro: magari poter avere strumenti del genere quando si progettano ebook. Invece il baraccone HTML5 porta javascript (btw: citato solo una volta e distrattamente nel recente documento di rilancio della AAP), che viene sventolato come cura di qualunque male. Ma certe cose sono cose che dovrebbero poter essere progettate con i linguaggi formali, non con del codice. È roba da pippo, non da superpippo.
Per mostrare un’altra cosa che in XML si potrebbe fare ma non è il caso perché il supporto è un disastro, oggi mentre bevevo il caffé ho scritto questa paginetta. Si intitola Historia dell’Impero della bellezza e di Bossoforo, ed è una pagina che collega alle stesse informazioni, due racconti storici inventati sul momento [a proposito di scarso supporto: con firefox non funziona, sorry]. Questi racconti in realtà non sono in quelle due pagine che vedete, ma sono nuclei xml che vengono richiamati come entità e composti in maniera differente: nel primo caso raccontando le vicende dei due regni per ambiente territoriale, nel secondo caso come narrazione in ordine cronologico. I dati a cui si accede sono gli stessi, ma l’ordine di presentazione varia. Un’altra pagina potrebbe usarne solo una parte, o ricomporli ancora in ordine diverso. Si tratta di un metodo molto rudimentale, ma che crea pagine dinamiche senza usare codice eseguibile, nel senso che variazioni ai singoli nuclei XML varierebbero anche le pagine che li richiamano.
Con le entità non sarebbe certo comodo, ma la costruzione di pagine di saggistica che accedono a una base di dati comune e la personalizzano a seconda degli interessi/percorsi del lettore sarebbe una forma di letteratura digitale molto più intrigante del, per dirne uno molto di moda, fixed layout.
Date un’occhiata al codice delle due pagine e buon divertimento.

Advertisements