Generate Letter XML Data

The XML data contains additional elements in following format, where values of place holder variables and fields are provided.

<data-root> 
<fields>  <!--starting element for fields --> 
      <field name="field1">value1</field> <!-- field's display-name is field1 and its value is set to value1. --> 
      <field name="field2" somExpr="xfa[0].template[0].field2">value2</field> <!-- Attribute somexpr is optional and can be used when display name is not sufficient to identify field uniquely --> 
   </fields> 
 
   <variables> <!--starting element for place holder variables--> 
         <variable name="var1">value1</variable> <!-- variable name is var1 and its value is set to value1 --> 
    </variables> 
</data-root>

The renderLetter() considers values provided with XML data and if there is value available for corresponding DDE/PH/Field then these values are set for these DDE/PH/Field. All other values are resolved via Binding. The field/variable binding is not considered if the XML data is available for variables or fields. For example, if a Field is bound to unprotected data dictionary, and if the value for that Field is specified in the XML data then the specified value is used for rendering the letter. When no value is set as part of XML data, values of variables/Fields are set using bindings if present, or are empty in case of binding User. For example, if a Variable is bound to unprotected data dictionary, and no value specified in the XML data, the data dictionary value is used when rendering the letter.

// Ethnio survey code removed