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.
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.
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 · Document | Type / values | Support | Notes |
|---|---|---|---|
| Self | string id | Supported | The document id, conventionally "d". |
| DOMVersion | string (e.g. "20.0") | Parsed, not yet rendered | Read but not yet used to branch behavior — the parser targets a modern DOM. |
| StoryList | space-separated ids | Supported | The ids of the document’s stories; each should have a matching idPkg:Story. |
| Name | string | Parsed, not yet rendered | The .indd file name; informational. |
| CMYKProfile | string | Supported | ICC profile name; passed to color management. |
| RGBProfile | string | Supported | ICC 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 / values | Support | Notes |
|---|---|---|---|
| idPkg:Graphic | src="Resources/Graphic.xml" | Supported | Colors, swatches, and gradients. |
| idPkg:Fonts | src="Resources/Fonts.xml" | Parsed, not yet rendered | A font manifest; actual fonts are provided to the renderer separately. |
| idPkg:Styles | src="Resources/Styles.xml" | Supported | Paragraph, character, object, cell, and table styles. |
| idPkg:Preferences | src="Resources/Preferences.xml" | Not yet parsed | Document/UI preferences; read past, not acted on. |
| idPkg:MasterSpread | src="MasterSpreads/MasterSpread_*.xml" | Supported | One per master spread. |
| idPkg:Spread | src="Spreads/Spread_*.xml" | Supported | One per spread (the pages and their items). |
| idPkg:Story | src="Stories/Story_*.xml" | Supported | One per story; matched to StoryList. |
| idPkg:BackingStory | src="XML/BackingStory.xml" | Not yet parsed | The 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.
The ZIP container
An IDML file is an ordinary ZIP archive with two conventions that make it self-identifying — a leading uncompressed mimetype entry and a META-INF/container.xml that names the document's root.
Resource parts
The Resources folder holds an IDML document's shared definitions — colors and gradients in Graphic.xml, named styles in Styles.xml, the font manifest in Fonts.xml, and document preferences in Preferences.xml.