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

From SmartWiki
Jump to: navigation, search
Line 7: Line 7:
 
For single values from an XML node use the following syntax in the "Values" section of the [[Custom Field Type: Special - MS Word Merge|Word Merge custom field]]:
 
For single values from an XML node use the following syntax in the "Values" section of the [[Custom Field Type: Special - MS Word Merge|Word Merge custom field]]:
  
:''Mergefield''=@xml.''fieldname.sectionname.nodename''(''childnodename''.nodevalue)@
+
:''Mergefield''=@xml.''fieldname.sectionname.nodename''(''childnodename''.nodevalue)@;
  
 
:'''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)@;
Line 14: Line 14:
 
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.
  
:''table_x''=@xml.''fieldname.sectionname.nodename''[#|~''childnodename.nodevalue~|~childnodename.nodevalue''~|#]@
+
:''table_x''=@xml.''fieldname.sectionname.nodename''[#|~''childnodename.nodevalue~|~childnodename.nodevalue''~|#]@;
  
 
:'''Example:''' table_5=@xml.Submission Budget.Other-Grants.Funders[#|~Funder.nodevalue~|~currency(Amount.nodevalue)~|#]@;
 
:'''Example:''' table_5=@xml.Submission Budget.Other-Grants.Funders[#|~Funder.nodevalue~|~currency(Amount.nodevalue)~|#]@;

Revision as of 13:16, 21 August 2013

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: