A report definition is processed by a report processor to generate a
report. The report definition includes a plurality of data regions
arranged on a page, where the data regions as arranged on the page in the
report definition extend in multiple dimensions selected from a group
consisting of across the page, down page and layered on the page. The
report processor has a data extension for accessing data for the report
from a data source based on query information and data source information
in the report definition. The report processor lays out the report in an
intermediate format based on layout information in the report definition
and the data accessed by the data extension. The report processor also
has a rendering extension for rendering the report in a particular
rendering format based on the intermediate format of the report.