The VOTableBuilder
class
reads VOTables; it should handle any table
which conforms to the VOTable 1.0, 1.1, 1.2, 1.3 or (draft) 1.4 specifications
(as well as quite a few which violate them).
In particular, it can deal with
a DATA element whose content is encoded using any of the serialization formats
TABLEDATA, BINARY, FITS or (for VOTable version 1.3+) BINARY2.
While VOTable documents often contain a single table, the format
describes a hierarchical structure which can contain zero or more
TABLE elements.
By default, the StarTableFactory.makeStarTable
method
will find the first one in the document for you, which in the
(common) case that the document contains only one table is just
what you want.
If you're after one of the others, identify it with a zero-based
index number after a '#' sign at the end of the table designation.
So if the following document is called 'cats.xml':
<VOTABLE> <RESOURCE> <TABLE name="Star Catalogue"> ... </TABLE> <TABLE name="Galaxy Catalogue"> ... </TABLE> </RESOURCE> </VOTABLE>then 'cats.xml' or 'cats.xml#0' refers to the "Star Catalogue" and 'cats.xml#1' refers to the "Galaxy Catalogue".
To retrieve all of the tables from a given VOTable document,
use one of the makeStarTables
methods of StarTableFactory
instead.
Much more detailed information about the VOTable I/O facilities, which can be used independently of the generic I/O described in this section, is given in Section 7.