Intelligente XML-ontwikkeling met Altova AI
Iedereen die met XML werkt, weet hoe snel de tijd voorbij vliegt. U codeert handmatig een XSLT-stijlvel om de structuur van het ene document om te zetten naar die van een ander. U maakt een voorbeeldbestand om een schema te testen, maar vult het met "Test1" en "555-555-1212", waardoor u meer fouten verbergt dan dat u er ontdekt. U zoekt voor de derde keer deze week de exacte XPath-syntaxis op.
De nieuwste versie van XMLSpy is specifiek ontworpen voor dit soort taken. Door de integratie met de Altova AI Server – een door Altova aangeboden service die als een optionele toevoeging beschikbaar is – biedt de XML-editor nu contextbewuste AI-ondersteuning voor de meest tijdrovende XML-ontwikkeltaken. Omdat de AI het schema en het document dat u al geopend heeft kan lezen, is de output gebaseerd op uw daadwerkelijke werk, in plaats van een algemene schatting. Er is geen kopiëren en plakken tussen verschillende tools, en er worden geen antwoorden gegeven die bijna kloppen.
Twee voorbeelden illustreren het verschil beter dan welke functielijst dan ook. Beide zijn dingen die ontwikkelaars voortdurend doen, en beide werden vroeger in real-time uitgevoerd.

Voorbeeld 1: Realistische testgegevens, gegenereerd op basis van uw schema
Stel dat u een XML-schema heeft voor bestellingen en dat u voorbeeldgegevens nodig heeft om een importroutine te testen. De traditionele aanpak is om een document handmatig te maken, of om het automatisch te genereren en vervolgens te zien dat elk veld wordt weergegeven als een betekenisloze placeholder. Geen van beide methoden geeft u veel informatie over hoe uw code omgaat met echte invoer.
Met Altova AI kunt u het programma aan een XSD-bestand laten zien en vragen om een voorbeelddocument.

U kunt een aantal opties specificeren voor het genereren van de voorbeelden, of de standaardwaarden gebruiken.

Vervolgens genereert Altova AI een voorbeeldinstantie op basis van uw schema. In plaats van willekeurige, maar geldige waarden, interpreteert het wat elk element betekent en vult het plausibele gegevens in: realistische bedrijfsnamen, datums die logisch op elkaar aansluiten, correct opgemaakte adressen en prijzen, enzovoort

Het gebruik van realistische data loont op twee manieren. Ten eerste komen hiermee uitzonderlijke situaties aan het licht die met voorbeelddata mogelijk niet worden gedetecteerd, zoals lange namen, meerregelige items, waarden dicht bij een limiet, enzovoort. Ten tweede kan uw team demonstraties, documentatie en prototypes maken op basis van data die eruitziet als productiekwaliteit, zonder ooit daadwerkelijk klantgegevens te gebruiken. Wat voorheen een tijdrovende handmatige taak was, wordt nu een verzoek dat met één klik kan worden uitgevoerd.
Voorbeeld 2: Transformatie met XSLT of XQuery tussen twee structuren
Het aanpassen van XML-bestanden is vaak een tijdrovend proces. Hier is een realistisch voorbeeld: Een bedrijf in het Verenigd Koninkrijk plaatst bestellingen bij een leverancier in Duitsland en moet elke Engelse bestelling herschrijven om te voldoen aan de elementnamen die het boekhoudsysteem van de leverancier verwacht. Beide bestanden bevatten dezelfde informatie, maar elke tag is anders, en dat geldt ook voor de namen van de attributen.
Hier is het formaat dat het Duitse systeem verwacht:

In plaats van handmatig talloze velden in kaart te brengen, geeft u Altova AI zowel het bron- als het doeldocument. Het programma leest beide documenten, herkent de elementen die semantisch hetzelfde veld vertegenwoordigen, maar onder verschillende namen voorkomen, en genereert een XSLT-stijlblad dat de koppeling tussen deze elementen legt. Voer de transformatie uit en u krijgt een correct gemapt Duits document, inclusief alle regels.

Met dezelfde workflow kan XQuery worden gegenereerd in plaats van XSLT, als dat uw voorkeur heeft. Omdat de output standaard, volledig bewerkbare code is, kunt u deze verfijnen in de XSLT-editor van XMLSpy, stap voor stap doorlopen in de XSLT-debugger, of optimaliseren met de XSL Speed Optimizer. Altova AI biedt u een bruikbaar startpunt, geen ondoorzichtige oplossing.
AI-assistent voor XML en JSON
Beide voorbeelden hierboven maken gebruik van dezelfde onderliggende functionaliteit die de interactieve AI-assistent aandrijft. Dit is een chatvenster dat is geïntegreerd in XMLSpy. U kunt beschrijven wat u wilt in eenvoudige taal en krijgt vervolgens gegenereerde inhoud op basis van uw huidige context.
Vanaf de werkbalk "Assistent" kunt u een antwoord kopiëren, dit in een nieuw document plakken, of het direct openen in het venster "XPath/XQuery". Met dezelfde workflow op basis van natuurlijke taal worden XML- en JSON-schema's, voorbeeldinstanties en XPath-, XQuery- en XSLT-code gegenereerd. Dit maakt het ook een snelle manier om de syntaxis van die talen te leren. Het werkt op dezelfde manier voor JSON-ontwikkeling: vraag om een JSON-schema, een instantie of voorbeeldgegevens en bekijk het resultaat direct.
De mogelijkheden zijn eindeloos, maar hier zijn enkele voorbeelden van vragen die u kunt stellen:
• Maak een XML-schema voor verzenddocumenten met meerdere transporteurs en tracking-informatie
• Maak een JSON-bestand aan met voorbeelden van verzekeringsclaims, inclusief enkele bijzondere gevallen
• Maak een XSL-transformatie die alle elementen op het hoogste niveau van het actieve bestand weergeeft
• Schrijf een XPath-expressie die alle bestellingen boven de $10.000 vindt die in het afgelopen kwartaal zijn geplaatst
Aan de slag
Altova AI is beschikbaar als een abonnement dat u kunt aanschaffen in combinatie met uw XMLSpy-licentie. Een support- en onderhoudspakket (SMP) is vereist, en u kunt het AI-abonnement toevoegen aan een nieuw SMP-pakket of een bestaand pakket. Om de opties te bekijken en een abonnement aan te vragen, gaat u naar de Altova online winkel. U kunt de functionaliteit ook in actie zien op de pagina Altova AI voor XMLSpy.
De taken zijn niet veranderd: XML-ontwikkelaars hebben nog steeds testdata, transformaties, schema's en queries nodig. Wat wel veranderd is, is de tijd die ze kosten. Dankzij Altova AI, die de eerste versie maakt, kan werk dat vroeger een hele middag in beslag nam, nu in een koffiepauze worden voltooid.