Futurama Logo

Welcome to the Futurama Support Site

The Futurama Support Site is the website where you can find Futurama and Futurama Vision documentation. If you have any questions about the support pages or if you want to provide us feedback please send us an e-mail.

Index XmlBuilder
Previous  |  Next

 1      About Futurama
 1.1        Version information
 1.2        Getting Started
 1.2.1          Futurama Website            Behavior of Futurama regarding TimeOuts, Login and Logoff            Replacing an existing Futurama Session
 1.2.2          Futurama Webservice            warmUpDocuments
 1.2.3          Futurama Export
 1.3        Overview - Futurama Modules
 1.3.1          Overview - Futurama Accounts
 1.3.2          Overview - Futurama Server
 1.3.3          Overview - Futurama Monitor
 1.3.4          Overview - Futurama Insight
 1.3.5          Overview - Futurama Console
 1.3.6          Overview - Futurama Webservice
 1.4        Loadbalancing Futurama applications
 1.4.1          Getting the most out of Futurama Web using the Load-Balancer
 1.4.2          Application Request Routing
 1.5        Text management and Multi-language
 2      Installation – Configuration – Testing
 2.1        Installation - Futurama Website Edition
 2.1.1          Installation Futurama HTML
 2.1.2          Installation Futurama Monitor
 2.1.3          Installation Futurama Insight
 2.1.4          Installation Futurama Accounts
 2.1.5          Installation SAML2LoadBalancer
 2.2        Installation - Futurama Export Edition
 2.2.1          Installation Futurama Console
 2.2.2          Installation Futurama Server
 2.3        Installation - Futurama Webservice Edition
 2.3.1          Installation Futurama Webservice
 2.4        Installation Futurama Editor
 2.5        Configuration
 2.5.1          Configuration - Cache
 2.5.2          Configuration - Calculation
 2.5.3          Configuration - Debug
 2.5.4          Configuration - File manager
 2.5.5          Configuration - Fileproviders
 2.5.6          Configuration - Format
 2.5.7          Configuration - History
 2.5.8          Configuration - Identity Provider
 2.5.9          Configuration - Log
 2.5.10           Configuration - Mail
 2.5.11           Configuration - Mapping
 2.5.12           Configuration - Monitor
 2.5.13           Configuration - PlugIns
 2.5.14           Configuration - Rendering
 2.5.15           Configuration - ScenarioRecording
 2.5.16           Configuration - Security
 2.5.17           Configuration - Server
 2.5.18           Configuration - Vision
 2.5.19           Configuration - WebAPI
 2.6        Logging
 2.7        Troubleshooting
 2.8        Security - hardening
 3      Updating and file compatibility
 3.1        Updating Futurama - Compatibility behavior
 3.2        Converting Futurama documents
 3.3        12819 - DataTable file updates
 3.4        12889 - DataTable file updates
 3.5        Conversion web.config to .NET Framework 4
 3.6        Deprecated conversion formulas
 4      Futurama Editor - How to
 4.1        At first glance
 4.2        Developing in the Futurama Editor
 4.2.1          Working with objects
 4.2.2          Evaluating objects
 4.2.3          Finding objects
 4.3        Transferring objects
 4.4        Testing objects
 4.5        Validating objects
 4.6        Troubleshooting objects
 4.7        Advanced/special functionality
 4.8        Checking the layout of objects
 5      Futurama - Formulas
 5.1        Futurama Formulas - Date and time
 5.1.1          Date
 5.1.2          Day
 5.1.3          Days360
 5.1.4          Days360Excel
 5.1.5          DaysInMonth
 5.1.6          DaysInPeriod
 5.1.7          Min
 5.1.8          Max
 5.1.9          Month
 5.1.10           Now
 5.1.11           WeekDay
 5.1.12           Year
 5.2        Futurama Formulas - Math
 5.2.1          Abs
 5.2.2          Add
 5.2.3          Divide
 5.2.4          Floor
 5.2.5          Ln
 5.2.6          Log
 5.2.7          Log10
 5.2.8          Mod
 5.2.9          Multiply
 5.2.10           Pi
 5.2.11           Power
 5.2.12           Rand
 5.2.13           Round
 5.2.14           RoundDown
 5.2.15           RoundUp
 5.2.16           SquareRoot
 5.2.17           Subtract
 5.3        Futurama Formulas - Statistical
 5.3.1          AverageDeviation
 5.3.2          Beta
 5.3.3          Binomial
 5.3.4          Covariance
 5.3.5          Factorial
 5.3.6          Gamma
 5.3.7          GeometricMean
 5.3.8          Lognormal
 5.3.9          Max
 5.3.10           Median
 5.3.11           Min
 5.3.12           Normal
 5.3.13           StandardDeviation
 5.3.14           Uniform
 5.3.15           Variance
 5.4        Futurama Formulas - Text
 5.4.1          CalculateBase64Hashcode
 5.4.2          CalculateXmlHashcode
 5.4.3          Concatenate
 5.4.4          ConcatenateBase64
 5.4.5          ContainsText
 5.4.6          Convert.CSV.2.XML
 5.4.7          ConvertFromBase64
 5.4.8          ConvertToBase64
 5.4.9          ConvertXml
 5.4.10           DecodeURL
 5.4.11           DecryptXml
 5.4.12           EncodeURL
 5.4.13           EncryptXml
 5.4.14           Find
 5.4.15           HashBase64EncodedFile
 5.4.16           HashBase64EncodedFileWithBase64
 5.4.17           HashText
 5.4.18           HashTextWithBase64
 5.4.19           Left
 5.4.20           Len
 5.4.21           Linefeed
 5.4.22           Lower
 5.4.23           Mid
 5.4.24           Proper
 5.4.25           ReadConfigKey
 5.4.26           ReadDirectoryNames
 5.4.27           ReadFile
 5.4.28           ReadFileAsBase64
 5.4.29           ReadFileNames
 5.4.30           ReadFileWithEncoding
 5.4.31           ReadXPathScalar
 5.4.32           ReadXPathVector
 5.4.33           Repeat
 5.4.34           Right
 5.4.35           Substitute
 5.4.36           Trim
 5.4.37           TrimLeft
 5.4.38           TrimRight
 5.4.39           Upper
 5.4.40           ValidatePattern
 5.4.41           XsdMessages
 5.5        Futurama Formulas - Logical
 5.5.1          And
 5.5.2          IsEmpty
 5.5.3          If
 5.5.4          IsEqual
 5.5.5          IsEven
 5.5.6          IsGreater
 5.5.7          IsGreaterEqual
 5.5.8          IsIBANChecksumValid
 5.5.9          IsLess
 5.5.10           IsLessEqual
 5.5.11           IsMemberOfGroup
 5.5.12           IsNotEqual
 5.5.13           IsOdd
 5.5.14           IsValidXml
 5.5.15           Not
 5.5.16           Or
 5.5.17           ValidateNPR
 5.6        Futurama Formulas - Table
 5.6.1          FindNextRow
 5.6.2          FindPreviousRow
 5.6.3          FindRow
 5.6.4          Sort
 5.6.5          VLookUp
 5.7        Futurama Formulas - Document
 5.7.1          CountErrors
 5.7.2          GetPathToDataFiles
 5.7.3          GetPortNumber
 5.7.4          GetRelativePathToDataFiles
 5.7.5          GetSessionID
 5.7.6          IsLicenceAvailable
 5.7.7          ReadError
 5.7.8          ReadIdentityProviderResult
 5.7.9          ReadRequestIP
 5.7.10           ReadRequestParameter
 5.7.11           ReadUserAgent
 5.7.12           ReadVersionNumber
 5.7.13           SessionTimeOut
 5.7.14           URL
 5.7.15           UserName
 5.8        Futurama Formulas - Conversion
 5.8.1          Convert.Excel.to.XML
 5.8.2          ConvertJSONtoXml
 5.8.3          ConvertTextToDate
 5.8.4          ConvertTextToNumber
 5.8.5          ConvertToBoolean
 5.8.6          ConvertToDouble
 5.8.7          ConvertToLong
 5.8.8          ConvertToString
 5.8.9          FormatDate
 5.8.10           FormatNumber
 5.8.11           Value
 5.9        Futurama Formulas - Matrix
 5.9.1          AddMatrices
 5.9.2          AddScalarToMatrix
 5.9.3          Cumulative
 5.9.4          CumulativeProductMatrix
 5.9.5          Distinct
 5.9.6          DivideMatrices
 5.9.7          DivideMatrixScalar
 5.9.8          DivideScalarMatrix
 5.9.9          Exponent
 5.9.10           First
 5.9.11           Floor
 5.9.12           If
 5.9.13           Index
 5.9.14           Inverse
 5.9.15           IsEqual
 5.9.16           IsGreater
 5.9.17           IsGreaterEqual
 5.9.18           IsNotEqual
 5.9.19           IsLess
 5.9.20           IsLessEqual
 5.9.21           Join
 5.9.22           Last
 5.9.23           Length
 5.9.24           MatrixProduct
 5.9.25           Max
 5.9.26           MaxScalarMatrix
 5.9.27           Mean
 5.9.28           Mid
 5.9.29           Min
 5.9.30           MinScalarMatrix
 5.9.31           MultiplyMatrices
 5.9.32           MultiplyMatrixVector
 5.9.33           MultiplyScalarMatrix
 5.9.34           Percentile
 5.9.35           PowerMatrix
 5.9.36           PowerMatrixScalar
 5.9.37           PowerScalarMatrix
 5.9.38           ReadMatrixFromXml
 5.9.39           Repeat
 5.9.40           Replace
 5.9.41           Reshape
 5.9.42           ReverseCumulativeProductMatrix
 5.9.43           ReverseMatrix
 5.9.44           Size
 5.9.45           Split
 5.9.46           SquareRootMatrix
 5.9.47           Step
 5.9.48           SubtractMatrices
 5.9.49           SubtractMatrixScalar
 5.9.50           SubtractScalarMatrix
 5.9.51           Sum
 5.9.52           Transpose
 5.9.53           UnitMatrix
 5.9.54           Vector
 5.10         Creating custom formulas in Futurama
 6      Futurama - Objects
 6.1        Action
 6.2        Aggregation
 6.3        Button
 6.4        ChangeValue
 6.5        CheckBox
 6.6        ClearCache
 6.7        DatabaseField
 6.8        DatabaseView
 6.9        DataTable
 6.10         DateBox
 6.11         DocConverter
 6.12         Document
 6.13         Download
 6.14         DropDownList
 6.15         EmailConverter
 6.16         ExcelConverter
 6.17         FileSaver
 6.18         FileUploader
 6.19         Fixed
 6.20         Formula
 6.21         GraphConverter
 6.22         HTMLInclude
 6.23         InterfacesNode
 6.24         LogMessage
 6.25         Navigator
 6.26         Node
 6.27         RadioButton
 6.28         RadioGroup
 6.29         Range
 6.30         Reference
 6.31         SubDocument
 6.32         TextBox
 6.33         UserTable
 6.34         UserVariable
 6.35         WebLabel
 6.36         WebListBox
 6.37         WebPage
 6.38         WebPanel
 6.39         WebReference
 6.39.1           WebReference - WCF Configuration
 6.40         WebService
 6.41         WebSlider
 6.42         WordConverter
 6.43         XmlBuilder
 6.44         XmlConverter
 6.45         XmlField
 6.46         XmlNode
 7      Futurama - Vision References
 7.1        Data
 7.1.1          ReadData
 7.1.2          WriteMessage
 7.1.3          GetPersonIdentifiers
 7.1.4          CreatePerson
 7.2        DataStore
 7.2.1          DeleteDataItem
 7.2.2          DeleteDataItemHierarchy
 7.2.3          DeleteDataItems
 7.2.4          GetDataItem
 7.2.5          GetDataItemHierarchy
 7.2.6          GetDataItems
 7.2.7          StoreData
 7.3        Accounts
 7.3.1          Activate Account
 7.3.2          Change Account
 7.3.3          Create Account
 7.3.4          GetQuestion
 7.3.5          GetQuestions
 7.3.6          Login
 7.3.7          ReadData
 7.3.8          ReinitializeAccount
 7.4        General
 7.4.1          TestConnection
 8      Futurama Vision
 8.1        Installation Futurama Vision
 8.1.1          Installation Futurama Vision Management Site
 8.1.2          Installation or Upgrade of the Futurama Vision Database
 8.2        Futurama Vision Management Site
 8.2.1          Futurama Vision Management Site - Admin
 8.2.2          Futurama Vision Management Site – Security
 8.2.3          Futurama Vision Management Site – Skinning
 8.2.4          Importing data into Futurama Vision            Importing data by webservice            Importing data from a Zip-file            Importing data with Futurama Vision Batch            Futurama Vision Webservice Security
 8.2.5          Further processing of data into Futurama Vision
 8.3        Futurama Vision File manager
 8.4        Activity overview
 8.5        Storing data in Vision from a Futurama application
 8.6        Futurama Vision – Data
 8.7        Futurama Accounts - Management Site
 8.7.1          Futurama Accounts - Table in Vision Database
 8.8        Futurama Server - Management Site
 8.8.1          Special Futurama Server Jobs
 8.9        Futurama Register - Management Site
 8.9.1          Configuration - Futurama Register
 8.10         Retrieving AppEvents from Futurama Vision
 8.11         Adding CustomPages to Vision
 9      Futurama Intermediate Control Output (FICO)
 9.1        FICO example - Change/Add HTML headers
 9.2        FICO example - Change Graph
 9.3        HTML5 Template
 10       Futurama Web API
 10.1         Postbacks of Futurama webcontrols
 10.2         Retrieving Resources using Web API
 10.3         WebAPI Session management
 11       Tutorials - Overview
 11.1         Tutorials - Examples and Downloads
 11.2         Beginners
 11.2.1           Creating formulas with Futurama             Exercise 1: Pythagorean Theorem (Easy)             Exercise 2: Newspaper stall (Medium)             Exercise 3: Recursive functions (Difficult)             Exercise 4: Leap Year (Difficult)             Exercise 5: The Guessing Game I (Medium)
 11.2.2           Creating a Website Application             Exercise 1: Creating a Website (Easy)
 11.2.3           Styling your website with CSS             Exercise 1: Adding CSS (Easy)
 11.2.4           Adding interactivity to your website             Exercise 1: Summation (Easy)             Exercise 2: The Guessing Game II (Medium)             Exercise 3: Nationality (Medium)             Exercise 4: Nationality - RepeatTarget (Medium)             Exercise 5: Reversed Guessing (Difficult)
 11.2.5           Working with Tables             Exercise 1: Average (Easy)             Exercise 2: Boundary values (Difficult)             Exercise 3: Standard Deviation (Medium)
 11.2.6           Reading and processing XML-data in Futurama             Exercise 1: Shares (Medium)
 11.2.7           Adding Graphs in Futurama             Exercise 1: World Population (Easy)
 11.2.8           Working with Actions in Futurama             Exercise 1: Changing Colors (Easy)             Exercise 2: On and Off (Medium)             Exercise 3: The ChangeValue object (Difficult)             Exercise 4: The Guessing Game III (Medium)             Exercise 5: CheckBox (Medium)
 11.2.9           Multiple Pages and Navigation
 11.2.10            Using XSLT to display data              Exercise 1: Overview Summation (Easy)              Exercise 2: Persons (Medium)              Exercise 3: Leap Year Overview (Difficult)
 11.2.11            Webservices in Futurama              Exercise 1: Example (Easy)
 11.2.12            Creating a Webservice Application              Exercise 1: Add (Easy)              Exercise 2: Webservice Nationality (Medium)
 11.2.13            Creating a Console Application              Exercise 1: Adding extra fields (Easy)
 11.2.14            Generating Documents              Exercise 1: Tax Rate (Medium)              Exercise 2: Tax Rates Table (Difficult)
 11.3         Advanced
 11.3.1           Responsive Design             Exercise 1: Orientation             Exercise 2: Target different screen sizes
 11.4         Older Tutorials (Futurama Version 3.2)
 11.4.1           Futurama Editor Tutorial 1: The first sum
 11.4.2           Futurama Editor Tutorial 2: An annuity
 11.4.3           Futurama Editor Tutorial 3: Working with tables
 11.4.4           Futurama Editor Tutorial 4: Modelling a DB pension plan
 11.4.5           Futurama Editor Tutorial 5: Working with XML
 11.4.6           Futurama Web Tutorial 1: Hello world
 11.4.7           Futurama Web Tutorial 2: Buttons and Actions
 11.4.8           Futurama Web Tutorial 3: Textboxes
 11.4.9           Futurama Web Tutorial 4: DropdownLists
 12       Miscellaneous
 12.1         Responsive website
 12.2         Reducing memory usage for XmlNodes and XmlFields
 12.3         Explaining caching for websites and webservices
 12.4         Certificates - basic information
 12.5         Performance XML operations
 12.6         Creating XSD files and using them in combination with Futurama
 13       Templates
 14       Safe2Save WebAPI Sample
View  |  Print  |  PDF

451 documents found.



Module: Editor

Version: 2.2.1 +

User: Developer

Object Type: Action Object



XmlBuilders are used to construct XML. One XMLBuilder represents one XML element. Using multiple XMLBuilders a complete XML-tree can be constructed. The hierarchical structure of the XML-tree is formed by nesting these XMLBuilders in a specific order. Futurama objects like the Fixed, the Formula and the Reference can then be used to add attributes to the XML elements as well as to add elements containing a value.

A number of objects (DocConverter, WebService, WebReference and FileSaver) need an XMLBuilder as it's input. See the description of these objects for more information on how each of them makes use of the XMLBuilder.

An XMLBuilder is also used in combination with an XmlConverter. Using an XMLBuilder combined with an XMLConverter it is possible to generate HTML code with accompanying style elements.



This property indicates under which condition the XML element is to be constructed. If nothing is entered the XML element will always be constructed. If a condition has been filled in, the XML element will only be constructed if the Condition is 'True'. The condition can be a Fixed, a Formula or a Reference to another object of type Boolean. Note that if the XmlBuilder has a condition and is used as a loop to generate multiple XML elements, the condition will be verified before the loop will start. This means that if the condition is 'False' the entire loop is omitted. If a loop is to be constructed in which every step is depending on a condition then first an XMLBuilder has to be made containing the loop and inside it a second XMLBuilder containing the condition. Whether or not to construct the XML element of the second XMLBuilder is then determined in every step of the loop.

DebugLogMode (from version 4.1)

Indicates the level of detail of debug information that is logged when running a Futurama application (website, webservice, console application) to the trace, a logfile, a database etc. The possible values are:

  • None: no debug information is logged
  • Simple: only basic information is given
  • Extended: in addition to the information in the Simple mode the values of all the properties of the object are shown


This property is only visible when the property CalculationType of the Document is 'Standard'. With this property it is possible to choose what should happen when one of the elements of the XMLBuilder is invalid (i.e. NaN or Infinity). When 'IgnoreChildErrors' is set to 'True' the element in which the element occurred is included in the XML though without a value. When 'IgnoreChildErrors' is set to 'False' the whole element in which the error occurred is omitted from the constructed XML. See the paragraph 'IgnoreChildErrors property' for more information and a sample file.


Possible values are True or False. If the value is False, then the object can only be used within the document where it is created. If the value is True, then also from other Futurama documents can be referred to this object. This means that changes in the object also affect the document in which is referred to this object. If the value is True and you attempt to move or delete the object, a warning will be given. To limit these warnings to a minimum it is recommended to set IsPublic to True only when necessary.


An XmlBuilder can create more than one XML element if it is defined as a loop. It can only refer to a UserTable, DataTable or Range. RepeatData contains a table with all the elements that need to be used in the loop. These elements are subsequently assigned to the UserVariable defined in the RepeatTarget property.


This property is used in conjunction with RepeatData. It can only refer to a UserVariable. The RepeatTarget property can be considered as the counter of a loop. During the execution of the loop it subsequently gets assigned all the values in the table defined in the RepeatData property.


The name of the object as it is shown in the source of the website. By default the XmlName is equal to the name given in the property (Name) with spaces replaced by underscores, but you are free to change it.


The name of the object.


Here a comment can be entered. For example a short description of the object.


The unique identification number of the object. This number is automatically generated by Futurama on the moment of creation. This number can be used when searching for a certain object in the Find Window.

IgnoreChildErrors property

With the IgnoreChildErrors property it can be decided how to deal with invalid elements in the XML tree constructed with an XMLBuilder. Frequently the XMLBuilder is used to construct an XML tree with a large amount of data. For example when one XMLBuilder is created with information for all your users. When for one of your users an invalid value occurs you probably only want information of the user where the invalid value occurs instead of stopping the whole process. This example is worked out in a sample document in order to make the IgnoreChildErrors property clear and to give an example how to display information about errors that may occur.


Download the Futurama Document ignorechilderrors_example.


In the sample an XMLBuilder is constructed with information regarding 4 users. For each of these users XML is constructed with an element Value. For user 2 an invalid value is constructed (by dividing by zero).

In the XMLBuilder 'Output IgnoreChildErrors False' the XMLBuilder 'User' is constructed. The 'IgnoreChildProperty' for this XMLBuilder is set to 'False'. When checking the result of the XMLBuilder 'Output IgnoreChildErrors False' you can see that the XML for user 2 in entirely omitted in the XML tree. See the XMLBuilder 'Output IgnoreChildErrors True' for the difference. In this XMLBuilder the property 'IgnoreChildErrors' is set to 'True' for the XMLBuilder 'User'. In this situation the XML for User 2 is shown, with an empty value for 'Value'.


The XML-data that is generated by an XmlBuilder can be tested in the Editor by creating a testfile. In the menuitem Tools|Settings in the menubar in the Editor the option 'TestFileNameXmlBuilder' can be used to indicate the name and location of this testfile. Therefore the extension always has to be 'xml'. In the Document Explorer a rightclick on the XmlBuilder opens a contextmenu. In this menu select the option Debug|Create Testfile. On the location specified in the option 'TestFileNameXmlBuilder' an XML-file is created containing the constructed XML-data. In this way it can be tested whether the structure and contents of the data is as expected.

Generating XSD files (Futurama 17.11+)

From Futurama 17.11 onward it is possible to generate a custom WSDL instead of the ‘generic’ WSDL. See Installation Futurama Webservice for more information. When modeling a custom WSDL the definition of the Request and Response of the webservice are laid down in a so called XSD file. In general an XSD file (XML Schema Definition) is a file that defines validation rules for XML, in this case the (XML) format of the Request and the Response. Constructing an XSD is not covered in the Futurama Support Site, for much information is available on the internet. However, to accommodate the construction of an XSD file, Futurama Editor contains functionality to generate a basic XSD file. In order to do this, perform a rightclick on the object and select Debug | Create xsd file. Futurama will open a Save As dialog window where the name and location of the XSD file can be specified. The generated XSD file only provides the basic structure. In order to make it work properly for the webservice under development it will need further alterations.

Attributes and values of an XmlBuilder

In an XmlBuilder objects can be placed with any name and value. These will be converted to elements in the XML-data. It is also possible to add attributes to an element. To do this simply define an object with the name and value of the attribute, but have the name preceding by the "@" symbol. This indicates that the object has to be transformed to an attribute instead of an element. Multiple attributes can be defined this way, but it's important that in an XMLbuilder first all attributes are defined before any other elements.

It is possible to include the value of an object directly in the XML-data without including the object itself as an element. This is done by having the name of the object be preceded by the "$" symbol. This is particularly useful when an XMLBuilder contains References to other XMLBuilders in order to retrieve their underlying. In this case it is often desired that only the elements of the other XMLBuilder are included rather than the XMLBuilder itself as well.

See Example 1 for a more extensive explanation of how to use the "@" and "$" symbols.


It is possible to create multiple elements in the XML-data through the use of a loop in the XMLBuilder. For this the properties RepeatData and RepeatTarget are used, analogous to the Action object. Example 2 shows how a simple loop is defined to create multiple elements.


Example 1

This example demonstrates the use of attributes and values.


Download the Futurama Document xmlbuilder example1.


  1. Open the XML-document which is contained in the zip-file in the Futurama Editor (Version 4.2.1 or later).
  2. The Document contains two XMLBuilders: "Data" and "Additional Data". Click on the XMLBuilder "Data". The constructed XML by this XMLBuilders can now be verified in the Results Window.
  3. The XMLBuilder "Data" contains a Fixed "Name" and a Formula "Salary". In the Results Window it can be verified that both are included as elements in the element "Data".
  4. In addition "Data" has an attribute ''@admin". Attributes can be recognized by the "@" in front of the name. In the Results Window it can be verified that the attribute admin has been added to the element "Data". Note that attributes always have to be placed before the normal elements.
  5. Finally a Reference is made to another XMLBuilder "Additional data". This XMLBuilder contains two elements: "Address" and "Town". Because the name of the Reference is preceded by a "$" the XMLBuilder it refers to will not be rendered itself but only it's underlying elements. This can be verified in the Results Window. The element "Data" doesn't contain the element "Additional data", but "Address" and "Town" instead.
  6. To see the difference, remove the "$" and verify the result again. It can be seen now that an element "Additional_data" is present, containing "Address" and "Town".

Example 2

This example demonstrates a loop in XMLBuilder.


Download the Futurama Document xmlbuilder example2.


  1. Open the XML-document which is contained in the zip-file in the Futurama Editor (Version 4.2.1 or later).
  2. In the Document an XMLBuilder "Loop" can be seen which is used to create a number of elements by means of a loop. The number of times that it is to run is defined by the number of elements in the table in the property RepeatData. This property refers to Range which consists of five elements. So the loop is run 5 times. Note that in the Futurama Editor, the results tab of the XMLBuilder “Test” will only show the outcome of the first 5 elements of the table defined in the property RepeatData of the XMLBuilder “Loop”, regardless on the actual amount of elements in the table.
  3. As counter the UserVariable 'Counter' is defined in the property RepeatTarget. During the loop 'Counter' will be assigned the value of each element in 'Range' subsequently.
  4. In "Loop" a Reference named "testvalue" is defined referring to "Counter". This implies that an element is created in the XML-data named "testvalue" which has the value of "Counter". It is therefore expected that after the loop is concluded five elements will have been created, all named "testvalue", but with values 1 to 5.
  5. Verify the result of the XMLBuilder "Test". It can be seen that it indeed contains five elements with values 1 to 5. Note that XMLBuilders which are designed for running a loop are not included in the XML-data themselves.

Example 3

In this example is shown how an XmlBuilder with error handling is created.


Download the Futurama Document xmlbuilder example3.


The property IgnoreChildErorrs can be used in combination with the formula CountErrors to add error handling to an XmlBuilder. This is useful when you want to add error handling to an XmlBuilder that is used for a WebService response. In the case that an error occurs then instead of an XML tree with an empty node, the node or the whole XML tree will be invisible. This is done with the property IgnoreChildErrors. In the XML tree there is also a message that says that there occurred an error. This is done with an extra XmlBuilder that depends on the formula CountErrors and inside the XmlBuilder a Fixed with the message ‘Error Occurred’.

In the example you can see an XmlBuilder that contains a loop and an XmlBuilder with the error handling. When you go and stand on ‘Output’ the XmlBuilder will be evaluated normally. But when you change the Fixed ‘Number’ to 0, and evaluate the Xmlbuilder ‘Output’ an error occurs. This is because the item with index 2 is divided by zero. Now you only see a node with the message ‘Error Occurred’. The ChangeValue in the XmlBuilder sets how many errors there are before the loop is executed. In the Condition parameter of the XmlBuilder ‘Error’ the error count is compared with the errors before. When the error count is higher the message ‘Error Occurred’ will be shown.

Notice that all nodes except the parent node is set to IgnoreChildErrors=False.

Relevant Tutorials

- Using XSLT to display data: This tutorial shows how the XMLBuilder is used in combination with an XMLConverter to display text on a website.

- Creating a Webservice Application: This tutorial shows how the XMLBuilder is used in combination with a WebService to create the WebServices output.

- Creating a Console Application: This tutorial shows how the XMLBuilder is used in combination with a DocConverter to export data to a Word document.

Updated: 2012-07-24

Previous  |  Next