Work in progress — this reference is being written in the open. Unfinished pages are excluded from search engines.
Paged · IDML Reference
Package anatomy

The design map

designmap.xml is an IDML document's root manifest — it carries document-level settings on its Document element and names every other part in the package through idPkg:* reference elements.

Intermediate· reference

designmap.xml is the root manifest that names every other part in an IDML package.

In short: The design map, designmap.xml, is the part a reader — and our parser — opens first. Its root Document element carries a handful of document-level settings and lists the document's stories in StoryList, while a set of idPkg:* reference elements names every other part in the package by a src path. Open the design map and you can see the whole shape of the document — its resources, spreads, and stories — before reading anything else. This page covers the Document element, the idPkg:* references, and two things the design map deliberately leaves to other parts.

designmap.xmlResources/Graphic.xmlResources/Styles.xmlSpreads/Spread_*.xmlStories/Story_*.xmlParentStory → Story(TextFrame in a spreadpoints at its story)
The design map names every other part; parts reference each other by id.

The package below has two stories in two frames. The view shows its design map: note how StoryList enumerates the stories and how each idPkg:* element points at a part file by src.

The design map of a two-story document — the manifest that ties the package together.

designmap.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?aid style="50" type="document" readerVersion="6.0" featureSet="257" product="20.0(32)"?>
<Document xmlns:idPkg="http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" DOMVersion="20.0" Self="d" StoryList="ustory1 ustory2" Name="two-stories.indd" CMYKProfile="Coated FOGRA39 (ISO 12647-2:2004)" RGBProfile="sRGB IEC61966-2.1" SolidColorIntent="UseColorSettings" AfterBlendingIntent="UseColorSettings" DefaultImageIntent="UseColorSettings">
  <idPkg:Graphic src="Resources/Graphic.xml"/>
  <idPkg:Fonts src="Resources/Fonts.xml"/>
  <idPkg:Styles src="Resources/Styles.xml"/>
  <idPkg:Preferences src="Resources/Preferences.xml"/>
  <idPkg:Tags src="XML/Tags.xml"/>
  <idPkg:MasterSpread src="MasterSpreads/MasterSpread_umaster.xml"/>
  <idPkg:Spread src="Spreads/Spread_uspread.xml"/>
  <idPkg:Story src="Stories/Story_ustory1.xml"/>
  <idPkg:Story src="Stories/Story_ustory2.xml"/>
  <idPkg:BackingStory src="XML/BackingStory.xml"/>
</Document>

The Document element

The root element carries the document's identity and a few global settings. Our parser reads these and ignores the rest; everything structural lives in the parts the design map references.

Attribute · DocumentType / valuesSupportNotes
Selfstring idSupportedThe document id, conventionally "d".
DOMVersionstring (e.g. "20.0")Parsed, not yet renderedRead but not yet used to branch behavior — the parser targets a modern DOM.
StoryListspace-separated idsSupportedThe ids of the document’s stories; each should have a matching idPkg:Story.
NamestringParsed, not yet renderedThe .indd file name; informational.
CMYKProfilestringSupportedICC profile name; passed to color management.
RGBProfilestringSupportedICC profile name; passed to color management.

The idPkg:* references

Each child of Document in this namespace names one other part by a src path relative to the package root. The parser follows the ones it needs to build the document and resolves the rest lazily.

Attribute · idPkg:* (src on each)Type / valuesSupportNotes
idPkg:Graphicsrc="Resources/Graphic.xml"SupportedColors, swatches, and gradients.
idPkg:Fontssrc="Resources/Fonts.xml"Parsed, not yet renderedA font manifest; actual fonts are provided to the renderer separately.
idPkg:Stylessrc="Resources/Styles.xml"SupportedParagraph, character, object, cell, and table styles.
idPkg:Preferencessrc="Resources/Preferences.xml"Not yet parsedDocument/UI preferences; read past, not acted on.
idPkg:MasterSpreadsrc="MasterSpreads/MasterSpread_*.xml"SupportedOne per master spread.
idPkg:Spreadsrc="Spreads/Spread_*.xml"SupportedOne per spread (the pages and their items).
idPkg:Storysrc="Stories/Story_*.xml"SupportedOne per story; matched to StoryList.
idPkg:BackingStorysrc="XML/BackingStory.xml"Not yet parsedThe tagged-XML backing store; skipped today.

Two things the design map does not do

The container's META-INF/container.xml (the UCF "start here" pointer) names the design map as the document's root. Our parser does not read it — it goes straight to designmap.xml at the fixed package path. Not yet parsedMETA-INF/container.xml

And while the design map lists the stories, it does not contain them. The text lives in the content parts; the design map only points the way. How those pointers resolve — ParentStory, AppliedMaster, src — is the subject of how the parts reference each other.

Frequently asked questions

What is the design map in an IDML file? The design map is designmap.xml, the document's root manifest. It holds document-level settings on its Document element and names every other part in the package through idPkg:* reference elements, so it is the part a consumer reads first to learn the document's shape.

What does the StoryList attribute do? StoryList on the Document element is a space-separated list of the document's story ids. Each id should have a matching idPkg:Story reference naming the file that holds it — the link between the manifest's list of stories and the content parts that contain the text.

Does the design map contain the document's text and pages? No. The design map only names the parts; the pages live in the spread parts and the text lives in the story parts. It points the way, and the actual content is resolved by following the src paths and ids to the content parts.

On this page