gnue-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnue-dev] Re: GNUe Reports Output Markup


From: Stanley A. Klein
Subject: [Gnue-dev] Re: GNUe Reports Output Markup
Date: Wed, 27 Mar 2002 07:48:21

At 07:30 PM 3/26/2002 -0500, Jason Cater <address@hidden> wrote:

>1. The report definition shouldn't contain references to page sizes,
>   etc, for a few reasons:
>      a) Paper sizes vary by locale (e.g., US Letter vs A4)
>      b) For outputs such as html, csv, et al, papersize is
>         irrelevant.
>
>   We might, however, provide *hints* (e.g., this report looks
>   best in a landscape format, etc)
>
>2. I'm thinking in terms of a "logical" formatting markup, similar
>   to HTML, DocBook, or TeX, as opposed to an "absolute" formatting
>   markup (Postscript). I say this as doing such a format will make
>   the various final outputs (html, csv, pdf, etc) easier to create
>   from the same source stream.
>
>   In other words, I don't think the report should denote <draw
>   label at position x=100, y=100.>
>
>3. Some "final" formats we will want to support are:
>     * PS/PDF
>     * HTML
>     * RTF
>     * CSV
>     * TeX/LaTeX
>     * ???
>
>     (A lot of other formats can be created from these basic formats.
>      e.g., once we have PS format, then ghostscript could convert to
>      oddball formats such as Epson ESC/P, HP-PCL, ... )
>
>     Odds are, we will initially use an XSLT script to convert from
>     our "output" xml to these "final" formats.
>
>4. I would like to see a generic report "skin", or template, that
>   can be applied in between our "output xml" stream and the
>   "final format" (possibly applied by the XSLT engine) that applies
>   site-specific conventions (e.g., paper size, logos, standard header
>   styles, etc)  I touched on this in an earlier email.


I've attached below two examples of AbiWord native format.  One is a start
on an invoice form.  The other is a first cut at a 3-up label format.

It seems to me that if you can output user-defined labels and user-defined
blocks of stuff at appropriate places, GNUe Reports can generate AbiWord
native format with the data filled in.  BTW, this can include paper sizes,
landscape, precise positioning, logos, etc.  This would be prepared by
laying out the document format in AbiWord and selecting the blocks of stuff
and labels to be output by GNUe Reports.

The file type is .abw and I think it should be included on the list.  I'm
sure it will be possible to do the same thing with OpenOffice when it is
finally released.

BTW, this will probably cover mail merging.  It isn't overprinting of
pre-printed forms, but covers formatted, templated forms.

The easiest one to explain is the 3-up labels.  GNUe Reports would first
output all the stuff up to the name and address fields.  Then output <p>
name </p> <p> address line </p> and so on up to the end of a column,
followed by <pbr/>, the next column, and so on.  I'm sure that eventually
all the precision formatting for overprinting Avery label stock will be
available, and will probably go in the upper heading stuff.

The invoice form has a sort-of letterhead embedded in it, with margins
changed to widen the page from normal formatting.  I haven't figured out
the remainder of the output (the actual invoice stuff).

I think that the best approach would be to:

1.  Not cast any tags in concrete within GNUe Reports, unless they control
output calculations or point to a user-definable file of tags.  The
"user-definable file" could have a default version that is readable by some
kind of parser for conversion to final formats.

2.  Use an output parser, if it is not a word processor or some other
program of the user's choosing with XML native format, that is something
standard, like DocBook with a GNUe Reports DTD that can produce all the
other formats.  I don't see a need for *developing* a GNUe-Reports-specific
output format conversion program.  In fact, I think it would be best to use
as much as possible of what's out there already before we even consider
rolling our own.  It might turn out that a minor fix to something already
existing would do everything we need.  That's the Innovation Commons of
Free Software at it's best.


Stan Klein

----------------------------------------------------------------------------
----------
                                    Invoice document (sort of a start on one)

<?xml version="1.0"?>
<abiword version="unnumbered"  fileformat="1.0">
<!--
=====================================================================  --
>
<!-- This file is an AbiWord document.
-->
<!-- AbiWord is a free, Open Source word processor.
-->
<!-- You may obtain more information about AbiWord at www.abisource.com
-->
<!-- You should not edit this file by hand.
-->
<!--
=====================================================================  --
>

<!--         Build_ID          = (none) -->
<!--         Build_Version     = unnumbered -->
<!--         Build_Options     = LicensedTrademarks:Off Debug:Off BiDi:Off
Bonobo:Off
DirectPrint:On Gnome:On LibXML:Off Pspell:Off -->
<!--         Build_Target      = /tmp/21506-i386/BUILD/abi/src/Linux_2.4.5-
10enterprise_i386_GNOME/obj -->
<!--         Build_CompileTime = 06:48:29 -->
<!--         Build_CompileDate = Jul 19 2001 -->

<pagesize pagetype="Letter" orientation="portrait" width="8.500000"
height="11.000000"
units="inch" page-scale="1.000000"/>
<section header="1095691385" props="page-margin-bottom:0.7000in; page-margin-
footer:0.0000in; page-margin-header:0.0000in; page-margin-left:0.5000in;
page-margin-
right:0.5000in; page-margin-top:1.0000in">
<p props="text-align:right"><c props="font-size:16 pt;
font-weight:bold">INVOICE</c></p>
<p><c props="font-size:14
pt">________________________________________________________________________
___
_</c></p>
<p><c props="color:000000; font-family:Times New Roman; font-size:14pt;
font-style:normal;
font-weight:normal; text-decoration:none; text-position:normal">GNU
Enterprise Project              
                                                                Phone</c></p>
<p><c props="color:000000; font-family:Times New Roman; font-size:14pt;
font-style:normal;
font-weight:normal; text-decoration:none; text-position:normal">Address         
                
                                                                Fax</c></p>
<p><c props="font-size:14 pt">City, State, Zip</c><c
props="font-family:Times New Roman;
font-size:14 pt">                                                               
                
        </c><c props="color:000000; font-family:Times New Roman; font-size:14pt;
font-
style:normal; font-weight:normal; text-decoration:none;
text-position:normal">Email</c></p>
<p></p>
<p><c props="color:000000; font-family:Times New Roman; font-size:14pt;
font-style:normal;
font-weight:normal; text-decoration:none; text-position:normal">To:             
                
                        Copy to:</c></p>
<p></p>
<p></p>
<p></p>
<p><c props="color:000000; font-family:Times New Roman; font-size:14pt;
font-style:normal;
font-weight:normal; text-decoration:none; text-position:normal">Invoice
Number:                 
        Project Number:                         Date:</c></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</section>
<section id="1095691385" listid="0" parentid="0" type="header">
<p style="Normal" props="text-align:left"></p>
</section>
</abiword>

----------------------------------------------------------------------------
----------
                                  3-up label document    
(Except for a lot of precise positioning information, like margins, column
widths/start points, and line spacing, this is probably close to final.)


<?xml version="1.0"?>
<abiword version="0.7.14"  fileformat="1.0">
<!--
=====================================================================  --
>
<!-- This file is an AbiWord document.
-->
<!-- AbiWord is a free, Open Source word processor.
-->
<!-- You may obtain more information about AbiWord at www.abisource.com
-->
<!-- You should not edit this file by hand.
-->
<!--
=====================================================================  --
>

<!--         Build_ID          = (none) -->
<!--         Build_Version     = 0.7.14 -->
<!--         Build_Options     = LicensedTrademarks:Off Debug:Off BiDi:Off
Gnome:Off
LibXML:Off Pspell:Off -->
<!--         Build_Target      =
/opt/BUILD/abisuite-0.7.14/abi/src/../src/Linux_2.2.16-
22_i386_OBJ/obj -->
<!--         Build_CompileTime = 16:23:42 -->
<!--         Build_CompileDate = Apr 17 2001 -->

<pagesize pagetype="Letter" orientation="portrait" width="8.500000"
height="11.000000"
units="inch" page-scale="1.000000"/>
<section props="column-line:off; columns:3; page-margin-bottom:0.5000in;
page-margin-
footer:0.0000in; page-margin-header:0.0000in; page-margin-left:0.2000in;
page-margin-
right:0.2000in; page-margin-top:1.0000in">
<p>name 11</p>
<p>addr a 11</p>
<p>addr b 11</p>
<p></p>
<p></p>
<p></p>
<p>name 12</p>
<p>addr a 12</p>
<p>addr b 12<pbr/>name 21</p>
<p>addr a 21</p>
<p>addr b 21</p>
<p></p>
<p></p>
<p></p>
<p>name 22</p>
<p>addr a 22</p>
<p>addr b 22<pbr/>name 31</p>
<p>addr a 31</p>
<p>addr b 31</p>
<p></p>
<p></p>
<p></p>
<p>name 32 </p>
<p>addr a 32</p>
<p>addr b 32</p>
</section>
</abiword>






reply via email to

[Prev in Thread] Current Thread [Next in Thread]