Difference between revisions of "Including XML on an MS Word Merge Document"

From SmartWiki
Jump to: navigation, search
 
(One intermediate revision by one other user not shown)
Line 11: Line 11:
 
:'''Example:''' project_budget=@xml.Submission Budget.Total-Expenses.total-exp.currency(total-expenses.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]])  
+
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.
 
and delimit the cells using pipes ("|"). Note that there is a pipe ("|") at the beginning and end of the row.
  
Line 26: Line 26:
 
{{WordMergeLinks}}
 
{{WordMergeLinks}}
  
[[Category:Custom Fields]]
+
[[Category:Custom Fields]][[Category:XML]]

Latest revision as of 08:16, 3 June 2016

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: