DataLinker and XML

DataLinker is built on top of InDesign’s native XML functionality. We'll take a look here at some of the details of that integration. Here are the topics we'll cover:


When you insert a field from DataLinker into an InDesign document, that text is given an XML tag with attributes that allow DataLinker to later synchronize the field. You can see the XML structure that DataLinker creates by showing the Structure Pane. To view the Structure pane, choose View > Structure > Show Structure... See InDesign’s help file for more information on the Structure pane. Text data from DataLinker is stored under a tag named “teacup-tag.”

An example of the XML structure that DataLinker creates.

Understanding the "teacup-tag"

Each DataLinker XML element is called "teacup-tag". Each element has three attributes that identify the data source, record number, and field.

  • "data-source" - the name of the DataLinker data source.
  • "column-name" - the field that this data comes from
  • "recordID" - which record this data comes from

Merging into existing XML

DataLinker respects existing XML tags. For example, if you are trying to merge DataLinker data into text that is already tagged with a tag “headline”, DataLinker will create its own “teacup-tag” underneath “headline.”

Looking at the XML Tree

You can always look at the XML tree in an InDesign document by choosing View > Structure > Show Structure. The XML tree is a good place to troubleshoot. It’s possible that you might have deleted some text without deleting the surrounding tags, or that you might have put tags within tags, and the structure tree is the place to look.

Deleting Unused XML Data

If you merge some elements into a story, and then delete the story by deleting all the text frames the story flows into, the XML elements that DataLinker creates will still be sitting in the XML pane, even though they no longer correspond to anything on the page. These unplaced elements can slow down DataLinker when synchronizing data. The menu item “Remove Unused XML Data”, available from the palette flyout menu and from the DataLinker menu, will go through the XML tree and delete any DataLinker XML elements that are not placed on a page.

  • Screen_Shot_2019-04-03_at_11.25.53_AM.png

There are two submenu items:

  • Unused DataLinker XML - remove only unused XML created by DataLinker
  • All Unused XML - removes all unused XML
Have more questions? Submit a request


Article is closed for comments.