Votlint checks that the XML input is well-formed, and, unless the
valid=false
parameter is supplied, that it validates against the
1.0 DTD or 1.1, 1.2, 1.3 or 1.4 schema as appropriate.
Some of the 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
datatype
/arraysize
attributes declared
in FIELD
FIELD
PARAM
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
attribute value on multiple elements.TIMESYS
attributes).xtype
values as defined in DALI
are checked for formal compliance with DALI requirements.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
elementsFIELD
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)FIELD
s,
though not INFO
s) with the
same name
attributesTIMESYS
elements never referenced.ucd
attribute values are not legal UCD1+ strings
(if parameter ucd=true
)unit
attribute values are not legal VOUnit strings
(if parameter unit=true
)