Jag jobbar på att göra en produktkatalog för klädmärket Saprema. Det blir en 80-sidig katalog med alla snygga plagg. Detta innebär att det är mycket repeterande data. Varje plagg har ett namn, beskrivning, tvättinstruktioner, material etc. Den här informationen finns redan, till största del, inlagd i webshoppen (som för övrigt är baserad på Magento).
För att slippa sitta och kopiera all den här informationen manuellt, började vi med att exportera en CSV från webbshoppen och använda Data Merge för att hämta in informationen och automatiskt skapa sidor baserat på detta.
Data Merge, har vi märkt, har dock sina begränsningar. Möjligheterna till uppdatering är mkt begränsad, så nästa år hade man manuellt fått hålla koll på vad som ändrats för att uppdatera. Dessutom stöder det inte XSLT, dvs förmågan att ersätta vissa textsträngar med t.ex en bild, vilket vi behöver göra för tvättsymbolerna, Ökotex-märkning osv. Dvs – Data Merge-funktionen kan inte läsa ett ”Ja” ur ”Ökotex-märkt”-fältet och om det står ja, visa en bild, om nej, inte visa något.
Dessutom bör man ändå använda XML om man skall samköra med en webbutik, om man gör ändringar i produktkatalogen i InDesign kan man exportera XML:en och importera det till butiken.
Hur kommer man igång med XML?
XML är känsligt, och trots att jag prenumerar på Lynda.com’s proffsiga instuktionsvideos har det tagit mig många timmars experimenterande, läsande, tittande och mer experimenterande för att få det att funka.
Att använda XML med InDesign framstår som enkelt, och det är ganska enkelt när man förstår några saker som till en början gör att det inte funkar. Nyckeln är att få strukturvyn i InDesign att matcha exakt med XML-filen du importerar.
Här följer ett enkelt arbetsexempel där vi ska ladda in en XML-fil som innehåller två textfält; produktnamn och beskrivning.
- Skapa ett nytt dokument, inget speciellt här.
- Skapa två vanliga textrutor.
- Öpnna Märkords-panelen (Tags) ur Fönster -> Tillbehör -> Märkord.
- Om din XML-fil inte börjar med exakt Root som toplevel XML-nivå, så måste den ändras till det din XML-fil har som topplevel-element. OBS att detta är skiftlägeskänsligt.
- I flyout-menyn, klicka ”Läs in märkord” och ladda in din XML-fil.
- Nu har du en lista med märkord, som du ska märka dina textrutor med. Kolla så att top-level-elementet matchade, så att du t ex inte har både root och Root i listan med märkord.
- Markera den ena textrutan, och klicka på produktnamn.
- Markera den andra textrutan, och klicka på beskrivning. Nu har vi taggat textrutorna med varsin tag.
- Gå till Strukturvyn i menyn Visa -> Struktur -> Strukturvyn.
- Fäll ut root, så att du ser strukturträdet. Om detta matchar din XML-fil exakt, så markera root, och klicka Importera XML från flyoutmenyn. Observera att både ordningen på märkorden, skiftläget, och nivån måste matcha 100% exakt för att det ska fungera.
- Läs in din XML-fil så ska textrutorna visa det som står i XML-filen!
Det finns de som menar att ”It takes a village” att jobba med XML men jag har faktiskt själv kommit en rätt bra bit på en helg, och då består nästan all tidsåtgång till att lista ut varför det inte funkar och inse hur man matchar strukturen i XML och i InDesign. Det är något som varit undermåligt förklarat på alla ställen jag sett, jag har saknat trouble-shooting-material så tanken är att jag ska lägga upp lite sånt här. Det blir mer avancerat när man har flera nivåer i XML:en, samt vill flöda över flera sidor, vilket jag också ska skriva om. Denna artikel är endast en introduktion och ett förtydligande av kraven på noggrrannhet som jag inte tycker framgått i materialet jag hittat.