The table output handlers supplied with STIL are listed in this
section, along with any peculiarities they have in writing a
StarTable to a destination given by a string
(usually a filename).
As described in Section 3.4, a StarTableOutput
will under normal circumstances permit output of a table in any
of these formats. Which format is used is determined by the
"format" string passed to
StarTableOutput.writeStarTable
as indicated in the following table; if a null format string
is supplied, the name of the destination string may be used
to select a format (e.g. a destination ending ".fits" will, unless
otherwise specified, result in writing FITS format).
Format string Format written Associated file extension Multiple Tables?
------------- -------------- ------------------------- ----------------
jdbc SQL database no
fits, fits-plus FITS-plus binary table .fits, .fit, .fts yes
fits-basic FITS binary table yes
fits-var FITS with var-length arrays yes
colfits Column-oriented FITS .colfits no
votable-tabledata TABLEDATA-format VOTable .xml, .vot yes
votable-binary-inline Inline BINARY-format VOTable yes
votable-binary-href External BINARY-format VOTable yes
votable-fits-inline Inline FITS-format VOTable yes
votable-fits-href External FITS-format VOTable yes
text Human-readable plain text .txt yes
ascii Machine-readable text no
csv Comma-separated value .csv no
csv-noheader Comma-sep. values, no header no
html Standalone HTML document .html, .htm yes
html-element HTML TABLE element yes
latex LaTeX tabular environment .tex no
latex-document LaTeX freestanding document no
mirage Mirage input format no
More detail on all these formats is given in the following sections.
In some cases, more control can be exercised over the exact
output format by using the format-specific table writers themselves
(these are listed in the following sections),
since they may offer additional configuration methods.
The only advantage of using a StarTableOutput to mediate
between them is to make it easy to switch between output formats,
especially if this is being done by the user at runtime.