Votlint checks that the XML input is well-formed, and, unless the
-novalid flag is supplied, that it validates against the
1.0 or 1.1 (as appropriate) DTD. Although VOTable 1.1 is properly
defined against an XML Schema rather than a DTD, in conjunction with
the other checks done, the DTD validation turns out to be pretty comprehensive.
Some of the DTD validity checks are also done by
votlint internally, so that some validity-type
errors may give rise to more than one warning.
In general, the program errs on the side of verbosity.
In addition to these checks, the following checks are carried out, and lead to ERROR reports if violations are found:
TD contents incompatible with FIELD declared
datatype/arraysize attributesFIELD
metadataPARAM values incompatible with declared
datatype/arraysize
arraysize declarationsTD elements with the wrong number of elementsPARAM values with the wrong number of
elementsnrows attribute on TABLE element different
from the number of rows actually in the tableVOTABLE version attribute is unknownref attributes without matching ID elements
elsewhere in the documentID on multiple elements.Additionally, the following conditions, which are not actually forbidden by the VOTable standard, will generate WARNING reports. Some of these may result from harmless constructions, but it is wise at least to take a look at the input which caused them:
TD elements in row of TABLEDATA
tableTABLE with no FIELD eleementsFIELD or PARAM elements with
datatype of either
char or unicodeChar
and undeclared arraysize -
this is a common error which can result in
ignoring all but the first character in TD elements from
a columnref attributes which reference other elements by
ID where the reference makes no, or questionable sense
(e.g. FIELDref references FIELD in a
different table)FIELDs) with the
same name attributes