Customize a report

 

UR30 report manager is used to either publish reports on the WEB or display current page in a browser for printing purposes.

 

UR30 generates it's reports from templates. These templates are stored in sub-folder Reports of UR30 installation folder :

 

 

This report manager works as follow:

-          generate a XML document from current selected screen data

-          merge the XML data into the HTML report

-          display the merge operation HTML file into a browser or publish it on the web

 

  

 

 

 

 

The XML document is generated and published for information only. It’s not directly used by the final HTML report. It’s generated if you want to use the data on your web site for XSLT transformations (reports) or database handling.

 

UR30 report templates are located in the .\Reports folder.

 

This online page help describes how to customize a HTML report to generate a report according to your needs.

 

Refer to WEB publish to publish a report on your WEB site.

 

Refer to Print report to display a report in a brower.

 

The report manager identifies XML nodes and node value or attribute into the report template as follow: [node1.node2.....nodeX.value or attribute]. A node is attached to a document or to a table row. It’s always located at the beginning of the first cell of the row. "node1.node2.....nodeX" is a node path in previous example.

   

The report manager duplicates table row as many time as the XML node has children. It replaces each cell content by the child node attribute value or child value.

 

Typical table row:

 

Slot car

Number

Brand

Color

[db.slotcar.name]

[.number]

[.brand]

[.color]

 

The second row is attached to the XML node db.slotcar, then the report manager loops on all slotcar nodes to extract the slot car name attribute or childs name, number, brand and color. It creates one row per slot car and replace all fields by their value.

 

A cell can include a table. In this case the node is searched into the previous node hierarchy. Let’s take the example of the statistics table, located in the slotcar table cell.

 

Avg speed

Max speed

Lane

Date

[stats.AvgSpeed]

[.MaxSpeed]

[.Lane]

[.date]

 

The report manager looks for the db.slotcar.stats in the db.slotcar node, then loops on all stats nodes and replace AvgSpeed, MaxSpeed, Lane and date by the corresponding stats attributes or child node values.

 

By default the report manager uses the XML root to find any value.

 

The current node can be changed by adding its path directly into the template as follow:

 

[db.newNode]: replace current node by db.newNode to retrieve attribute or newNode child values. It does not manage any loops. Loops are managed only inside rows, as described above.

 

The XML structures are described in the XML files generated with the report. They have the same name as the report with the .xml extension.

 

They can be opened by any browser to understand the hierarchy, node names and attributes name.

 

The report manager searches the value name from the XML root node when it’s not found from current XML node.

 

The report page can be edited by any HTML editor like a text editor or a dedicated web page editor or any office editor (!). Some html editors may add unexpected characters or markups between the node path square brackets. In this case the Report Manager mail fail the merge. In this case remove the unexpected characters in the html source code.