Hi
I am using mail merge with MustacheTemplate and syntax.
I give xml as a input and use foreach in the template to do the mail merge operation.For some tags the mail merge is not working properly , instead of xml data a mail merge field is getting created , the data in the xml file is not present.
I have attached the source code , xml file and the output document .
This is my sample code
public class MustacheTemplateSyntax
{
public static void main(String[] args) throws Exception
{
// The path to the documents directory.
String dataDir = Utils.getDataDir(MustacheTemplateSyntax.class);
// Use DocumentBuilder from the javax.xml.parsers package and Document class from the org.w3c.dom package to read
// the XML data file and store it in memory.
javax.xml.parsers.DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
// Parse the XML data.
org.w3c.dom.Document xmlData = db.parse(dataDir + “text1.xml”);
// Open a template document.
Document doc = new Document(dataDir + “VendorTemplate.doc”);
doc.getMailMerge().setUseNonMergeFields(true);
// Note that this class also works with a single repeatable region (and any nested regions).
// To merge multiple regions at the same time from a single XML data source, use the XmlMailMergeDataSet class.
// e.g doc.getMailMerge().executeWithRegions(new XmlMailMergeDataSet(xmlData));
doc.getMailMerge().executeWithRegions(new XmlMailMergeDataSet(xmlData));
// Save the output document.
doc.save(dataDir + “Output.docx”);
System.out.println(“Mail merge performed successfully.”);
}
}