NAME
LogFile::XML - Perl module for writing creating an OpenOffice Calc document.
SYNOPSIS
use LogFile::XML;
write_calc_document ("test.sxc", { name => "table-name", data => [ ["first row", 1], ["second row", 2], ["third row", 3] ] } );
will generate a XML file readable by the OpenOffice Calc that consists of one page named ``table-name'' containing a table consisting of two columns and three rows.
DESCRIPTION
Generates a XML file in OpenOffice Calc format. The file contains a zipped collection of three files: META-INF/manifest.xml, meta.xml, and content.xml.
A call to write_calc_document
is passed the name of the zip file to
create and a data structure that contains the data to be written in
Calc XML format. This data structure is a reference to an array of
data tables. Each data table is written as a distinct Calc page and
has to contain the following elements in a hash reference:
- title
- The title of the page.
- name
- The name of the page.
- threadid
- The id of the thread.
- prefix
- A prefix given to all XML names. With this table specific styles can be referenced.
- colcount
- the number of columns in the resulting table.
- widths (optional)
- A reference to an array of column widths. They widths have to be specified by numbers that give the widths in centimeters.
- headline
- A reference to an array of column descriptions. The number of descriptions may be different from colcount.
- data
- The actual data, an referenced array of array references. This specifies a two-dimensional array arranged in rows and then in columns.
CUSTOMIZATION
The variables $ZipCmd
and $ZipFlags
are required to contain the
name of the executable binary of the zip program and a set of suitable
arguments. They are initialized from the environment variables
LOG_FILE_ZIP_CMD and LOG_FILE_ZIP_FLAGS respectively. If the environment
variables are not set then the values ``zip'' and ``'' are used as a default.
INTERNALS
The functions tag
, enter
, and leave
provide easy means of writing
correctly nested and indented tags with arbitrary arguments.
The manifest is taken care of if you create it with create_manifest
, add all
files making up the document with add_file
and finally write it
with write_manifest
.
Files are created with open_file
relative to a temporary directory. When the
script terminates the temporary directory together with all files in it, is
deleted.
The special files meta.xml and manifest.xml are written with the
functions write_meta
and write_manifest
.
The actual calc document is written with a cascade of functions:
Colors
You can change the backround colors of cells by changing the values of the
variable %Color
.
Indentation
The indentation is specified by the string in $IndentationString
which defaults to two spaces.
AUTHOR
Andre Fischer <andre.w.fischer@sun.com>.