The reports are defined in XML, laid out in a similar fashion to HTML. You define your content though tags (you can have both static and dynamic content) and from this your XML reports are generated. Reports go though a number of stages before they are finally generated. First the XML file is read and any equations or database requests are expanded out - this means you get a second XML file from the first which just contains the pure formatting without any dynamic content. This XML file is then passed on to generate the desired output format, which is either ASCII, Latex or HTML. Latex tools are then used to generate PDF, PS etc files from the Latex.
You may occasionally find issues with reports not working because they contain invalid data in them, like Latex symbols.
Loops are a common method used in reports where you want to display records or rows in a table. The use of headers and footers is an important aspect of this. You can have tables within tables and headers and footers for the tables as well as page header and page footers.
There is more comprehensive documentation on the Papyrus XML format here
2004-12-23: The GUI is alpha, so is liable to crash but it works most of the time. The executable is gui/src/papyrus_gui . The parameters windows reads the
type: one of text, date, int or dropdown (not yet implemented)
name: the label that will display in the GUI next to the input
sql: (only for type="combo") An sql select statement to populate the combo box. Must return two columns (int, any) where the first column is the value you want. e.g. for a foreign key field.
database: (only for type="combo") The
e.g. for the example in the screenshots section, the tags are as follows:
<requires name="Traveller ID" type="int">arg_travellerid</requires> <requires name="Arrival" type="date">arg_arrival</requires> <requires name="Departure" type="date">arg_depart</requires>
If type is omitted it defaults to text. If name is omitted it defaults to the contents of