XML – Parte 2/3: importar documentos no formato XML

por edraant em 20/09/2009

em XML

Este é o segundo post de uma série de 3 que mos­tra como o XML inte­rage com o Indesign.

É dedi­cado à impor­ta­ção do XML, o res­pec­tivo tra­ta­mento e a liga­ção a Para­graph Sty­les do Inde­sign.

Tinha mos­trado que o ficheiro XML con­ti­nha tags asso­ci­a­das. Mas aque­les nomes apa­re­cem assim sem mais nem menos? Sim e não.

Podem ser atri­buí­dos quais­quer nomes às tags, mas o ideal será as tags terem os mes­mos nomes que as exis­ten­tes no Indesign.

Como cha­mada de aten­ção, faço notar que na última linha deste ficheiro XML encontra-se uma tag cha­mada título, o que demons­tra que o título não pre­cisa de estar neces­sa­ri­a­mente no iní­cio do ficheiro XML. Será o Inde­sign (e vocês) que o irão colo­car no local cor­recto (cli­que para ampliar).

xml_11

A pre­pa­ra­ção do processo

Este é o docu­mento pre­pa­rado com fra­mes para inse­rir o ficheiro de XML. Para fazer a liga­ção entre as tags do XML e as fra­mes do Inde­sign, existe a Palete Tags. Menu Win­dow > Tags. xml_4 Por defeito, o nome que apa­rece na única tag exis­tente chama-se “root”. Como o ficheiro XML apre­senta a tag “folheto”, dou um duplo click em cima do nome da tag e renomeio-a. Nota: repa­rem no ficheiro XML. A tag “folheto” é a pri­meira e a última a apa­re­cer. Tal como o HTML, qual­quer con­teúdo entre a pri­meira e última tag fica subor­di­nado a esta tag. xml_5 É uma seca ter­rí­vel ter de criar várias tags, cor­rendo o risco de nos poder­mos enga­nar a atri­buir o nome. Um carac­ter errado é o sufi­ci­ente para a tag não fun­ci­o­nar. Para isso, usa-se o sub-menu da Palete Tags e escolhe-se Load Tags, selec­ci­o­nando a seguir o ficheiro de XML que con­tém as tags a impor­tar. xml_6 E aqui estão elas, inclu­si­va­mente as tags asso­ci­a­das às ima­gens. xml_7 É altura de asso­ciar as tags impor­ta­das aos fra­mes cri­a­dos na página. Selecciona-se a frame que vai con­ter o título (que, relem­bro, está no final do ficheiro XML) e clico na tag res­pec­tiva. xml_8 Faço o mesmo para as ima­gens… xml_9 Para o texto, que con­tém 3 cai­xas de texto liga­das… xml_10 E final­mente, para o bloco infe­rior de texto. xml_111 É altura de veri­fi­car se as tags estão bem asso­ci­a­das no Inde­sign. No menu View > Struc­ture > Show Struc­ture. O Inde­sign abre um pai­nel late­ral do lado esquerdo que apre­senta as várias tags dis­pos­tas e subor­di­na­das à tag “folheto” (a antiga root). xml_12 Surge outra per­gunta: como é pos­sí­vel saber quais as fra­mes do docu­mento asso­ci­a­das às tags sem andar a “picar” cada uma delas? Mais uma vez, no Menu View > Struc­ture > Show Tag­ged Fra­mes. O Inde­sign mos­tra as fra­mes que estão asso­ci­a­das a cada uma das tags, pela sua res­pec­tiva cor. xml_13

Ligar tags a Para­graph Styles

Outro aspecto fun­da­men­tal antes de inse­rir o XML é ligar as tags aos Para­graph Sty­les. Neste docu­mento exis­tem 3 Para­graph Sty­les. O número de Para­graph Sty­les não tem neces­sa­ri­a­mente de ser o mesmo que o número de tags. xml_14 Para fazer esta asso­ci­a­ção, sub-menu da Palete Tags e selec­ci­o­nar Map Tags to Sty­les. xml_15

É aqui que é defi­nido um match entre a tag de XML e os Para­graph ou Cha­rac­ter Sty­les. Tam­bém fun­ci­ona com Table Styles.

xml_16

Impor­tar o ficheiro XML

É altura de impor­tar o ficheiro XML. No lado esquerdo do ecrã, selec­ci­o­nar a tag “folheto”. xml_17

Ir a Menu File e selec­ci­o­nar Import XML. Esco­lher o ficheiro a impor­tar, e assi­na­lar Show XML Import Opti­ons. É neste qua­dro que a impor­ta­ção do ficheiro XML tem sucesso ou não. É fun­da­men­tal com­pre­en­der cada uma das opções para a liga­ção XML/Indesign fun­ci­o­nar. Analise-se por partes.

xml_18

Mode > Replace ou Merge Con­tent — Ao impor­tar um ficheiro de XML para um docu­mento que já con­te­nha uma estru­tura XML defi­nida, pode-se subs­ti­tuir essa estru­tura (Replace) ou acres­cen­tar (Merge).

xml_18a

Cre­ate Link — Ao assi­na­lar esta opção, o Inde­sign cria um link directo ao ficheiro de XML, em que a van­ta­gem reside no facto de quando existe uma actu­a­li­za­ção no ficheiro XML, essa alte­ra­ção é efec­tu­ada auto­ma­ti­ca­mente no ficheiro de Inde­sign. Infe­liz­mente esta fun­ção tem o mesmo efeito do comando “Cre­ate Links When Pla­cing Text and Spre­adsheed Files”, exis­tente nas pre­fe­rên­cias do Inde­sign: perde a for­ma­ta­ção dos Para­graph e Cha­rac­ter Sty­les. É acon­se­lhá­vel não usar.

xml_18b

Apply SXLT — SXLT é o acró­nimo para EXten­si­ble Sty­leshe­ets Trans­for­ma­tion. Per­mite a impor­ta­ção de Sty­leshe­ets que pos­sam estar inse­ri­das no XML. Estão a per­ce­ber por­que é pre­ciso um infor­má­tico que per­ceba (muito!) de XML?

xml_18c

Clone repe­a­ting text ele­ments — Com esta opção activa, a inser­ção do XML den­tro do docu­mento torna-se mais fluída, já que per­mite a for­ma­ta­ção e um fluxo auto­má­tico de deze­nas, cen­te­nas ou milha­res de for­ma­ta­ções XML no docu­mento de Inde­sign. Caso con­trá­rio, essa for­ma­ta­ção terá de ser feita manu­al­mente. A assinalar.

xml_18d

Only import ele­ments that match the exis­ting struc­ture — Com esta opção activa o XML ape­nas importa a estru­tura que está cri­ada no docu­mento de Inde­sign. Se tiver um segundo docu­mento em que só con­tém o título e as ima­gens, basta selec­ci­o­nar esta opção para ape­nas o título e as ima­gens serem impor­ta­dos para esse novo docu­mento. Fun­da­men­tal assi­na­lar esta opção.

xml_18e

Import text ele­ments into tables if tags match — Quando esta opção está activa, e se o ficheiro XML a impor­tar para den­tro de uma tabela subs­ti­tuir o exis­tente, o texto será colo­cado den­tro de uma tabela.

xml_18f

Do not import con­tents of whitespace-only ele­ments — Carac­te­res espe­ci­ais como retor­nos, tabs ou outros serão ou não impor­ta­dos, depen­dendo da opção seleccionada.

xml_18g

Delete ele­ments, fra­mes, and con­tent that do not match impor­ted XML — Ao assi­na­lar esta opção, o Inde­sign vai eli­mi­nar todos os objec­tos exis­ten­tes na página que não este­jam con­tem­pla­dos no ficheiro de XML. É o com­ple­mento lógico da opção “Only import ele­ments that match exis­ting struc­ture”, lis­tada acima.

xml_18h

Import CALS tables as Inde­sign tables — CALS é o acró­nimo Con­ti­nu­ous Acqui­si­tion and Life-cycle Sup­port. E o que é que sig­ni­fica isto? Pelo que con­se­gui per­ce­ber, é uma for­ma­ta­ção uti­li­zada pelo Pen­tá­gono (não estou a brin­car!) e que per­mite a impor­ta­ção de tabe­las com estas carac­te­rís­ti­cas para den­tro de tabe­las no Indesign.

xml_18i

Bom, estava-se a impor­tar o XML. No final do qua­dro ante­rior, e esco­lhendo aquilo que se pre­tende, clica-se em OK. E aqui está o docu­mento de Inde­sign com o XML impor­tado. Note-se que os file­tes à volta das cai­xas são ape­nas guias de indi­ca­ção de tags.

xml_19

Podem sur­gir alguns pro­ble­mas na impor­ta­ção das ima­gens. Isto acon­tece por­que a path que está defi­nida no XML pode não cor­res­pon­der à path actual da ima­gem. Nessa situ­a­ção o Inde­sign pede para loca­li­zar as ima­gens em falta, antes de importar.

E este é o aspecto da estru­tura do ficheiro de XML no Indesign. xml_21

Uma última nota para quando se selec­ci­ona uma frame (neste caso o título) no Indesign.

É mos­trada a Tag, o Para­graph Style e a res­pec­tiva estru­tura de XML no lado esquerdo do ecrã.

xml_22

O pró­ximo post será sobre expor­ta­ção de ele­men­tos do Inde­sign para XML.

{ 2 comentários… lê-los a seguir ou adicionar um }

1 Ângela Rodrigues 20/09/2009 ás 23:22

Uff! Grande fôlego para escre­ver isto tudo, Eduardo!

Bem, eu estive hoje a rever o manual que escre­ve­mos jun­tos sobre InDe­sign CS4, e depois, lembrei-me que não have­ria melhor maneira de “des­can­sar” um boca­di­nho do que dar um puli­nho até aqui e ler o que escre­veste sobre XLM… :-)

E olha: acho que fiz bem, por­que gos­tei muito. Acho que está super-bem expli­cado, embora cer­ta­mente tenha de vol­tar aqui se pre­ci­sar de usar alguma coisa com XML (nunca usei). Mas é recon­for­tante saber que está aqui à minha espera quando precisar.

E estou a sali­var pela parte 3!

Bei­jos e parabéns

Ângela Rodri­gues

2 Jorge Sá Ribeiro 27/07/2010 (3 days ago) ás 13:44

Sau­da­ções do Brasil,

Foi uma sur­presa muito agra­dá­vel achar uma expli­ca­ção tão deta­lhada sobre este assunto em português.

Tra­ba­lho com dia­gra­ma­ção de anún­cio de jor­nal — espe­ci­al­mente da cate­go­ria tele­com — e por­tanto pre­ciso geren­ciar dia­ri­a­mente uma quan­ti­dade muito grande de infor­ma­ções repe­ti­das: nome do pro­duto, carac­te­rís­ti­cas, preço etc.

Cogi­tei usar XML para agi­li­zar essa tarefa, mas não tenho tido sucesso sequer na impor­ta­ção de um arquivo de XML den­tro do Inde­sign. Quando uso “import XML”, ape­nas car­rego as tags e a estru­tura, mas o docu­mento não é car­re­gado na área de trabalho.

Pode­ria me dar indi­car o que estou fazendo errado e como pode­ria melho­rar meu fluxo de tra­ba­lho usado XML para anúncio?

Abraço,
Jorge

Deixar um comentário

Post Anterior: XML – Parte 1/3: conceitos e workflow

Post Seguinte: Ordenar e restringir a importação de imagens