Next Previous Up Contents
Next: TABLE element output
Up: Writing VOTables
Previous: Generic table output

#### 7.4.2 Single VOTable output

The simplest way to output a table in VOTable format is to use a `VOTableWriter`, which will output a VOTable document with the simplest structure capable of holding a TABLE element, namely:

        <VOTABLE version='1.0'>
          <RESOURCE>
            <TABLE>
              <!-- .. FIELD elements here -->
              <DATA>
                <!-- table data here -->
              </DATA>
            </TABLE>
          </RESOURCE>
        </VOTABLE>

The writer can be configured/constructed to write its output in any of the formats described in Section 7.2 (TABLEDATA, inline FITS etc) by using its `setDataFormat` and `setInline` methods. In the case of streamed output which is not inline, the streamed (BINARY or FITS) data will be written to a with a name similar to that of the main XML output file.

Assuming that you have your `StarTable` ready to output, here is how you could write it out in two of the possible formats:

        void outputAllFormats( StarTable table ) throws IOException {

            // Create a default StarTableOutput, used for turning location
            // strings into output streams.
            StarTableOutput sto = new StarTableOutput();

            // Obtain a writer for inline TABLEDATA output.
            VOTableWriter voWriter =
                new VOTableWriter( DataFormat.TABLEDATA, true, VOTableVersion.V13 );

            // Use it to write the table to a named file.
            voWriter.writeStarTable( table, "tabledata-inline.xml", sto );

            // Modify the writer's characteristics to use it for referenced FITS output.
            voWriter.setDataFormat( DataFormat.FITS );
            voWriter.setInline( false );

            // Use it to write the table to a different named file.
            // The writer will choose a name like "fits-href-data.fits" for the
            // actual FITS file referenced in the XML.
            voWriter.writeStarTable( table, "fits-href.xml", sto );
        }

Next Previous Up Contents
Next: TABLE element output
Up: Writing VOTables
Previous: Generic table output

STIL - Starlink Tables Infrastructure Library
Starlink User Note252
STIL web page: http://www.starlink.ac.uk/stil/
Author email: m.b.taylor@bristol.ac.uk