Introduzione a XML: nozioni preliminari

XML è l'acronimo di eXtensible Markup Language (traducibile in italiano come "Linguaggio di marcatura estensibile").

Non si tratta, a dispetto delle apparenze, di un linguaggio di markup simile all'HTML, bensì di un meta-linguaggio, aperto e basato su testo, di markup; ovvero un linguaggio che consente di definire altri linguaggi di markup.

Da ciò ne deriva la prima caratteristica fondamentale: XML, a differenza dell'HTML, non ha tag predefiniti (questa peculiarità giustifica l'eXtensible dell'acronimo).

XML è un insieme standard di regole sintattiche per modellare la struttura di documenti e dati. Questo insieme di regole, dette più propriamente specifiche, definiscono le modalità secondo cui è possibile crearsi un proprio linguaggio di markup. Le specifiche ufficiali sono state definite dal W3C (World Wide Web Consortium). L'XML, dunque, fornisce informazioni di tipo strutturale e semantico relative ai dati ("dati sui dati" ovvero metadati).

Definito cos'è XML, appare utile chiarire cosa non è:

  • non è un linguaggio di formattazione di documenti;
  • non è un linguaggio di programmazione;
  • nonostante sia orientato al web, non è stato progettato esclusivamente per un suo utilizzo nel web;
  • non è un database.

Quali sono i possibili scenari di applicazione? A questa domanda è praticamente impossibile dare una risposta veramente esaustiva. L'XML ha tra i suoi pregi fondamentali quello di garantire un'alta interoperabilità dei dati (e dunque di consentire l'interscambio di dati tra piattaforme ed applicativi diversi); questo significa che laddove vi è la necessità di scambiare e gestire dei dati, XML è una possibilità da prendere sempre in considerazione.

Abbiamo appena accennato all'interoperabilità, questo non è sicuramente l'unico vantaggio che l'XML reca con se. Pensiamo alla possibilità di progettare linguaggi di markup specifici per diversi settori [1]; alla possibilità di avere dei dati auto-descrittivi; alla possibilità di avere grandi quantità di dati ben strutturate o, ancora, alla possibilità di avere un'unica struttura dati presentabile poi in diversi formati (grazie all'applicazione delle trasformazioni tramite XSL). Nessun contesto applicativo si può definire, a priori, esente dai problemi a cui XML cerca di fornire delle soluzioni.

Vedremo in seguito, come anche nell'ambito delle tecnologie educative, le caratteristiche dell'XML possano offrire soluzioni suggestive.

Note:

[1] Per molti settori e per diversi ambiti di applicazione sono già stati creati linguaggi di markup specifici basati su XML (ad esempio MathML - Mathematical Markup Language -; CML - Chemical Markup Language -; OFX - Open Financial eXchange -; ecc.). Alcuni di questi, che vedremo col progredire di questo percorso di studio (quali XSD, XPath, XLink, XPointer, XForms, ecc.), sono stati progettati per incrementare le potenzialità stesse dell'XML.

Fonti di riferimento:

http://www.html.it