A template processor converts an initial template document into an XSL
template that can be used to automatically generate reports from report
data extracted from a database or other application. Users create initial
template documents using a word processor or other rich-text editing
application. The initial template document employs the word processor's
native formatting features to specify the formatting of report data. The
initial template document includes placeholder tags inserted by the user
to define the locations of report data in the report. The initial
template document also includes transformation tags that dynamically
define the content of a report based on the value or quantity of report
data. The template processor can include a reader adapted to read
portions of the initial template file and a parser adapted to create
corresponding XSL code from these portions. The XSL template can be
combined with XML-formatted data to create a report.