Layout Engines
DataVision uses layout engines to generate
different output formats. A layout engine is responsible for creating
output when a report runs. That output may be a file, a window on a screen,
or an interpretive dance (not yet implemented).
Available Layout Engines
DocBook This engine produces a DocBook document with a
.sgml file name extension.
HTML The HTML layout engine produces an HTML file. It contains a
single table that displays the report data.
Java Swing This layout engine does not produce a file. Rather, it
displays the results of the report in a GUI window. This is the layout
engine used when you select Run Report... from
the Report menu.
LaTeX This layout engine produces a .tex file
containing LaTeX2e commands. These commands can be further processed to
create a .dvi file containing device independent display
commands. Many different programs are available to display this file, print
it, or turn this file into PDF, HTML, text, PostScript, and more.
The only paper sizes supported by the LaTeX layout engine are those
supported by LaTeX2e: A4, A5, B5, US Letter, US Legal, and Executive. Any
other paper selection in DataVision will use the default LaTeX paper size,
which is US Letter.
PDF This one generates a PDF file with a .pdf file
name extension.
The only fonts supported by the PDF layout engine are the 14 Type 1
``base'' fonts:
- Courier
- Courier-Bold
- Courier-BoldOblique
- Courier-Oblique
- Helvetica
- Helvetica-Bold
- Helvetica-BoldOblique
- Helvetica-Oblique
- Times-Roman
- Times-Bold
- Times-Italic
- Times-BoldItalic
- Symbol
- ZapfDingbats
Any other font used by a report will appear in the PDF file as Times
(roman, bold, or italic).
Tab- and comma-delimited Generates either tab- or comma-delimited
ASCII data files. Comma-delimited file names usually use end with
.csv; tab-delimited files often end with .txt or
.tab.
XML The XML layout engine produces---surprise---XML. Aside from
being buzzword of the month, XML is a useful text-based data format.
Supported Features
This tables shows which layout engines support which features. ``Y'' = yes,
``N'' = no, ``P'' = partial support, ``T'' = text only (for example, an
image's URL instead of the image itself).
Name |
Images |
Borders |
Lines |
Formatting |
Color |
Alpha (Transparency) |
Char Sep (tab, comma) |
N |
N |
N |
N |
N |
N |
DocBook |
N |
N |
N |
P |
N |
N |
HTML |
Y |
P |
N |
Y |
Y |
N |
LaTeX |
N |
Y |
Y |
Y |
N |
N |
PDF |
N |
N |
N |
P |
Y |
N |
Swing |
Y |
Y |
N |
Y |
Y |
Y |
XML |
T |
N |
N |
N |
N |
N |
Creating a New Layout Engine
UTSL (Use The Source, Luke). The best documentation for
creating a layout engine is the Java API documentation for the
LayoutEngine class and the source code for the other layout
engines.