XML till InDesign

Tråden skapades och har fått 18 svar. Det senaste inlägget skrevs .
1

Jag har läst lite i gamla inlägg, men jag förstår inte riktigt:'(, finns det någon som kan förklara för mig om det går att läsa in XML-filer till InDesign (CS3) När jag försöker får jag först upp ett fönster som säger:

"Det går inte att använda publika ID:n. Det gick inte att hitta den externa entiteten 'symbol character entities'. Vill du fortsätta imoportera ändå?"

Jag klickar OK och då kommer nästa fönster upp:

"Det gick inte att hitta entiteten linforecept.
Rad: 22, spalt: 430"

Är filen förstörd (fick den över mail) eller saknas det något eller vad är det? Som ni märker så är jag inte så duktig på detta.;)

Filen kommer från en databas och ska användas i bokproduktion, så det finns inte så mycket att göra. Den kommer i XML från databasen och måste in i InDesign (FrameMaker för PC kan vara möjligt om det går bättre).

Snälla kan någon hjälpa mig med detta?

XML är ett standardiserat sätt att märka upp innhållet, men vad själva innehållet består av är så långt ifrån standardiserat som man kan komma och för att du ska kunna använda XML i InDesign så krävs att XML-filen är anpassad till InDesign.

När väl XML-filen och InDesign-dokumentet anpassats till varandra kan du göra snudd på magiska saker och bygga dokument nästan helt av sig själv, men det är vägen dit som är alldeles för komplicerad för de allra flesta normala användare.

You really DO have to be a rocket scientist!

Nu tror jag i och för sig att det felmeddelandet du får är ganska trivialt, det säger nog bara att en kompletterande XML-fil där där olika saker definieras behövs för importen men inte kan hittas.

FrameMaker eller InDesign kvittar i de flesta fall lika

Däremot så skulle jag direkt vilja råda dig att anlita en konsult. Har du aldrig jobbat med XML så kommer du med största sannolikhet inte att lyckas göra det du vill och förmodligen kan du använda din arbetstid till att sitta och stirra på dialogrutor med obegripliga felmeddelanden

Det är min personliga uppfattning, baserat på hur lång tid jag själv lagt ner på att lära mig detta område

Läst lite inlägg? Du måste nog plugga lite mer än så.

Några gamla, men intressanta sidor vid sidan av Adobe:
InDesign CS2 XML Explained

Adobe's InDesign and XML
XML.com: Adobe's InDesign and XML

Dorothy J. Hoskins - XML Publishing with InDesign CS2+
O'Reilly Media | XML Publishing with InDesign CS2+

En utan tvekan bra bok är A Designer's Guide to Adobe InDesign and XML: Harness the Power of XML to Automate your Print and Web Workflows

Adobe har förstås rätt mycket matnyttigt. Exempelvis:

Using XML in Adobe InDesign
http://www.adobe.com/products/indesign/pdfs/UsingXML.pdf

Working with InDesign and XML
http://www.adobe.com/products/indesign/pdfs/id2xmltutorial.pdf
http://www.adobe.com/products/indesign/ID_XML_Tutorial.sit.hqx

Format XML data in an InDesign template
http://www.adobe.com/products/indesign/pdfs/idsn2importxml.pdf

InDesign CS3 User Guide XML chapter
http://wwwimages.adobe.com/www.adobe.com/products/indesign/scripting/pdfs/InDesign_User_Guide_XML_chapter.pdf

För att se olika företags och utvecklares lösningar
Build pages using the XML rules engine
Adobe - Adobe InDesign CS3: XML rules developer partners

Adobe InDesign CS3 and XML: A Technical Reference
http://wwwimages.adobe.com/www.adobe.com/products/indesign/scripting/pdfs/indesign_and_xml_technical_reference.pdf

XML och hur man kan använda XSL
Adobe - Design Center : Transform XML with XSL

Håller med Richard, att lära sig XML och Indesign tar väldigt mycket tid, men kanske jag kan förtydliga en liten smula och föreslå en workaround?

Att du fått en XML-fil från någon betyder inte att den magiskt kommer att gå att importera till Indesign, som Richard säger. XML-fil och dokument måste vara anpassade till varandra. Du kan alltså inte börja med en XML-fil+ett nytt tomt dokument, importera det ena i det andra så är det klart. Det fungerar inte så.

Men, du säger att du fått XML-filen från en databas och du skall använda den i bokproduktion? Om databasen kan spotta ut någon annan typ av fil (text tex, Excel mm) eller om databasen redan är producerad i FileMaker, så kan det gå att göra katalogproduktion på andra sätt.

Vilka andra metoder (workarounds) som finns tillgängliga beror på tex textmängder, vilka krav ni har, hur ofta samma export görs, vilken kontroll ni har över original-databasen och vad den kan fås att exportera, hur "komplicerad" layouten skall vara, osv osv.

XML+Indesign ger full kontroll, men har en rejäl inlärningskurva, flera veckor eller mera gissar jag utan att överdriva så mycket.

Om man kan göra en ny export från originaldatabas i andra format än XML och ta den filen vidare till FileMaker för omstöpning/omformatering så kan man från FileMaker göra ännu en export som man sedan kan ta in i Indesign (tex text, RTF mm) Kombinerat med mera eget manuellt jobb i Indesign så kan man få en en slutlig produktionstid på dagar till någon vecka. Men som sagt, utan att ha sett jobbet är det svårt att beräkna.

Men om du utför denna produktion tre gånger i veckan, så är ju XML+Indesign bättre. Gör du det en gång per år och inte har tid+lust att sätta dig in i XML+Indesign, kanske FileMaker kan vara ett alterantiv för att organisera och formatera om data för vidare layoutarbete i Indesign? jag har byggt ett par sådana här lösningar förut.

Semiautomatisk katalogproduktion kan man dock få oerhört elegant. Jag har sett Richard bygga ett XML-baserat flöde, från FileMaker till Indesign. När det enorma förarbetet är gjort, så klickar man på lite knappar i FileMaker-databasen, får ut en XML-fil, trycker på "ladda om" inuti Indesign i ett speciellt skapat och anpassat dokument och sekunder senare har man 60 sidor prislista layoutad och nästan klar med bilder. Man tror det är magi.

Ursprungligen av Taz_1999:

När det enorma förarbetet är gjort, så klickar man på lite knappar i FileMaker-databasen, får ut en XML-fil, trycker på "ladda om" inuti Indesign i ett speciellt skapat och anpassat dokument och sekunder senare har man 60 sidor prislista layoutad och nästan klar med bilder. Man tror det är magi.

Intressant! Jag har en liknande magisk knapp: Ett Excelmacro som hämtar data från Access, skickar dem till SPSS som räknar och skickar tillbaka till Excel som automatiskt skapar text, tabeller och bilder. Öppna ett pagemakerdokument och uppdatera alla länkar och du har en ny rapport på hundratals sidor inom någon minut.

Tyvärr har mitt flöde flera nackdelar framförallt om man vill gör allt på Mac. Jag skulle helst slippa Pagemaker men Indesign saknar tyvärr en del funktioner som behövs för att flödet ska funka. Ska kolla upp länkarna ovan och se om ett XML-baserat flöde skulle kunna vara ett alternativ till Access-VBA-Excel.

Tack, för alla svar, det var väl lite som jag väntat mig. Detta rör sig om en bok på minst 1200 sidor som kommer ut årligen och dom har förhört sig lite om det gick att göra billigare än föregående år, och då hört med företaget jag jobbar på. Men efter att ha läst här så kan jag nog lugnt säga att det är inget för oss. Ingen av oss har tid eller intresse av att gå så djupt in i xml så att vi kan lösa detta.
Men helt privat älskar jag att lära mig och läsa om saker som jag ännu inte lärt mig, så jag kommer att kolla alla länkar jag fått och läsa, så har jag mer kött på benen nästa gång förfrågan kommer.
Tack alla för att ni tog er tid med min fråga

  • Medlem
  • Stockholm
  • 2008-05-22 07:08
Ursprungligen av Maria_nik:

Tack, för alla svar, det var väl lite som jag väntat mig. Detta rör sig om en bok på minst 1200 sidor som kommer ut årligen och dom har förhört sig lite om det gick att göra billigare än föregående år, och då hört med företaget jag jobbar på. Men efter att ha läst här så kan jag nog lugnt säga att det är inget för oss. Ingen av oss har tid eller intresse av att gå så djupt in i xml så att vi kan lösa detta.
Men helt privat älskar jag att lära mig och läsa om saker som jag ännu inte lärt mig, så jag kommer att kolla alla länkar jag fått och läsa, så har jag mer kött på benen nästa gång förfrågan kommer.
Tack alla för att ni tog er tid med min fråga

Om det är en "vanlig" bok så finns det ju enklare sätt att få in den textmassan i InDesign än XML. Att mer eller mindre automatiskt hälla in text och få den formaterad går ju med några av de inbyggda funktionerna.

Kommer texten från en databas och ska bli en katalogliknande bok så kan man komma väldigt långt med DataMerge i InDesign eller med pluginen InData som kan lite till.

Som sagts tidigare XML är fantastiskt men kräver hundratals timmar i investering för att få det att fungera magiskt. I ditt fall borde det finnas enklare lösningar.

Janne

Ursprungligen av jannes:

Om det är en "vanlig" bok så finns det ju enklare sätt att få in den textmassan i InDesign än XML. Att mer eller mindre automatiskt hälla in text och få den formaterad går ju med några av de inbyggda funktionerna.

Kommer texten från en databas och ska bli en katalogliknande bok så kan man komma väldigt långt med DataMerge i InDesign eller med pluginen InData som kan lite till.

Som sagts tidigare XML är fantastiskt men kräver hundratals timmar i investering för att få det att fungera magiskt. I ditt fall borde det finnas enklare lösningar.

Janne

Tack för ditt svar.

Det är ingen "vanlig" bok utan det kommer, precis som du säger, från en databas, men vi har inte tillgång till själva databasen utan vi skulle i så fall få texten som XML-filer, jag kan säga att det är en slags ordbok och allt ligger kodat i XML-filen.

Kan man be dom ta ut det på något annat sätt än XML för att få tillgång till texten och att kodningen ändå blir rätt?

Coolt Excelmakro.

Om du skall köra det på Mac så finns ju förstås Applescript som kan användas för att knyta ihop de flesta program, nu antar jag att du inte hört talas om det alltså, men det kanske du har. Tex kan Indesign, Filemaker, Excel, Word, Acrobat, Illustrator mm alla styras av Applescript. På samma sätt som (jag tror) Visual Basic kan användas inuti Officepaketet för att få dem jobba tillsammans så kan Applescript användas på Mac men även mellan program från olika tillverkare. Jag tror (igen) att Applescript är lite lättare att utveckla i än Visual basic, men det är inte en barnlek för det.

FileMaker kan även förmås att skicka och ta emot SQL-kommandon, alltså kan man kommunicera med program som kan förstå sådana (Access, Excel, kanske SPSS?).

Applescript kan även skicka terminalkommandon (gjorde ett script idag som kör SSH via terminalen tex), alltså har man därigenom tillgång till allt som går att göra i Terminalen och genom att skicka UNIX-kommandon.

Vill du se lite exempel på Applescripts så har jag några på denna site jag byggt:

Applescript-tips från Intelligent Mammals AB - Home (svensk flagga finns).

Apples info finns förstås också:

AppleScript: The Language of Automation

Men nu glider jag från ämnet, sorry!

Tack för tipsen. Jag har förstås hört talas om om Applescript och har funderat på att göra om hela flödet baserat på Applescript och Indesign. Pagemaker gör mig tokig (i bästa fall ETT ångra-steg). Men till saken hör att jag har fått "ärva" verksamheten som har pågått sedan 70-talet och det är jag har hunnit med annat än att underhålla VBA-kod, Accessdatabas och Pagemakermallar. SPSS är också en historia för sig. Flödet funkar bara med version 6 som det inte längre går att lösa licens för och därför måste datorns klocka ställas tillbaka till typ 90-talet varje gång.

En modernisering av arbetsflödet vore alltså inte helt fel. Om det bara var jag som jobbade med publiceringen skulle jag välja applescript. Men som det ser ut nu måste även PC-kollegor (=alla andra) kunna göra arbetet och därför så tyckte jag att XML/Indesign(/R/Matlab) lät som en intressant och möjlig plattformsoberoende lösning.

InDesigns Javascript/ExtendScript är plattformsoberoende. Kör man på PC kan man även jobba med vilket com-kapabelt språk som helst, t.ex. VBscript, VBA, Delphi, C#, VB.NET etc.

RTF kanske? Det går ju att montera direkt i Indesign.

Det finns även ett "språk" i Indesign med formatkoder (Adobe Tagged Text), någon av alla de länkarna som thevil nämner anger säkerligen syntaxen för det. Men du kan även skapa ett dokument med de formatmallar mm du behöver och tillämpa dessa på ett par exempel-ord från ordlistan) och spara det dokumentet med formatkoderna. Dessa är faktiskt inte helt obegripliga. Du kan sedan lusläsa dessa i en texteditor och få databasen att lämna ifrån sig motsvarande med databasens beräkningsfunktioner för text. Det är ganska lätt i FileMaker Pro tex, även om det är pilligt.

Gör så här: Markera den text du tillämpat formatering och formatmallar på mm, välj sedan Arkiv > Exportera och sedan Adobe Tagged Text, då får du en textfil med Adobe Indesigns egna formateringskoder.

Resultatet kan se ut så här:

<UNICODE-MAC>
<Version:4><FeatureSet:InDesign-Roman><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>
<DefineParaStyle:NormalParagraphStyle=<Nextstyle:NormalParagraphStyle>>
<ParaStyle:NormalParagraphStyle><cSize:18.000000><cLanguage:Swedish>qqqqqq qqqqqq qqqqqq<cSize:><cLanguage:><cLanguage:Swedish>
<cLanguage:><ParaStyle:NormalParagraphStyle><cLanguage:Swedish><cUnderline:1>qqqqqq<cLanguage:><cUnderline:><cLanguage:Swedish> <cLanguage:><cSize:18.000000><cLanguage:Swedish>qqqqqqq<cSize:><cLanguage:><cLanguage:Swedish> <cLanguage:><cTypeface:Bold><cLanguage:Swedish>qqqqqqq<cTypeface:><cLanguage:>

Det påminner lite grann om HTML.

Nedan är den makalösa texten jag skrivit och tillämpat formatering på.

  • Medlem
  • Stockholm
  • 2008-05-26 17:25

Om det är en typ av ordlista och databasen har det lagrat i olika fält så skulle en tabbseparerad textfil kunna fungera ihop med InDesigns Data Merge funktion.

Det borde vara den lättaste vägen för dig och enkelt att hantera.

Du har väl råkat på någon nisse som hittat en XML-export knapp i deras databas och hört att InDesign kan importera XML.

Janne Suhr

Ursprungligen av jannes:

Om det är en typ av ordlista och databasen har det lagrat i olika fält så skulle en tabbseparerad textfil kunna fungera ihop med InDesigns Data Merge funktion.

Det borde vara den lättaste vägen för dig och enkelt att hantera.

Du har väl råkat på någon nisse som hittat en XML-export knapp i deras databas och hört att InDesign kan importera XML.

Janne Suhr

Ja det är en typ av ordlista, där det finns olika typsnitt och storlekar i ett stycke och den kodning som finns med vill vi ju ha nytta av annars är det inte ett lönsamt jobb att ta. Om det tar flera dagar att förbereda InDesign för att ta emot texten så kan vi inte konkurrera med det företag som har den nu.
Men en tabbsepaterad textfil kan ju fungera. Om man nu bara kan övertala dom att ta ut texten på annat sätt än XML
Men man hör ju lite överallt nu att XML är det som gäller, allt ska kunna tas ut i XML. Så det är väl en nisse som jag som inte riktigt vet vad det är men har hört att det är bra, och allt blir så enkelt med XML
Tack för hjälpen

Ursprungligen av Taz_1999:

RTF kanske? Det går ju att montera direkt i Indesign.

Det finns även ett "språk" i Indesign med formatkoder (Adobe Tagged Text), någon av alla de länkarna som thevil nämner anger säkerligen syntaxen för det. Men du kan även skapa ett dokument med de formatmallar mm du behöver och tillämpa dessa på ett par exempel-ord från ordlistan) och spara det dokumentet med formatkoderna. Dessa är faktiskt inte helt obegripliga. Du kan sedan lusläsa dessa i en texteditor och få databasen att lämna ifrån sig motsvarande med databasens beräkningsfunktioner för text. Det är ganska lätt i FileMaker Pro tex, även om det är pilligt.

Gör så här: Markera den text du tillämpat formatering och formatmallar på mm, välj sedan Arkiv > Exportera och sedan Adobe Tagged Text, då får du en textfil med Adobe Indesigns egna formateringskoder.

Resultatet kan se ut så här:

<UNICODE-MAC>
<Version:4><FeatureSet:InDesign-Roman><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>
<DefineParaStyle:NormalParagraphStyle=<Nextstyle:NormalParagraphStyle>>
<ParaStyle:NormalParagraphStyle><cSize:18.000000><cLanguage:Swedish>qqqqqq qqqqqq qqqqqq<cSize:><cLanguage:><cLanguage:Swedish>
<cLanguage:><ParaStyle:NormalParagraphStyle><cLanguage:Swedish><cUnderline:1>qqqqqq<cLanguage:><cUnderline:><cLanguage:Swedish> <cLanguage:><cSize:18.000000><cLanguage:Swedish>qqqqqqq<cSize:><cLanguage:><cLanguage:Swedish> <cLanguage:><cTypeface:Bold><cLanguage:Swedish>qqqqqqq<cTypeface:><cLanguage:>

Det påminner lite grann om HTML.

Nedan är den makalösa texten jag skrivit och tillämpat formatering på.

Tro det eller ej, men det här är faktiskt begripligt även för mig. Jag ska titta lite med på detta och se vart jag hamnar.
Tack

  • Medlem
  • Stockholm
  • 2008-06-17 11:34

Ett annat sätt att jobba med XML är att om XML-filer kommer från en databas så kan man i alla fall mig veterligt matcha XML-taggar mot en sk DTD i Indesign CS3. IDCS3 har dessvärre bara stöd för DTD ännu dvs en dokumenttypsdeklaration som checkar av taggar och verifierar dem eller visar på vad som är fel. dessutom kan man sedan via XLST transformera innehålle efter behov. Men det kräver fortfarande en del kunnande som sagt Boken om Indesign och XMl är i alla fall en bra start, dessutom finns sajten W3schools.com som är en utmärkt start generellt för XML, DTD, XSL/XSLT
Mikael

Även äldre version av InDesign stödjer DTD, men de tillför inget i det här fallet, tvärtom komplicerar de bara och det finns knappast någon anledning att använda en DTD om man inte har specifika skäl till det.

Men återigen, det Maria behöver är nog konsulthjälp. Steget från att aldrig ha hållit på med XML till att göra en 1200-sidig trycksak i InDesign är ungefär som att resa sig upp från sitt kontorsjobb och utan en dags träning försöka springa maratonlopp.

Jag tackar för alla svar, och jag ska titta på alla länkar jag fått, men just i detta fallet tror jag på Richard och låter jobbet gå till de som gjort det förut. Det kostar för mycket tid och pengar att försöka lära sig XML till detta jobbet.

  • Medlem
  • Stockholm
  • 2008-07-11 02:10

Richard har nog rätt som vanligt:-)
Ska man tillägga nåt till denna diskussion så är det möjligen att blanda lite av idéerna. Vi har för länge sedan gjort en liknande produktion genom att transformera XML till InDesign tagged text med XSLT (det var på InDesign 2.0-tiden, dvs före CS). Man fick då en snabb och billig lösning. XML i InDesign har ju blivit ofantligt mycket bättre sen dess så XML är kanske bättre och smidigare ändå. Men det som jag kommer ihåg var den stora fördelen med InDesign tagged text då var hastigheten.

Man som sagt, konsulhjälp är nog väl investerafe pengar...

1
Bevaka tråden