Next Previous Up Contents
Next: xsdvalidate: Validates against XML Schema
Up: votlint: Validates VOTable documents
Previous: Items Checked

### B.49.3 Examples

Here is a brief example of running `votlint` against a (very short) imperfect VOTable document. If the document looks like this:

      <VOTABLE version="1.1">
       <RESOURCE>
        <TABLE nrows="2">
         <FIELD name="Identifier" datatype="char"/>
         <FIELD name="RA" datatype="double"/>
         <FIELD name="Dec" datatype="double"/>
         <DESCRIPTION>A very small table</DESCRIPTION>
         <DATA>
          <TABLEDATA>
           <TR>
            <TD>Fomalhaut</TD>
            <TD>344.48</TD>
            <TD>-29.618</TD>
            <TD>HD 216956</TD>
           </TR>
          </TABLEDATA>
         </DATA>
        </TABLE>
       </RESOURCE>
      </VOTABLE>

then the output of a `votlint` run looks like this:

      INFO (l.4): No arraysize for character, FIELD implies single character
      ERROR (l.7): Element "TABLE" does not allow "DESCRIPTION" here.
      WARNING (l.11): Characters after first in char scalar ignored (missing arraysize?)
      WARNING (l.15): Wrong number of TDs in row (expecting 3 found 4)
      ERROR (l.18): Row count (1) not equal to nrows attribute (2)

(Note that the details of the reports will vary according to the XML parser/validator that forms part of your Java installation.)

Note also that the warning at line 11 has resulted from the same error as the one at line 4 - because the `FIELD` element has no `arraysize` attribute, `arraysize="1"` (single character) is assumed, while the author almost certainly intended `arraysize="*"` (unknown length string).

By examining these warnings you can see what needs to be done to fix this table up. Here is what it should look like:

      <VOTABLE version="1.1">
       <RESOURCE>
        <TABLE nrows="1">                                <!-- change row count -->
         <DESCRIPTION>A very small table</DESCRIPTION>   <!-- move DESCRIPTION -->
         <FIELD name="Identifier" datatype="char"
                                  arraysize="*"/>        <!-- add arraysize -->
         <FIELD name="RA" datatype="double"/>
         <FIELD name="Dec" datatype="double"/>
         <DATA>
          <TABLEDATA>
           <TR>
            <TD>Fomalhaut</TD>
            <TD>344.48</TD>
            <TD>-29.618</TD>
           </TR>                                         <!-- remove extra TD -->
          </TABLEDATA>
         </DATA>
        </TABLE>
       </RESOURCE>
      </VOTABLE>

When fed this version, `votlint` gives no warnings.

Next Previous Up Contents
Next: xsdvalidate: Validates against XML Schema
Up: votlint: Validates VOTable documents
Previous: Items Checked

STILTS - Starlink Tables Infrastructure Library Tool Set
Starlink User Note256
STILTS web page: http://www.starlink.ac.uk/stilts/
Author email: m.b.taylor@bristol.ac.uk
Mailing list: topcat-user@jiscmail.ac.uk