Integrating XSL-FO with Enterprise Reporting



Similar documents
Introduction. Overview of the Financial Statement Generator (FSG) About BI Publisher. Brief History of BI (formerly XML) Publisher

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener

R12 In Depth: Focus on Report Manager

Business Insight Report Authoring Getting Started Guide

SAS BI Dashboard 3.1. User s Guide

ORACLE BUSINESS INTELLIGENCE WORKSHOP

Technical White Paper. Automating the Generation and Secure Distribution of Excel Reports

Overview Document Framework Version 1.0 December 12, 2005

COGNOS 8 Business Intelligence

ADOBE DREAMWEAVER CS3 TUTORIAL

Oracle Report Manager

Taleo Enterprise. Taleo Reporting Getting Started with Business Objects XI3.1 - User Guide

MicroStrategy Desktop

Intro to Excel spreadsheets

SAP BusinessObjects Business Intelligence (BI) platform Document Version: 4.1, Support Package Report Conversion Tool Guide

Call Center Reports Customization Guide

How To Create A Powerpoint Intelligence Report In A Pivot Table In A Powerpoints.Com

HP Storage Essentials Storage Resource Management Report Optimizer Software 6.0. Building Reports Using the Web Intelligence Java Report Panel

SAS BI Dashboard 4.3. User's Guide. SAS Documentation

Participant Guide RP301: Ad Hoc Business Intelligence Reporting

Oregon State Bar Software Standards Software Proficiency Expectations (Items in bold are to be demonstrated)

REUTERS/TIM WIMBORNE SCHOLARONE MANUSCRIPTS COGNOS REPORTS

Microsoft Office System Tip Sheet

Adobe Dreamweaver CC 14 Tutorial

BusinessObjects Enterprise InfoView User's Guide

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

InfoView User s Guide. BusinessObjects Enterprise XI Release 2

Business Objects Version 5 : Introduction

Microsoft FrontPage 2003

MODULE 2: SMARTLIST, REPORTS AND INQUIRIES

How To Learn To Write A Report In A Database On A Microsoft Powerbook

Ad Hoc Reporting. Usage and Customization

This document will describe how you can create your own, fully responsive. drag and drop template to use in the creator.

IBM Cognos Business Intelligence Version Getting Started Guide

Joomla! template Blendvision v 1.0 Customization Manual

General Ledger and Fixed Assets January 12, 2011

Sharperlight Web Interface

Sisense. Product Highlights.

KOMPOZER Web Design Software

IBM Cognos Query Studio Version User Guide

Content Management System

CONTENTM WEBSITE MANAGEMENT SYSTEM. Getting Started Guide

Aspose.Cells Product Family

COGNOS (R) 8 Business Intelligence

Application Developer Guide

Microsoft SQL Server 2005 Reporting Services Step by Step

Decreases the magnification of your chart. Changes the magnification of the displayed chart.

Cascade Server. End User Training Guide. OIT Training and Documentation Services OIT TRAINING AND DOCUMENTATION.

Oracle Business Intelligence Publisher: Create Reports and Data Models. Part 1 - Layout Editor

Vendor briefing Business Intelligence and Analytics Platforms Gartner 15 capabilities

BSBITU402A Develop and use complex spreadsheets

Basic Excel Handbook

SAP BusinessObjects Business Intelligence Platform Document Version: 4.1 Support Package Business Intelligence Launch Pad User Guide

Importing and Exporting With SPSS for Windows 17 TUT 117

Vendor: Brio Software Product: Brio Performance Suite

Version Getting Started

Oracle Business Intelligence Answers, Delivers, and Interactive Dashboards User Guide. Version December 2006

Performing On-Report Analysis with SAP BusinessObjects Web Intelligence

BI Publisher. Presented to: SCOUG. June 7, 2010

Rochester Institute of Technology. Oracle Training: Advanced Financial Application Training

Create a Web Page with Dreamweaver

Pastel Evolution BIC. Getting Started Guide

How To Create A Campaign On Facebook.Com

FORMATTING OVERVIEW GUIDELINES FOR YOUR THESIS OR DISSSERTATION FOR SUBMISSION TO THE GRADUATE SCHOOL

WEBFOCUS QUICK DATA FOR EXCEL

Sage 500 ERP (7.4) Business Intelligence

Decision Support AITS University Administration. Web Intelligence Rich Client 4.1 User Guide

Getting Started Guide

Xtreeme Search Engine Studio Help Xtreeme

Novell ZENworks Asset Management 7.5

Server-Based PDF Creation: Basics

Introducing our new Editor: Creator

OpenOffice.org Writer

Content Management System User Guide

TheFinancialEdge. Reports Guide for Accounts Receivable

White Paper Using PHP Site Assistant to create sites for mobile devices

FileMaker Server 9. Custom Web Publishing with PHP

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

DataDirect XQuery Technical Overview

Jet Data Manager 2012 User Guide

OpenIMS 4.2. Document Management Server. User manual

COGNOS Query Studio Ad Hoc Reporting

Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72. User Guide

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide

Sitecore InDesign Connector 1.1

Building reports using the Java Report Panel

Information Server Documentation SIMATIC. Information Server V8.0 Update 1 Information Server Documentation. Introduction 1. Web application basics 2

IBM Cognos 8 Business Intelligence Analysis Discover the factors driving business performance

FileMaker Pro and Microsoft Office Integration

IBM Unica emessage Version 8 Release 6 February 13, User's Guide

ENTERPRISE DATA WAREHOUSE PRODUCT PERFORMANCE REPORTS USER GUIDE EXTERNAL. Version: 1.0

Analytics with Excel and ARQUERY for Oracle OLAP

Custom Reporting System User Guide

Creating Web Pages with Microsoft FrontPage

Dreamweaver and Fireworks MX Integration Brian Hogan

Introducing CXAIR. E development and performance

Chapter 13: Producing reports

5.1 Features Denver CO 80202

Transcription:

Integrating XSL-FO with Enterprise Reporting Matthew T. Moores [HREF1], Senior Applications Engineer, Oracle Corporation [HREF2], GPO Box 723, Brisbane Qld 4001. Graduate Student (MMSc), School of Mathematical Sciences [HREF3], Queensland University of Technology, Brisbane Qld 4000. mailto:matthew.moores@oracle.com?subject=ausweb Kevin Leggett, Applications Engineer, Oracle Corporation. Kevin.Leggett@oracle.com Abstract This paper discusses a project to integrate the processing of XSL Formatting Objects (XSL-FO) [HREF4] within an enterprise reporting solution. The software components utilised in the implementation form part of Oracle ebusiness Suite. However, the findings from this project are applicable to a range of XML-based technologies, independent of vendor. The Report Manager (Wood, 2004) [HREF5] project is unusual in a number of ways, the main one being the use of Microsoft Excel spreadsheets as a medium for XSL-FO output, as well as for editing the XSL-FO templates. Excel is ubiquitous in business, and it is the expected familiarity of our target users with this tool that motivates this approach. The spreadsheet medium also provides users with additional means for interacting with the data and performing further analysis. It has clear advantages over PDF [HREF6] or HTML output for this purpose. XSL-FO provides a high degree of control over the visual representation of an XML document, in an outputindependent manner. The same template can be used to render a document to PDF, HTML and Excel (as well as any other output media supported by the XSL-FO rendering engine). This enables users to select the output medium that is most appropriate for the task at hand. HTML is useful for previewing the report in a browser without loading any external applications. PDF output gives the most accurate representation of the printed document, and is platform-independent. XSL-FO also meets the need for high-fidelity presentation of published reports. The end goal of such a project is to achieve pixel perfect reproduction of the document, on all of the available output media. This paper will discuss the extent to which we believe we achieved that goal, and the challenges that we have faced in doing so. Introduction Although the XSL 1.0 Recommendation was designed to support a wide range of output media, most rendering engines focus primarily on PDF output (with some support for PostScript, HTML and RTF). For example, RenderX XEP [HREF7] provides PDF and PostScript, while Antenna House XSL Formatter [HREF8] supports PDF, printer and GUI preview output. IBM Infoprint Manager (IPM) [HREF9] utilises FO rendering to provide output in PDF and AFP (IBM Advanced Function Presentation) formats. Report Manager provides an additional means for users to access their XML data, by rendering it to a formatted Excel spreadsheet. This gives end-users a convenient mechanism for incorporating the data into their own calculations. It also facilitates further analysis of the data through the use of charts, functions and pivot tables. With Report Manager's plugin architecture, additional output media can be added as required. Apache Formatting Objects Processor (FOP) [HREF10] also supports a variety of output media, although it cannot currently provide spreadsheet output. Nevertheless, its extensible architecture provides a good option for those wishing to implement spreadsheet support outside of a proprietary Oracle environment. A separate Apache project, POI-HSSF [HREF11], could potentially be integrated with FOP to transform XML data into Microsoft Excel *.xls files.

Another option for spreadsheet output would be to employ an XSLT transformation directly from XML to either Microsoft SpreadsheetML [HREF12] or a Comma-Separated Value (CSV) file. The drawback of using SpreadsheetML is that it requires end-users to have at least Office 2003 installed, to be able to view the file. In comparison, Report Manager supports versions of Excel from Office 98 onwards. CSV enables users to import the data into Excel, but without any formatting information. This might be sufficient for some purposes, but in many cases users would end up formatting the data manually themselves. It is also advantageous to have the data presented in the same manner in the PDF report as in the spreadsheet. In examining alternative solutions, one should also consider other aspects of the requirements. The Report Manager architecture detailed in the next section of the paper provides a high standard of scalability, security and performance in an enterprise computing environment. Additionally, the template editor component enables report designers to focus on layout without requiring expert knowledge of XSL-FO elements or of the XML data itself. Architecture Report Manager provides a user interface for web-based management of the entire submission and publishing workflow. The main stages of this process are template definition (creating the XSL-FO template), submission and publishing (generating the XML data and making it available to the user) and presentation of the report. Template Definition The Excel template editor provides a simplified interface to define templates for reports that originate from the Financial Statement Generator (FSG). The FSG tool can be used to define financial reports for General Ledger, and includes support for ad-hoc reporting. Once a report has been registered as an XML data source, users can load a default layout for the data in Excel, and then use the standard Excel formatting menus to change the layout, as they require. This simplicity is possible because FSG reports all have a standard structure, and their elements are defined using an XML Schema (XSD). The template editor parses this schema to determine what columns are available in the report, and the user determines the position and formatting of those columns. When creating a new template or editing an existing template, users can make the following changes: Add and remove report elements Change the location of report elements on the page Modify row and column sizes Use standard Excel formatting: o Font (Family/Type, Style, Size, Colour and Alignment) o Borders and Shading o Row and Column spanning o Vertical and Horizontal Alignment Insert text that remains static in the report Add images. Supported image files are png, gif, jpeg and bmp. Add background watermark images Include hyperlinks Add data values. Data values are report objects that link to XML elements of the report output and the values obtained during the publishing process. Move columns Insert blank rows Adjust Page Setup: o Top, Left, Bottom, Right, Header and Footer margins o Orientation - Portrait or Landscape

The advantage of this approach is to reduce the knowledge required to define a report template. Users can focus on the visual quality of the report, without needing to be able to read the XML data or to have any familiarity with the elements of the XSL-FO specification. Figure 1: Template Definition Office Automation [HREF13] is used to extract the spreadsheet formatting information into an XSL-FO template and upload it to the Template Manager repository. The Excel spreadsheet file is also stored in the database, in case the user needs to edit the template at a later time. Submission & Publishing Report Manager supports a range of XML data sources, including: standard (Reports 6i) reports; FSG reports; Report Exchange (RX) reports; and XML files can be uploaded to the Report Manager repository. RX is a tool for global legislative reporting; FSG has been described previously. Figure 2: Report Submission Through a web-based interface, users can submit their reports immediately, at a future point in time, or scheduled at repeating intervals. The Concurrent Managers schedule and monitor the execution of the reports. The Concurrent Managers also provide general batch processing and job management services for the entire ebusiness Suite.

Report Manager provides a hierarchical, point-in-time repository for the XML reports, which functions somewhat like a lightweight data warehouse. Views of the transaction system can be defined as reports that run at periodic intervals, and these reports can be organised into separate folders. Content sets can be used to define dimensions within an FSG report. For example, if a content set for departments is set up, then applying it to a report creates a separate report for each department. User views of the report are limited to those departments for which they have viewing privileges. To make a report available to its intended audience, it can be added as a menu item in Personal Homepage (PHP), the web portal interface for the ebusiness Suite. Several levels of security are provided by the platform, including user-to-value security (which restricts access to the report based on content set), responsibilities (which define which PHP links are visible to a given user) and Single Sign-On [HREF14] (where a user only needs to login once for their entire session, and they are validated against all of the servers that process their request). Reviewers can be specified, who must approve the report before it is made available for general consumption. An option can also be set to make the report available at a future point in time. Besides the advantages of security and concurrency, this architecture best supports existing customers of Oracle's products. Users who already have a large number of reports defined can easily switch over to XML output and register them as a data source. Legacy support for Reports 6i was motivated by this consideration. Presentation When the end-users log on and select a responsibility in PHP, they are presented with a menu that may contain links to one or more reports. By clicking on one of those links, they initiate a process whereby XML data is combined with an XSL-FO template to produce a document in the desired medium (Excel, PDF or HTML). Depending on what options were set when the report was published, users might be presented with several choices related to the report. The selection of output medium, XSL-FO template, report timeframe and content set can be deferred until this point. Default values can also be provided for the user. The XML data is retrieved from the Report Manager repository. XML Publisher [HREF15] processes the data according to the XSL-FO template, and produces an in-memory representation of the FO areas. PDF output is built into the software, but Excel and HTML output is provided by plugins. These plugins traverse the area tree using a Reflective Visitor (Mai, 2001) [HREF16], and translate each node into its corresponding representation in the output medium. Figure 3: XSL-FO Processing & Presentation The Excel output plugin uses Web Applications Desktop Integrator (Web ADI) beans to construct a representation of the FO area tree as an Excel spreadsheet. Web ADI uses Office Automation to launch Excel from within a web browser and apply the formatting and content. The plugin supports multiple versions of Excel (97, 2000, XP and 2003), which is an advantage over solutions that rely on features that are only available in the latest version of Office. It is also superior to the alternative of writing the XML data to a Comma-Separated Value (CSV) file, since this would require the user to format the spreadsheet manually themselves. The use of Web ADI avoids such a repetitive task.

The HTML output plugin generates web pages using the UIX Framework. The FO area tree is translated into a tree of user interface nodes. The client-specific UIX output renderers provide portability across different browsers, platforms and devices. Although we considered creating an XSLT stylesheet to transform directly from XSL-FO to uixml, certain elements (such as fo:instream-foreign-object) would still need to be handled in Java. For the initial version we decided to keep the plugin interface consistent for all output types, and consider XSLT-based processing as a potential future enhancement. Implementation Excel Output Rendering The structure of a spreadsheet is suited to report display, with the cells of the spreadsheet corresponding to the rows and columns of the report. However, it is more difficult to accurately represent other kinds of XSL-FO documents in that medium. The Excel file format is very different from the absolute-positioning, vector-based output of PDF and PostScript. An fo:block is roughly analogous to a spreadsheet cell, but there are certain conditions where that correspondence breaks down. For example, column widths in Excel are stored in character units, which are defined as the width of a numeric character in the Normal style font [HREF17]. Therefore, once the size and position of the FO areas have been calculated in points, these measurements must then be translated into character units. Care must be taken to ensure that any rounding errors do not accumulate across the page. Excel provides full Unicode 2.1 support via the universal font (Arial Unicode MS) [HREF18]. However, if a different font is specified by the XSL-FO template, then some characters could be displayed as boxes. Depending on the version of Windows, as well as on which languages are used within the document, users might also need to install system support for multiple languages. Issues can also arise when the font specified by the XSL-FO template (such as Helvetica) is not available on the client platform, in which case it is substituted by a font that is visually similar but might not have exactly the same dimensions. Workarounds must be found in cases where formatting attributes are not supported by Excel. Margins and padding cannot be controlled on individual spreadsheet cells, and so multiple cells must be used in cases where this is important. However, this breaks the direct mapping from the rows and columns of the report to the cells of the spreadsheet. This would make it difficult for users, if for example they wanted to calculate the total of a column of numbers, or create a graph of the data. Therefore, we ignore these attributes if they occur within the body of an fo:table. Likewise, fo:leader and fo:list-block elements must be simulated by ordinary text, because Excel has no support for tables of contents or bulleted lists. Another area where problems can occur is in the limitations inherent in the Excel file format [HREF19]. A single worksheet can contain a maximum of 256 columns and 65,536 rows, while the width of any single column is limited to 255 characters and the row height is limited to 409 points. There is a maximum of 4,000 unique cell styles in a workbook, and a maximum of 56 unique colours.

Figure 4: color palette We deal with the limitation on palette size using a simple frequency counting algorithm. The default foreground (usually black) and background (usually white) colours are never replaced, but the other 54 are selected based on the most common colours used within the document. If more than 56 colours are present, then Excel will automatically map the least frequent colours to their closest approximations within the palette. More sophisticated algorithms would be possible, which took into account the similarity between colours. However, the simpler approach meets our immediate needs, particularly since very few financial reports would require more than a handful of unique colors. It is possible to set a custom page size in Excel, to match the size of the fo:page-sequence areas. However, the document might not be handled consistently by all printers. Where the page dimensions match a standard (such as ISO 216:1975 [HREF20]) it is preferable to specify the page setup accordingly. Another issue with pagination is that Excel supports a header and footer region, but not fo:region-start or fo:region-end. These regions can be approximated using ordinary spreadsheet columns, but might sometimes produce inconsistent results depending on page margins and orientation. We also found that users preferred that the tables in a report were never split across multiple worksheets, even if the same table appears on multiple pages of printed output. This is because it is more difficult to select data across multiple worksheets for the purposes of creating a chart or applying a formula. We were able to accommodate this (up to the maximum of 65,536 rows of data) by ignoring soft page breaks if they occurred within a table. If a worksheet in Excel does not fit on a single printed page, then it will be paginated automatically according to the configured page size. Excel Template Editor The main issue encountered when implementing an XSL-FO template editor in Excel was support for embedding images within the document. Although it is possible to iterate through the decoded images in memory, there is no clean way to upload the compressed files to the server. If an image is present, then the editor uses Office Automation to save the spreadsheet as HTML to a temporary directory. The images are then read in from disk

and attached to a multi-part form post. When the data is received by the server, the images are stored in the web server's images directory. This directory is in a well-known location, so that the XSL-FO template can reference the image URI as an fo:external-graphic. We found it useful to provide a means to define aliases for the XML tags in the report. By associating more human-readable labels with the data in the report, it was easier for the template author to understand the structure of the XML and how it should be laid out on the page. These labels could then also be used as column names in the report. HTML Output Rendering There have been many attempts to represent XSL-FO in HTML or XHTML [HREF21], [HREF22], [HREF23], so we will only briefly discuss the main issues we encountered and describe our approach to resolving them. We decided to ignore all page breaks, rather than splitting the document up into multiple HTML pages. Likewise, the absence of a right margin meant that the user had to scroll in both axes under lower screen resolutions (particularly for documents in landscape orientation). We made extensive use of borderless HTML tables to layout the document, since it is otherwise very difficult to position the text correctly. Oracle's UIX Framework provides a site-wide look & feel for web pages. We have experimented with using the formatting attributes defined by UIX, or overriding these with the formatting attributes specified in the XSL-FO template. Verification & Testing The XSL Working Group provides a comprehensive test suite [HREF24] that can be used to assess the level of compliance with the XSL Version 1.0 Recommendation. We are able to use XMLUnit [HREF25] to automate the regression testing of the HTML and Excel output plugins. However, our quality assurance process that establishes the baseline for this regression involves an exhaustive process of visual comparison between the expected results supplied by the W3C and the three kinds of output produced by our own software. Conclusions & Future Work We have shown that Excel spreadsheets are a viable medium for representing at least a subset of the W3C XSL- FO recommendation, both for template definition and for output rendering. Additionally, we have described a web-based architecture for secure archival and display of XML reports using XSL-FO templates. Finally, we would like to outline some of the possible future directions of the Report Manager project. We have been exploring the feasibility of extending our solution with several additional features. However, these can only be discussed under the proviso that Oracle makes no commitment to add these potential features to any existing or future version of its products. These concepts are purely at the prototyping stage. Many of these features relate to improving the ability of the user to analyse their data, particularly by providing OLAP-like interactivity within the reports. For example, one potential enhancement could be to provide a webbased Drilldown service. The concept is that aggregated values in a report could be hyperlinked to a detail report that would contain the individual values that comprise the summary data. By encoding the drill parameters in the URI, this could be supported on PDF, HTML and Excel output media. This linking could function in both directions, and at multiple nested levels of drill. In the case of an FSG report, users could select an individual account and drill into its summary balances, detail balances, journal lines, and down into the subledger details.

Figure 5: FSG Drill Path The advantage of this functionality would be that information professionals could explore the data at multiple levels of detail without needing to define additional reports or SQL queries. When an unusual value is observed, the analyst can retrieve the underlying details to determine the cause. The same technology would enable links to detail reports to be sent via email or linked from a webpage outside Portal or PHP. Single Sign-On would be used to authenticate users who clicked on the link, so that they do not need to login multiple times during a drill session. Another potential feature related to Business Intelligence is the provision of Pivot Tables in a report. Pivot Tables are an interactive interface for viewing multi-dimensional data. Users can select which dimensions to display, and drag them between the rows and columns with the mouse. For example, a user could use a Pivot Table to view quarterly revenue by geography, or number of insurance claims by department. They are particularly useful for summarizing large amounts of data, and for comparing several facts about each figure in a report. Figure 6: Pivot Table One of the key advantages of an Excel spreadsheet over static formats such as PDF is that it is possible to incorporate interactive elements into the document. The XSL 1.0 Recommendation includes limited support for interactivity, such as fo:multi-switch and fo:multi-properties, but these are insufficient to represent the full range of Pivot Table functionality. For this purpose, we could use an fo:instream-

foreign-object, a set of proprietary extensions to the FO tags, or some combination of both. Most rendering engines (such as RenderX XEP [HREF26] and Apache FOP) include their own custom extensions to the specification. The XSL 1.1 Working Draft also includes improved support for interactivity (such as bookmarks). The PDF output processing could ignore these auxiliary extensions (in the Pivot Table namespace) and instead display a static table containing a summary of the data. Pivot Tables are supported natively by Excel, and could also be provided in the HTML medium via use of the BI Beans [HREF27] Crosstab. The highly nested structure of the Pivot Table data makes it well suited to representation in XML, and the addition of XSL-FO formatting attributes would provide an elegant means to define its visual appearance. Charts and graphs could be supported in Excel and HTML in a similar manner to Pivot Tables. The data behind the graph might be contained in an fo:instream-foreign-object, and FO extensions could be used to specify the visual attributes. BI Beans include many different types of graph, and Excel would support these elements natively. However, the behaviour of PDF and other output types would need to be carefully defined. One might envision something similar to the display of a broken image link in a web browser (perhaps with a corresponding ALT label). Geographic data visualization is also supported in Excel through the use of the Microsoft Map [HREF28] component, but there is no equivalent BI Beans functionality as yet. Figure 7: BI Beans Graph Other potential features include template editing support for reports other than FSG, and rendering support for additional output media (including support for spreadsheet output on other platforms). There is also the possibility of integration with Service Bean Framework, which would mean packaging the XSL-FO processing functionality as an Enterprise Java Bean (EJB) [HREF29]. Such a component could retrieve XML data directly from the database using the XSU Java API or the SQL/XML generation functions (bypassing the point-in-time repository) [HREF30]. The Report Manager project demonstrates that XSL-FO is a powerful tool for output-independent publishing. Other implementers should also consider how to make better use of the multiple output media made possible by XSL-FO, and experiment with output types other than PDF. XSL-FO also has the potential to be utilised in Business Intelligence reporting and other interactive analysis. Further support for interactivity would be a useful area for the XSL Recommendation to focus on moving forward.

References ISO 216:1975 (1975). International Organization for Standardization. Available online [HREF20]. Mai, Y. and de Champlain, M. (2001). "Reflective Visitor Pattern" in proceedings of the 6th Annual European Conference of Pattern Languages of Programs (EuroPLoP 2001). Available online [HREF16]. Wood, J. (2004). Oracle Report Manager User Guide, Release 11i Oracle Corporation, Redwood Shores. Available online [HREF5]. Hypertext References HREF1 http://members.optusnet.com.au/~mtmoores/ausweb/bio.html HREF2 http://www.oracle.com/technology/products/applications/index.html HREF3 http://www.maths.qut.edu.au/ HREF4 http://www.w3.org/style/xsl/ HREF5 http://www.oracle.com/technology/documentation/applications.html HREF6 http://www.adobe.com/products/acrobat/adobepdf.html HREF7 http://www.renderx.com/tools/xep.html HREF8 http://www.antennahouse.com/product/axfo30/axfo3top.htm HREF9 http://www.alphaworks.ibm.com/tech/xfc HREF10 http://xml.apache.org/fop/ HREF11 http://jakarta.apache.org/poi/hssf/ HREF12 http://www.microsoft.com/office/xml/default.mspx HREF13 http://msdn.microsoft.com/office/ HREF14 http://www.oracle.com/technology/products/id_mgmt/osso/index.html HREF15 http://www.oracle.com/technology/products/applications/publishing/index.html HREF16 http://www.hillside.net/patterns/europlop2001/papers/mai.zip HREF17 http://support.microsoft.com/?kbid=214123 HREF18 http://office.microsoft.com/en-us/assistance/hp052558401033.aspx HREF19 http://office.microsoft.com/en-us/assistance/hp051992911033.aspx HREF20 http://www.iso.org/iso/en/cataloguedetailpage.cataloguedetail?csnumber=4087&ics1=85&ics2 =80&ICS3=10 HREF21 http://www.renderx.net/content/tools/fo2html.html HREF22 http://xml.sys-con.com/read/46179.htm

HREF23 http://www.altova.com/features_views_s.html HREF24 http://www.w3.org/style/xsl/testsuite/ HREF25 http://xmlunit.sourceforge.net/ HREF26 http://www.renderx.net/content/support/xep/reference.html#extensions HREF27 http://www.oracle.com/technology/products/bib/index.html HREF28 http://support.microsoft.com/?kbid=213882 HREF29 http://java.sun.com/products/ejb/index.jsp HREF30 http://www.oracle.com/technology/tech/xml/index.html Acknowledgements The authors would like to acknowledge the rest of the Report Manager team for their efforts on the project: Aaron Blishen, Kin F. Cheung, Paul A. Cross, An Do, Gordon Hooker, Patrick Kua, Michael Luetchford, Benjamin Morgan, John Richardson, Steven Saah, and Urmila Sunkavalli. We would also like to thank Brett Hooker and Brad Long for their valuable advice and encouragement, and special thanks to the anonymous referees for their constructive suggestions. About the Authors Matthew Moores received the B.Inf.Tech. degree in computing science (with distinction) from Queensland University of Technology, Brisbane, Australia in 1997. He has worked in the research organisations of Digital Equipment Corporation and Compaq Computer Corporation, as well as for the startup company AgileTV and the ARC Key Centre for Human Factors at the University of Queensland. He is currently working on the Healthcare project at Oracle, and also studying towards a coursework Masters in mathematics at QUT. Kevin Leggett received the Bachelor of Internet Computing degree from Griffith University in 2003. He worked for Spectrum Data Systems International before joining Oracle. Kevin has been a member of the Report Manager project team for the past two years and was the developer of the template editor component. Copyright Oracle Corporation 2005. The authors assign to Southern Cross University and other educational and nonprofit institutions a non-exclusive licence to use this document for personal use and in courses of instruction provided that the article is used in full and this copyright statement is reproduced. The authors also grant a nonexclusive licence to Southern Cross University to publish this document in full on the World Wide Web and on CD-ROM and in printed form with the conference papers and for the document to be published on mirrors on the World Wide Web.