title: Generic report format
body: <p>My business application produces a report. Report usually consists of:</p>
  
  <ul>
  <li>a general header (left, right and center)</li>
  <li>a few paragraphs describing parameters used</li>
  <li>table header</li>
  <li>table data</li>
  <li>page footer</li>
  <li>page header</li>
  <li>report footer</li>
  </ul>
  
  <p>There are at least 2 known requirements for the output format of the report:</p>
  
  <ul>
  <li>excel table (xls(x) file) - it would ignore some sections, but definitely would include <em>table header</em> and <em>table data</em></li>
  <li>pdf</li>
  </ul>
  
  <p>Now I would like my program to generate the report in a generic format. Then next module would produce the output in one of the known output formats, accepting extra optional parameters like font size and face. For today there are 2 output formats, but soon there could be more such to come, like html.</p>
  
  <p><strong>In what format should I generate the report?</strong></p>
  
  <p>I believe it will be a file or an equivalent memory structure. Together with a format I would expect a suggestion about tools and technologies to use. I will choose only an open source solution, but if you want to give other hints, it will be also valuable.</p>
  
  <p>My programming environment is java, but if possible I would like to leave this choice open.</p>
  
  <p>One of my ideas is to define something custom, mine, from scratch. I know how to do it, but first I would like to have a review of common ready-made solutions. That's where I ask for your help.</p>