Difference between revisions of "XML Section Builder"

From SmartWiki
Jump to: navigation, search
Line 56: Line 56:
 
If this is populated and someone tries to rebuild the section then that user will be presented with the alert below when they click on the Build button.
 
If this is populated and someone tries to rebuild the section then that user will be presented with the alert below when they click on the Build button.
  
[[Image:XMLNoRebuilt2.png]]  
+
[[Image:XMLNoRebuilt2.png|border]]  
  
  

Revision as of 15:21, 2 October 2013

The XML Section Builder can be used to create XML templates without knowing advanced HTML or XML.

To enable:

  • Select the Enable Builder checkbox on the custom field settings page and click Save.
  • Click the Section Builder button at the top of the page to enter the builder.

Builder

  • Node names must not be blank, must not contain spaces, and must not start with a number. (Disallowed initial characters for Names include digits, diacritics, the full stop and the hyphen.) If users try to build a section with these issues then they will receive an alert.

XMLSectionIssues.png

  • CSS classes specified can either be the system defined classes, or you can create your own CSS classes and include them in the <style> tag on the Template
  • The formula can refer to other cells within the section using the following syntax:
  • [row#,column#]

Example:

=[1,1]+[1,2]
  • The formula can refer to fields in other sections using the following syntax:
  • [@section.yoursectionname.id@_rowname_colname]

Example:

=[@section.InternalFunding.id@_Total_Amount]/[@section.TotalFunding.id@_Total_Amount]*100

Click on a cell in the section for the Cell Properties, each cell has the following properties:

  • Type: this is the type of cell, (Single Line Text, Multiple Line Text, Display Only Text, Select One Combo Box)
  • Content: Text to display in the cell or formula for calculations (Examples: Total or =[1,2]+[2,2] or =[35_Total_Amount]+[36_Total_USD])
  • Cell CSS Class: Add CSS class to the table cell
  • Input CSS Class: Add a CSS class to the input field
  • Input Attributes: Add HTML attributes to the input field (Example: name, size)
  • Validation Script: Script to validate the input field (Example: [this]>100 or [this]==[35_Total_Amount])

Note:

If the column on which you want to apply the validation on has a 'Currency' formatting then you will have to convert the data into a number before you perform the validation.

Example:

To check if the amount entered is always greater than 0 for a column which has a currency formatting use the built in ssParseNum function to convert the amount to a number.
ssParseNum([this])>0
  • Validation Message: Alert when validation script is not true (Example: This value must be greater than 100)

Template

Within the XML Field template you can pull the sections you have created using the following syntax:

  • @section.sectionname@

Example

 <table>
    <tr><td>Revenue</td></tr>
    <tr><td>@section.Revenue@</td></tr>
    <tr><td><br>Expenses</td></tr>
    <tr><td>@section.Expenses@</td></tr>
 </table>

You can also indicate if the section should not be rebuilt by checking the box labelled Do Not Rebuild and then clicking Save. XMLNoRebuilt.png

If this is populated and someone tries to rebuild the section then that user will be presented with the alert below when they click on the Build button.

XMLNoRebuilt2.png


Dynamic Rows

With the Section Builder if you create a section and enter the Number of Rows as '0', the section will automatically put an ADD button on the page to add rows dynamically, one by one. Each row will also have a Delete (DEL) button to remove that specific row. (The contents of the row will be also be removed.)

See Also