Including XML on an MS Word Merge Document

From SmartWiki
Jump to: navigation, search

This article explains how to use the data stored within a SmartSimple XML field on a Word Merge document.

Word Merges can either draw in a single value from an XML "node" or the XML data can be displayed as a table.

Syntax

For single values from an XML node use the following syntax in the "Values" section of the Word Merge custom field:

Mergefield=@xml.fieldname.sectionname.nodename(childnodename.nodevalue)@;
Example: project_budget=@xml.Submission Budget.Total-Expenses.total-exp.currency(total-expenses.nodevalue)@;

To display data in a table (dynamic number of rows) use the same syntax as used on a web page view (Custom Field Type: Special – XML Data) and delimit the cells using pipes ("|"). Note that there is a pipe ("|") at the beginning and end of the row.

table_x=@xml.fieldname.sectionname.nodename[#|~childnodename.nodevalue~|~childnodename.nodevalue~|#]@;
Example: table_5=@xml.Submission Budget.Other-Grants.Funders[#|~Funder.nodevalue~|~currency(Amount.nodevalue)~|#]@;
  • This example would render in a table with two columns.
  • To specify the table use: "table_x =" where x is the table number as it appears in the template document.
  • In the example above, the XML data will be merged into the fifth table in the Word document.
  • Each XML section must be displayed in a separate table.

See Also

To set up a Word merge:

Advanced Word Merge Features Include: