Tutoriale su XPath e XQuery per esperti di SQL (video)
Prima di iniziare a lavorare presso Altova, non avevo alcuna esperienza né con XPath né con XQuery. Il primo compito che mi è stato assegnato è stato quello di acquisire rapidamente familiarità con entrambi i linguaggi di query e di realizzare un video conciso che potesse fungere da Tutoriale su XPath e tutorial su XQuery. Era fondamentale acquisire una conoscenza approfondita delle loro caratteristiche e funzionalità, poiché entrambe le lingue sono essenziali per lo sviluppo di applicazioni in MobileTogether e per l'interrogazione dei dati in XMLSpy. Ho iniziato con una solida conoscenza di SQL, imparando XPath e XQuery creando prima query in SQL e poi cercando di replicarle in entrambi i linguaggi di interrogazione.

Formazione di base su XPath e XQuery
Altova offre una vasta libreria di materiali didattici gratuiti che coprono XPath e XQuery. Ho scoperto che potevo acquisire una solida comprensione di entrambi questi linguaggi di interrogazione semplicemente leggendo la documentazione didattica e applicando i concetti fondamentali a file XML di esempio inclusi con XMLSpy. Ho trovato sorprendente quanto fosse intuitivo interrogare istantaneamente file XML di grandi dimensioni utilizzando solo XPath. Tuttavia, quando ho iniziato a sviluppare casi d'uso più avanzati per un tutorial su XPath, ho iniziato a capire che le query create con XQuery erano quasi sempre molto più concise e facili da leggere/debuggare.
Mentre approfondivo la libreria di formazione di Altova, ho notato che la sintassi dell'espressione FLWOR di XQuery era sorprendentemente simile a quella di una query SQL. XPath e XQuery, nella loro essenza, trasformano un set di dati in tabelle di dati più piccole. Entrambi sono in grado di filtrare i dati utilizzando condizioni complesse e funzioni di trasformazione. Inoltre, entrambi i linguaggi possono interrogare dati provenienti da più fonti, combinandoli per produrre set di risultati basati su dati provenienti da diverse fonti normalizzate. Data la somiglianza tra questi linguaggi, è diventato chiaro a me che il modo più semplice per imparare XPath e XQuery era partire da SQL. Forte di questa consapevolezza, mi sono messo al lavoro.

Collegare il tutto
MobileTogether include un'applicazione mobile di esempio chiamata MyCar, che rappresenta un'ottima base per un tutorial su XQuery. Questa applicazione dimostra come interrogare un utente riguardo all'auto dei suoi sogni. I dati sono forniti da un insieme di parametri definiti all'interno di un database; erano ideali per lavorare, poiché contenevano molti record, ognuno dei quali aveva diversi elementi di dati. Il dataset stesso è fornito come file MDB, che ho aperto con DatabaseSpy ed esportato in formato XML. Ho modificato il file esportato, cambiando alcuni campi per migliorare la leggibilità delle query che avrei prodotto.
Poiché entrambi i set di dati erano identici, sono stato in grado di creare espressioni SQL, XQuery e XPath che producevano risultati identici. Questo mi ha permesso di apprendere rapidamente sia XPath che XQuery. Ho scoperto di poter creare query complesse in poche ore. Alla fine, ho deciso di realizzare il video che segue. Questo video illustra otto scenari di interrogazione comuni, mostrando query equivalenti in tutte e tre le lingue.

Video di formazione su XPath e XQuery
Di seguito è disponibile un link che contiene tutte le query di esempio e i set di dati utilizzati nel video. Se desiderate sperimentare con essi, potete usufruire di una prova gratuita di XMLSpy e utilizzarli nella finestra di modifica XPath/XQuery integrata, che funziona sia con i file XML che con i file JSON.