InDesign y XML, nuevas formas de maquetar

Recientemente leí un artículo en la revista InDesign Magazine sobre XML y cómo podías aprovechar su potencial en un programa de maquetación como Indesign y casi instantáneamente quise escribir sobre el tema.

Para el usuario común de InDesign, XML (Extensible Markup Language) probablemente les suene tan a chino como cualquier otro acronismo del cual se desconozca su origen. Pero en diseño web es casi como el aire que respiramos. Conceptualmente, XML nace de la necesidad de separar “forma” y “contenido” y de trabajar ambos como elementos separados en nuestro diseño. XML es la manera que tendríamos de almacenar únicamente la información pertinente al contenido.

El siguiente párrafo es una estructura básica de XML:

<articulo>
<titulo>InDesign y XML. Una nueva forma de maquetar</titulo>
<entradilla>El futuro de la maquetación ya está aquí y en el siguiente tutorial os enseñaré a dominarlo.</entradilla>
<parrafo>
InDesing se aprovecha del enorme potencial de XML para hacernos las cosas más fáciles.</parrafo>
</articulo>

Como veis a simple vista no se diferencia mucho del lenguaje HTML en el que las páginas web están escritas y también funciona con etiquetas que contienen la información. Sin embargo, os daréis cuenta también de que en el código anterior no he escrito nada relacionado con el formato con el que trataremos dicho contenido. De esta parte, nos encargaremos en nuestra maqueta de InDesign.

Muchos os estaréis preguntando en este momento por qué usar XML en un principio. La respuesta es muy sencilla, si nuestro trabajo en InDesign necesita mover mucha información dentro y fuera del propio programa de maquetación o la maqueta es reutilizada innumerables ocasiones con diferente contenido o, simplemente, se trata de una publicación de una base de datos, XML es la solución para tratar todo esto de manera eficiente y, sobre todo, rápida.

Pensad en esto, tenéis un catálogo profesional cuyo formato, por motivos corporativos, nunca varía y, sín embargo, sí cambia su contenido y el cuál, además, debe ser publicado en la página web de la compañía. XML es vuestro mejor aliado. En vez de trabajar en dos frentes diferentes: InDesign y Web, podréis exportar el contenido del catálogo de InDesign a XML y desde aquí alimentar la página web, y viceversa.

El único pero que existe a la fórmula anterior es que necesitais maquetar el catálogo de InDesign usando preferentemente los estilos de párrafo y de fuente. De ahí que anteriormente dijera eso de “Con un poco de trabajo al principio”. Evidentemente, si eres uno de esos diseñadores que están constantemente ajustando el formato a mano, esta información desaparece cuando exportamos la información a XML y daría lugar a errores en la página web. Es por ello que para aprovechar esta herramienta debemos primero comprometer nuestra manera de trabajar en InDesign.

Del mismo modo, que podemos exportar de InDesign a XML también podemos importar el contenido del XML a InDesign y con ello rellenar nuestra maqueta de datos. Es muy habitual que el contenido de un diseño nos venga del cliente desde otra aplicación como Word; pero si convencemos al cliente para usar otro editor de texto como UltraEdit, por ejemplo, que es capaz de editar directamente en XML el paso de volcado de contenido a InDesign sería claramente obsoleto. El archivo XML importado a InDesign es tratado como cualquier otro archivo enlazado, por lo que cualquier cambio realizado en la fuente puede ser automáticamente refrescado en la maqueta y actualizar su contenido.

¿Queréis otro ejemplo de uso? Imaginad que sois los responsables del diseño de las tarjetas de visita, cuyo formato es siempre el mismo y sólo varía el nombre del trabajador, cargo, etc. Podemos pedirle a RRHH que nos envíe la base de datos de sus trabajadores en formato XML e importarla directamente a InDesign. Actualizaciones mensuales son bien recibidas, gracias.

¿Cómo importar un archivo XML a Indesign?

Volvamos al primer ejemplo, yo soy el diseñador del catálogo de productos de mi empresa, tanto impreso como web. Primero tengo que convencer al responsable de la base de datos de que me envíe la base en un fichero XML (ningún problema, esta función la realizan casi todas las bases de datos profesionales del mercado). Luego importo el fichero XML a Indesign en Menú Archivo->Importar ficheros XML. En la ventana de diálogo selecciono la opción “Importar opciones de XML” y activo las opciones de “Crear enlace” (que crea un enlace al fichero XML), “Clonar elementos de texto repetidos” (que duplica el formato que hemos aplicado en InDesign a todos los elementos del fichero XML) y “Sólo importar elementos que coincidan con la estructura existente” (que compara la estructura de InDesign con la del fichero XML y únicamente importa el contenido que esté dentro de las etiquetas coincidentes). El resto de opciones las dejamos sin seleccionar. Importo el fichero XML y voilá! InDesign muestra el contenido del XLM en el panel de estructura del documento.

Ahora sólo me queda arrastrar el contenido del XML desde el panel de estructura a una caja de texto en mi maqueta y listo. Ya puedo darle el formato que deseé en InDesign.

Formateando el contenido del fichero XML

Al principio, cuando arrastro el contenido a la maqueta, Indesign no le aplica ningún formato. Para ello debo crear estilos de párrafo y de fuente en InDesign para formatearlo. De este modo, con futuros archivos XML el formato se mantendrá aunque yo no se lo haya aplicado de nuevo.

Para ello tengo que definir el estilo de párrafo o fuente que quiera y elegir la opción “Mapear etiquetar a estilos” en el panel de estructura del documento. Esto me permitirá formatear con el mismo estilo etiquetas iguales. Cuando haya terminado de mapear cada etiqueta del fichero XML con su estilo correspondiente podré usar el botón “Cargar” para copiar esos estilos en otros ficheros de InDesign que usen los mismos estilos y las mismas etiquetas de XML. De este modo, no tendré que repetir este trabajo una y otra vez y podré reutilizar el formato tantas veces como quiera.



7 Comments

  1. Thiago wrote:

    Muchas gracias, buen artículo.

  2. Josalva wrote:

    Excelente!!! Ahora como aplico XML a editores de libros que cambian los “avisos” pero no la maquetacion, esta es la misma para todos…pensaba en formularios para ser llenados por los editores o autores…en fin…alguna experiencia al respecto…Gracias…

  3. El KuKo wrote:

    Hola Josalva, Tu idea de los formularios es buena, si luego recoges la información recolectada por medio de marcadores de posición en InDesign que luego rellenarás con el nuevo contenido. El mejor consejo que te puedo dar al respecto es que consultes este libro: A Designer’s Guide to Adobe InDesign and XML de James J. Maivald y Cathy Palmer. En serio, es el mejor para entender cómo funciona XML en InDesign.

    • josalva wrote:

      Disculpa la demora, Gracias por responder tan acertadamente. Ahora esto me lleva a otras plataformas y filosofias de trabajo…de cara al futuro…seguimos evolucionando…Ahora estoy instalando UltraEdit y vere como lo aplico al los diseños de libros que vengo haciendo, como sabras la plantilla es la misma solo cambia las imagenes…Muy agradecido por tis comentarios…te comento luego como me va…bye

    • josalva wrote:

      Disculpa la demora, Gracias por responder tan acertadamente. Ahora esto me lleva a otras plataformas y filosofias de trabajo…de cara al futuro…seguimos evolucionando…Ahora estoy instalando UltraEdit y vere como lo aplico al los diseños de libros que vengo haciendo, como sabras la plantilla es la misma solo cambia las imagenes…Muy agradecido por tis comentarios…te comento luego como me va…InCopy??? puede solucionar este problema???

  4. El KuKo wrote:

    Bueno, aún no me he puesto a trastear seriamente con InCopy pero estoy seguro de que lo más probable es que sí planteé algunas soluciones al tema del XML.