Cos’è Xml
Xml è l’acronimo di eXtensible Markup Language. È, come dice il nome, un linguaggio a marcatori estensibile. È detto “estensibile” perché non ha delle regole fisse di formattazione come HTML, dove ogni oggetto ha il suo tag che deve essere rispettato. L’Xml è definito da chi lo crea e ha solo un forte set di regole di formattazione per mantenerlo standard.
Xml è stato introdotto come linguaggio universale di interscambio di dati nel 1998 dall’onnipresente W3 Consortium. La necessità era quella di trovare uno standard comune che venisse imposto alle industrie, in modo che sistemi eterogenei potessero finalmente comunicare tra loro.

Figura 1: il sito del W3 Consortium relativo a Xml
Prima di Xml, ogni sistema aveva il suo linguaggio proprietario. I sistemi informatici dell’epoca basavano la propria fortuna su protocolli in parte proprietari. Lo scambio di dati era possibile solo tra sistemi omogenei e la comunicazione con l’esterno era gestita da altri sistemi, che si mettevano in mezzo a fare da filtro, con complesse e dispendiose, in termini di performance, operazioni di traduzione dei dati.
L’estendersi dei sistemi informatici dalla nicchia delle grandi aziende alla folla di gente che iniziava a usare Internet, ha reso pressante il bisogno di un linguaggio universale che permettesse a ogni sistema di scambiare informazioni con gli altri, senza doversi sobbarcare il costo di complicati sistemi di conversione.
L’idea di Xml in realtà è semplicissima: ogni documento Xml è organizzato in nodi, o elementi. Ogni documento deve avere un’intestazione e un nodo padre. Da questo nodo possono partire quanti nodi figli si vuole, ramificati all’infinito in maniera gerarchica. Ogni nodo può avere un contenuto testuale e/o una serie di attributi, che ne definiscono le proprietà. L’integrità di un documento Xml è assicurata da rigide regole di formattazione, che impongono una nomenclatura uniforme tra i nodi (minuscolo e maiuscolo sono differenti) e la corretta nidificazione degli elementi (ogni elemento deve essere aperto e chiuso nella giusta sequenza, senza sovrapposizioni).

Figura 2: tipica sintassi Xml in un feed Rss
La vera forza di Xml è, in realtà, il lavoro svolto dal W3 Consortium per definire standard comuni partendo da una semplice bozza e imporre questo standard a tutti i sistemi informatici come protocollo di scambio di comunicazioni.
Malgrado questo complesso lavoro, esistono tuttora sistemi informatici detti legacy, termine che è spesso e volentieri tradotto con antiquato, che non utilizzano questo linguaggio come standard di scambio dati, la maggior parte delle volte per gli enormi costi che si dovrebbero sopportare per il passaggio dei dati e delle applicazioni già esistenti. Fortunatamente, però, la maggior parte delle strutture informatiche li utilizza correntemente, e praticamente ogni linguaggio di sviluppo esistente implementa proprie classi per la lettura e la gestione del formato Xml. Il .NET Framework mette a disposizione tutti gli oggetti presenti nel namespace System.Xml per interagire e operare con questo formato.
XPath
XPath è l’acronimo di Xml Path Language. XPath è un linguaggio simile, per certi versi, alle Regular Expression. Definisce un linguaggio di interrogazione per controllare parti di Xml, selezionarle o evidenziarle. È stato introdotto e definito come standard dal solito W3 Consortium nel 1999 e da allora è il metodo migliore per eseguire query anche complesse sugli elementi di un documento Xml.

Figura 3: il sito del W3 Consortium relativo a XPath
La potenza di XPath è di poter selezionare abbastanza facilmente un singolo nodo, o gruppi di nodi, a partire da condizioni dinamiche, come il nome del nodo, il contenuto, la posizione, la presenza o meno di un attributo. È utilizzato spesso per ottenere un sottoinsieme di dati da un documento Xml complesso, in modo da poter eseguire operazioni di ricerca o lettura su insiemi più ristretti.
|