Muligheder med XML og andre strukturerede data til dokumentgenerering

Muligheder med XML og andre strukturerede data til dokumentgenerering

Intellias indehaver og chefkonsulent, Kåre Bjørn Jensen, har arbejdet med strukturerede data i snart 20 år. Han startede med SGML-data og få år efter begyndte XML-strukturerede data at vinde indpas, som siden har været dominerende i udveksling af strukturerede oplysninger.

XML er en fantastisk datastruktur at arbejde med, fordi det er læsbart med det blotte øje. XML kan indeholde letlæselige strukturer, eksempelvis fra en prisliste hvor man kan se varebetegnelse, varenummer, pris, farve, størrelse eller andre oplysninger. Dette passer godt til at strukturere i eksempelvis en database eller i et administrativt system som for eksempel Microsoft Dynamics AX. Dataene kan eksporteres til Excel eller til andre programmer med det, vi i ”XML-sprog” kalder en transformation; en XSLT.

Selv efter at have arbejdet med strukturerede data og automatisering af dokumentgenerering i snart 20 år, kan man stadig blive fascineret, hver gang vi får et nyt gennembrud i forhold til at nå op på et endnu højere automatiseringsniveau og et endnu mere begavet genbrug af eksisterende data til nye formater. Her er et par eksempler:

Hos vores kunde, Dansk Standard, hjalp vi med at hægte deres administrative stamdata i Microsoft Dynamics AX op på Adobe InDesign, så der kunne genereres certifikater til deres kunder gennem InDesign. Vi udarbejdede skabeloner i InDesign, lagde et lag af struktur ovenpå, så de var klar til at modtage de XML-data, der kunne eksporteres fra Microsoft Dynamics AX. Herefter gik vi tilbage til kilden i AX, eksporterede data, og kontrollerede hvorvidt de stemte overens med det, som passer til InDesign, hvilket de ikke gjorde fuldstændigt, men det kunne vi modellere på plads ved hjælp af en såkaldt transformation, hvor vi kunne oversætte én feltbetegnelse til en anden og ændre på datastrukturen, indtil det stemte overens.

For at få automatiseret processen lavede vi et script, som blev afviklet allerede ved tryk på en knap i AX. Knappen starter InDesign-programmet og åbner en skabelon fra et udvalg på 20 forskellige. Herefter flyder data automatisk ind i de rigtige felter og programmet sørger også for at pege på logo-filer og anden grafik, som kan indpasses i en række foruddefinerede felter og som kan skaleres og centreres i felterne ved hjælp af javascripting, som også dikterer, om der er plads til al teksten.

Hvis der ikke er plads til al teksten, kan det ses på ”Preflight”-funktionen, at der er overskydende tekst. I så fald bliver der automatisk tilføjet en ekstra side og hvis der, efter teksten er tilpasset i forhold til den ekstra side, stadig er overskydende tekst, tilføjes yderligere en side og så fremdeles, indtil al tekst er indsat.

Det er et produktivt system, og Dansk Standard kan i dag slå op hvilken af deres kunder, der skal have et certifikat, trykke på knappen ”Dan certifikat” i AX og glæde sig over, at certifikatet bliver dannet fuldautomatisk i Adobe InDesign. Dansk Standard bruger Adobe InDesign stort set uden at bemærke, at det er det program, de har fat i, for det færdige resultat, de får frem på skærmen, skal blot eksporteres til en PDF-fil og så er processen klaret.

Der er også eksempler på, at vi bruger strukturerede data til større dokumenttyper. Vi har lavet en del løsninger til varekataloger, prislister og andre store lister af dokumenter, hvor data kommer fra databaser eller administrative systemer, og hvor vi nogle gange helt lavpraktisk modellerer med data i Excel for at kunne tilpasse dem til de felter, som layout-programmet skal bruge efterfølgende. Layout-programmet kan være Adobe InDesign eller søsterprogrammet Adobe FrameMaker, og begge programmer er gode til at håndtere strukturerede data. FrameMaker har et stærkere featuresæt end InDesign, som til gengæld er mere udbredt blandt grafikere. Vi vælger den løsning, som kunden foretrækker.

Til mere traditionelle fagbøger kan vi også se, at brugen af strukturerede data vinder frem. Her vil det ofte være sådan, at dialekterne af strukturerede data ikke stemmer overens, men ved hjælp af XML-transformationer, som kan køres helt automatisk som en del af importprocessen, kan vi eksempelvis opbygge tabeller, opbygge linjeskift, lave tabulatorer og indsætte standardoverskrifter foran valgte teksttyper. På den måde kan vi lave en ganske omfattende bearbejdning af data, sådan at det automatisk falder på plads og giver en meget høj produktivitet i produktion af store fagbøger.

Udgangspunktet for automatiseringen er strukturerede XML-data, som er læsbare med det menneskelige øje, dvs. at du kan se, hvad dataene består af. XML-transformationerne er standardteknologier, som andre kan tilpasse, efter vi har lavet den første del af forarbejdet, hvis der måtte være et ønske om det.

Det er et standardprogram fra Adobe, typisk InDesign eller FrameMaker, der bruges. I enkelte situationer supplerer vi med plugins til InDesign, fordi de kan hjælpe vores automatisering på vej, men det er standardteknologier til meget overkommelige priser, som vi kan bringe op på høje automatiseringsgrader ved at strukturere og gennemtænke processer, som efterfølgende kan køres automatisk.

Hvis du vil vide mere om vores tilgang til strukturerede data og automatisering, så tag et kig på vores kursus i XML og andre strukturerede data i InDesign eller vores tilsvarende konsulentydelse, som handler om, hvordan vi kan hjælpe dig med at få fart over feltet, når du skal genere dokumenter ved brug af strukturerede data.