GNUe:Reports:Standard goals:

 * Templating/Styles
 * Relational positioning/sizing
 * Charting
 * Cross-tabulation
 * Conditional Text

---------------------------------------------------------------------

Steps in processing the output:

---------------------------------------------------------------------

<report>
  <prolog>
    <title>
    <author>
    <printdate>
    <parameters>
  </prolog>

  <titlepage> ??
     ... ?

  <trailerpage> ??
     ... ?

  <!-- Predefine any commonly used images, so their binary
       data doesn't have to appear every time the image is used.

       Multiple <imagedata> with the same names can appear
       with different "formats." This will let the output renderer
       pick the best match. E.g., EPS for print, PNG for web

       Reference using <image name="xxxx">    -->
      <imagedata name="..."  size="100%|x%;y%|x;y"
                color="grayscale|<forecolor>;<backcolor>|auto"
                format="auto|png|eps|tiff|..."> src="inline|<name>|<url>">
        <binary>(base64-encoded image)</binary>
      </imagedata>

  <reportheader>
    <cell style="+left">
    <cell style="+center">
    <cell style="+right">
  </reportheader>

  <reportfooter>
    <cell style="+left">
    <cell style="+center">
    <cell style="+right">

  <pageheader omitfirst="Y|N" omitlast="Y|N"
      sequence="all|even|odd|first|last">
    <cell style="+left">
    <cell style="+center">
    <cell style="+right">

  <pagefooter omitfirst="Y|N" omitlast="Y|N"
      sequence="all|even|odd|first|last">
    <cell style="+left">
    <cell style="+center">
    <cell style="+right">

  <columns count="2">
    <columnbreak/>
    <pagebreak/>

  <pagespec size="auto" orient="portrait|landscape|auto"/>
    <!-- pgoptions are largely output device specific
         Listed below are some possible ones. -->
    <pgoption name="tray" value="upper|manual|envelope|tray 1|tray 2">
    <pgoption name="media" value="upper|manual|envelope|tray 1|tray 2">

  <table orient="portrait|landscape|auto">
    <>


  <out:table size="<measurement>|auto|expand">
    <out:colspec num="1" size="auto"/>
    <out:colspec num="2" size="50em"/>
    <out:tbody>
      <out:tgroup>
        <out:row repeat="page|column|none" style="table-heading">
          <out:entry>Heading
          <out:entry/>
        </out:row>
        <section name="indata">
          <out:tgroup>
            <out:row repeat="page|column" style="table-heading">
              <out:entry><field name="foobar"/> <out:on-repeat><t style="table-continued">(Continued)</t></out:on-repeat>
              <out:entry/>
            </out:row>
            <out:section name="indata2">
              <out:row>
                <out:entry/>
                <out:entry/>
              </out:row>
            </section>
          <out:tgroup>
        </section>
      </out:tgroup>
    </out:tbody>
  </out:table>



  <section positioning="below|right|marginleft|margintop|absolute|named"
         relation="<sectionname>|<formanchor>"

         spacingvert="<measurement>|auto"
         spacinghoriz="<measurement>|auto"

         columns="2"

         break="never|always|smart"
         breaklevel="page|column"

         style="..."
        >
    <header repeat="none|page|column"/>
    <footer>
    <detailheader repeat="none|page|column"/>
    <detailfooter>
    <contents repeat="none|page|column"
         shaderows="3"
         shadebackground="10%" >

      <section .... >
      <row>
        <cell style="+left">
          Text
          <image color="grayscale|<forecolor>;<backcolor>|auto"
                 size="100%|x%;y%|x;y"
                 format="auto|png|eps|tiff|svg|..."> src="inline|<name>|<url>">
                     <binary>(encoded image)</binary>
          </image>
          <barcode format="EAN13" captioned="Y|N">1234323422346</barcode>

    <summary>
      <row>
        <cell style="+left+total" >



---------------------------------------------------------------------
Example of a section....

<section positioning="below"
       break="never|always|conditional"
       breaklevel="page|column"
       columns="2" shaderows="3" border="1">
  <header/>
    <cell style="+center">Same-store Sales by Quarter</c>
  <footer>
    <c>* Does not include employee purchases</c>
  <detailheader/>
    <r>
      <c>Quarter 1</c><cell style="+decimal">24</c>
    </r>
  <detailfooter>
    <r>
  <contents/>
    <r>
      <c>Division 1</c><cell style="+decimal">12</c>
    </r>
    <r>
      <c>Division 2</c><cell style="+decimal">12</c>
    </r>
  <summary>
    <rec style="+total">
      <c>Total</c><cell style="+decimal">24</c>
    </r>


---------------------------------------------------------------------
Section as a barchart

<section mode="barchart" columns="2">
  <detailheader>
    <r><c>Flavor</c><c>Units*</c></r>
  </detailheader>
  <contents>
    <r><c>Foobar</c><c>23</c></r>
    <r><c>Toobar</c><c>12</c></r>
    <r><c>Souffle</c><c>22</c></r>
  </contents>
</section>

................

        Flavor   Units

        Foobar  ==============
        Toobar  =======
        Souffle =============

---------------------------------------------------------------------
Section as a stackedbarchart

<section mode="stackedbarchart" columns="3">
  <header>Total Consuption</header>
  <detailheader>
    <r><c>Category</c><c>Flavor</c><c>Units*</c></r>
  </detailheader>
  <contents>
    <r><c>Cat 1</c><c>Foobar</c><c>23</c></r>
    <r><c>Cat 1</c><c>Toobar</c><c>12</c></r>
    <r><c>Cat 1</c><c>Souffle</c><c>22</c></r>
    <r><c>Cat 2</c><c>Foobar</c><c>19</c></r>
    <r><c>Cat 2</c><c>Toobar</c><c>6</c></r>
    <r><c>Cat 2</c><c>Souffle</c><c>11</c></r>
    <r><c>Cat 3</c><c>Foobar</c><c>13</c></r>
    <r><c>Cat 3</c><c>Toobar</c><c>6</c></r>
    <r><c>Cat 3</c><c>Souffle</c><c>11</c></r>
  </contents>
  <footer>* in Thousands</footer>
</section>

................

    TOTAL CONSUMPTION
       Category                    Units*
                   |----|----|----|----|----|----|----|----|
        Cat 1      ::::::::::::::=======-------------
        Cat 2      ::::::::::::====------
        Cat 3      :::::::::::::::::====------

             [ * in Thousands ]

             .-- Flavor Key ----.
             |  :: Foobar       |
             |  == Toobar       |
             |  -- Souffle      |
             |__________________|

---------------------------------------------------------------------
Section as a crosstab

<section mode="crosstab" columns="3">
  <header>Total Consuption</header>
  <detailheader>
    <r><c>Category</c><c>Flavor (Units)</c><c></c></r>
  </detailheader>
  <contents>
    <r><c>Cat 1</c><c>Foobar</c><c>23</c></r>
    <r><c>Cat 1</c><c>Toobar</c><c>12</c></r>
    <r><c>Cat 1</c><c>Souffle</c><c>22</c></r>
    <r><c>Cat 2</c><c>Foobar</c><c>19</c></r>
    <r><c>Cat 2</c><c>Toobar</c><c>6</c></r>
    <r><c>Cat 2</c><c>Souffle</c><c>11</c></r>
    <r><c>Cat 3</c><c>Foobar</c><c>13</c></r>
    <r><c>Cat 3</c><c>Toobar</c><c>6</c></r>
    <r><c>Cat 3</c><c>Souffle</c><c>11</c></r>
  </contents>
  <footer>* in Thousands</footer>
</section>

................

  Category            Flavor (Units)
              Foobar     Toobar    Souffle
   Cat 1        23         12         22
   Cat 2        19          6         11
   Cat 3        13          6         11


------
Issues
 * Doesn't handle multiple cell values
   Although, if columns > 3, then cell size can be (# columns - 2)
 * Doesn't handle horizontal summaries
   (Could be: <r><c>Cat 3</c><c>Total</c><c>57</c></r>)

---------------------------------------------------------------------
Section as a freeflow, #1

<section>
<contents>
<p>
<t style="field">12/30/02</t>
</p>

<p suppressBlankLines="Y">
<t style="data">White Station Tooling</t><br>
<t style="data">Jason Cater</t><br>
<t style="data">123 N Main St</t><br>
<t style="data"></t><br>
<t style="data">Memphis</t>, <t style="data">TN</t> <t style="data">38117</t><br>
</p>

<p>
Dear <t style="data">Jason</t>:
</p>

<p>The enclosed invoice is for orders
received with your purchase order #<t style="data">1234</t>,
dated <t style="data">12/31/2002</t>. Please remit payment of
<t style="data">$1,234.00</t> directly to
<t style="emphasised">Acme Corporation</t> using the enclosed
return envelope.
</p>

<p>
We thank you for the opportunity to serve your organization.
</p>

<p>
Jones En, II<br>
Account Representative<br>
</p>
</contents>
</section>

................

12/30/02

White Station Tooling
Jason Cater
123 N Main St
Memphis, TN 38117

Dear Jason:

The enclosed invoice is for orders received with your purchase order
#1234, dated 12/31/2002. Please remit payment of $1,234.00 directly
to Acme Corporation using the enclosed return envelope.

We thank you for the opportunity to serve your organization.

Jones En, II
Account Representative

---------------------------------------------------------------------

