XPath- en XQuery-tutorial voor SQL-professionals (video)
Voordat ik bij Altova begon, had ik geen enkele ervaring met XPath en XQuery. De eerste taak die me werd gegeven, was om mezelf zo snel mogelijk vertrouwd te maken met beide querytalen en een beknopte video te maken die zou dienen als een XPath-tutorial en een XQuery-tutorial. Het was belangrijk om een grondig begrip te ontwikkelen van hun functies en mogelijkheden, omdat beide talen essentieel zijn voor app-ontwikkeling in MobileTogether en voor het opvragen van data in XMLSpy. Ik begon met een sterke basis in SQL en leerde XPath en XQuery door eerst queries in SQL te maken en vervolgens te bepalen hoe ik deze in beide querytalen kon implementeren.

Basisopleiding XPath & XQuery
Altova biedt een uitgebreide, gratis trainingsbibliotheek die onderwerpen behandelt zoals: XPath en XQuery. Ik ontdekte dat ik een goed begrip kon opbouwen van beide querytalen door simpelweg deze trainingsdocumentatie te lezen en de basisprincipes toe te passen op voorbeeld-XML-bestanden die erbij werden geleverd XMLSpy. Ik vond het opmerkelijk hoe intuïtief het was om direct complexe XML-bestanden te doorzoeken met behulp van XPath. Toen ik echter meer geavanceerde voorbeelden ging ontwikkelen voor een XPath-tutorial, begon ik te begrijpen dat de queries die met XQuery werden opgebouwd, vrijwel altijd veel beknopter en gemakkelijker te lezen/debuggen waren.
Toen ik verder las in de trainingsbibliotheek van Altova, viel me op dat de syntaxis van de FLWOR-expressie in XQuery opmerkelijk veel leek op die van een SQL-query. XPath en XQuery verwerken in essentie een dataset en transformeren deze in kleinere datatabellen. Beide zijn in staat om data te filteren met behulp van complexe voorwaarden en transformatiefuncties. Bovendien kunnen beide talen data opvragen uit meerdere bronnen, die samen worden gebruikt om resultaatsets te genereren op basis van data uit meerdere genormaliseerde bronnen. Gezien de overeenkomsten tussen deze talen, werd het voor mij duidelijk dat de eenvoudigste manier om XPath en XQuery te leren, was om te beginnen met SQL en daarvan uit te werken. Met deze kennis begon ik aan de slag.

Het geheel bij elkaar brengen
MobileTogether bevat een voorbeeld-mobiele applicatie genaamd MyCar, die een uitstekende basis vormt voor een XQuery-tutorial. Deze applicatie laat zien hoe je een gebruiker kunt vragen naar zijn of haar droomauto. De gegevens worden geleverd door een reeks parameters die zijn gedefinieerd in een database; dit was ideaal om mee te werken, omdat het veel records bevatte, waarvan elk meerdere gegevenspunten had. De dataset zelf wordt geleverd als een MDB-bestand, dat ik opende met DatabaseSpy en exporteerde naar XML. Ik heb het geëxporteerde bestand aangepast, waarbij ik een paar velden heb gewijzigd om de leesbaarheid van de queries die ik zou maken te verbeteren.
Omdat beide datasets identiek waren, kon ik SQL-, XQuery- en XPath-expressies genereren die identieke resultaten opleverden. Dit maakte het voor mij erg eenvoudig om snel kennis te maken met beide technologieën en ze te leren. Ik ontdekte dat ik binnen enkele uren al complexe queries kon maken. Uiteindelijk heb ik de onderstaande video gemaakt. Deze video behandelt acht veelvoorkomende zoekscenario's en laat equivalente queries in alle drie de talen zien.

Trainingvideo over XPath en XQuery
Hieronder vindt u een link met alle voorbeeldvragen en datasets die in de video zijn gebruikt. U kunt een gratis proefversie van XMLSpy downloaden als u ze wilt uitproberen in het ingebouwde XPath/XQuery-bewerkingsvenster, dat zowel met XML- als met JSON-bestanden werkt.