A Designer’s Guide to Adobe InDesign and XML
James J. Maivald with Cathy Palmer
In an effort to get to market faster, many corporations are adopting content management systems to store and re-use content created by marketing, technical publications, and other organizations. Why do it all over again when with some advanced planning, you can reuse this content for manuals, web sites (both promotion and user support), packaging, advertising, etc. The glue that holds all of this together is XML.
XML (eXtensible Markup Language) is a subset of SGML (Standard Generalized Markup Language) from which HTML is also derived, and is simply a way to describe content in such a way that part or all of it can be reused or repurposed for different delivery media (print, web, broadcast, etc.). Working with XML isn’t exactly the easiest thing to do. It involves arcane things like DTDs (Document Type Definitions), which are documents that describe the content and how it is to be organized, or schema, which is kind of like a subset of a DTD–not quite as structured or organized, but that may be sufficient in a lot of applications. The DTD and XML content are tied together in an XML editor–a specialized word processor used to correctly tag and organize content for one or more uses. Examples include Arbortext Editor, XMLSpy, XMetaL, and more. Note that I have said nothing about styles and design. The whole thing about XML and structured publishing is that the XML-based content is completely separated from how it is to appear (print, web, broadcast, etc.). For most designers and writers, this is a tough thing to put their arms around. Believe me, I know this to be true, as my department has a content management system, and we save our content as XML.
Style, or the process of designing the way content looks, in a structured world, is generated by a completely different set of tools. Many different stylesheets and scripts (XSL, XSLT, XSL-FO, etc.) need to be generated, and take a long time to create and test. In a consumer electronics business, where I work, the delays in creating new deliverables in rapidly changing styles, designs, and media, due to the need to create new XSL-based transformation stylesheets, is completely unacceptable. My organization goes part of the way by using Adobe FrameMaker 7.2 (no Macintosh version has been available since version 7.0), which combines the structure of XML with user and script-definable styles. Problem is, most graphic designers don’t know how to use FrameMaker, and even if they did, they would quickly discover there are serious limitations and compromises that surround the use of FrameMaker for highly-designed print publishing projects. Conventional desktop publishing tools like Quark XPress and Adobe InDesign CS3 are much more designer-friendly, but aren’t really structured publishing friendly. I believe there are XML plug-ins for Quark, but Adobe went the extra mile and added true XML functionality to the InDesign product beginning with the CS2 version. It uses DTDs or schema to define the document structure, and can parse XML files into InDesign layouts. The beauty of using a product like InDesign is that it gives the designer the flexibility to rapidly create one or more design concepts without changing the content (unless that is what is desired), which is something virtually impossible to do quickly in a “native XML” environment. The only problem is that the documentation is seriously lacking–almost an afterthought in InDesign’s user manual and help system.
Enter “A Designer’s Guide to Adobe InDesign and XML.” This book does a great job demystifying the techniques of creating attractive documents with InDesign using content encoded in XML. It starts with the most basic definition of XML, with many examples of source code. It describes the terminology of XML: elements, attributes, CDATA, DTD, entities, parsing, schema, and the whole alphabet soup of XSL. Next, the book goes into a brief overview of XML rules including a really nice 9 point list of rules for creating good XML. DTDs come under scrutiny with a small section talking about the document type definition file–the heart of a structured document.
The next chapter goes into excellent detail on InDesign’s XML features and capabilities. This includes importing, the structure pane (the centralized menu for working with structured content), tags (used to identify elements in a document), formatting, and using DTDs.
Following this is the meat of the book, making XML. This chapter demonstrates the various ways one can either create XML files, or import XML content from existing files like MS Word, FileMaker Pro, MS Access, Dreamweaver, and a bunch of native XML editors (almost all Windows-based).
Next, in the Structure Basics chapter, users get to create their own first project (sample files can be downloaded from Peachpit’s website). Subsequent chapters build on these concepts including anchored objects (like text frames), inline and anchored graphics, targeted data, variable data (catalogs, mailing lists), and exporting XML (includes exporting HTML from XML content).
The final few chapters delve a bit more deeply into the interrelationships between XML, HTML and CSS (cascading style sheets), AJAX and XSLT, and every XML author’s favorite, DocBook (one of the most popular DTDs, and the basis for many customized DTDs, including the DTD used by my organization).
If you work with XML but need the design flexibility of an advanced page layout program, InDesign CS3 is the program, and A Designer’s Guide to Adobe InDesign and XML is the reference book you will need in order to be successful. The book is well-illustrated, offers many examples of code (along with the example files you can download), and is organized in a way to help you get through a technology that causes the eyes of most designers to glaze over long before actual learning might occur. My office has already purchased a copy of this book, because we are in the same boat, and are looking at ways to prototype and produce printed materials and HTML content much more rapidly than we are currently doing so. This is a very specialized book, but if you need to know more about integrating XML into InDesign, look no further.