IDML is an open, XML-based file format that enables third-party developers and systems integrators to programmatically create, modify, and deconstruct InDesign documents outside the context of InDesign. IDML works with standard XML editing tools, making it easy to use in automated workflows. And with support for multi-threading in InDesign, working with the IDML file format is even faster.
With IDML, developers can now:
- Dynamically generate or modify documents
- Deconstruct and reuse portions of documents
- Transform document elements using XSLT
- Find and modify data within InDesign documents using XPath or XQuery
- Use Adobe Flash® Builder® software and the Adobe AIR® runtime to create custom applications and interfaces in front of IDML workflows
A reinvention of designed document workflows
IDML is derived from the InDesign Interchange (INX) format, which was introduced in InDesign CS2 to enable users to save documents for use in a previous version. INX was difficult to read and manipulate because it was designed to be used by InDesign alone. Those who tried to manipulate INX encountered challenges with readability, robustness, extensibility, and compatibility with XML tools.
IDML addresses these concerns by enabling developers to change, assemble, and reassemble XML representations of InDesign documents. This allows for the creation and manipulation of InDesign files outside the context of InDesign. The files are then brought back into an InDesign product for rendering into a final output format.
IDML offers an easier, more flexible way to build and implement a variety of publishing solutions. Benefits include:
- Completeness — With IDML, objects, attributes, and preferences can be represented with complete roundtrip capability.
- Readability — The IDML format can be read and written by virtually any program or tool capable of reading and writing XML.
- Robustness — With IDML, developers have more visibility into errors and increased flexibility in handling them.
- Backward compatibility — Users will be able to take an IDML file generated for one version and open it in subsequent versions.
Sample use cases
Because IDML is an XML format, its potential uses are varied. However, some common uses might include:
- Roundtripping — IDML allows a solution to convert back and forth between the InDesign binary file format and IDML. For example, an InDesign document can be exported to IDML for use as a template outside of InDesign, and the IDML template can then be modified using XML tools and imported back to InDesign file format.
- Dynamic document construction — In this scenario, IDML documents can be constructed from information in a database or from a wire feed using XML tools, and then opened in InDesign or Adobe InCopy® software for further processing.