Next Previous Up Contents
Next: Examples
Up: taplint: Tests TAP services
Previous: taplint: Tests TAP services

B.24.1 Usage

The usage of taplint is

   stilts <stilts-flags> taplint stages=[+/-]XXX ... maxtable=<int-value>
                                 tables=<name-list> format=text|json
                                 report=[EWISF]+ maxrepeat=<int-value>
                                 truncate=<int-value> debug=true|false
                                 interface=tap1.0|tap1.1|cap
                                 syncurl=<url-value> asyncurl=<url-value>
                                 tablesurl=<url-value>
                                 capabilitiesurl=<url-value>
                                 availabilityurl=<url-value>
                                 examplesurl=<url-value>
                                 [tapurl=]<url-value>
If you don't have the stilts script installed, write "java -jar stilts.jar" instead of "stilts" - see Section 3. The available <stilts-flags> are listed in Section 2.1. For programmatic invocation, the Task class for this command is uk.ac.starlink.ttools.task.TapLint.

Parameter values are assigned on the command line as explained in Section 2.3. They are as follows:

asyncurl = <url-value>       (URL)
Sets the URL to use for the async endpoint of the TAP service. The default value would be <tapurl>/async, but it may be influenced by the chosen interface value, and it can be further overridden by setting this value.
availabilityurl = <url-value>       (URL)
Sets the URL to use for the availability endpoint of the TAP service. The default value would be <tapurl>/availability, but it may be influenced by the chosen interface value, and it can be further overridden by setting this value.
capabilitiesurl = <url-value>       (URL)
Sets the URL to use for the capabilities endpoint of the TAP service. The default value would be <tapurl>/capabilities, but it may be influenced by the chosen interface value, and it can be further overridden by setting this value.
debug = true|false       (Boolean)
If true, debugging output including stack traces will be output along with the normal validation messages.

[Default: false]

examplesurl = <url-value>       (URL)
Sets the URL to use for the examples endpoint of the TAP service. The default value would be <tapurl>/examples, but it may be influenced by the chosen interface value, and it can be further overridden by setting this value.
format = text|json       (OutputReporter)
Determines the format of the output. Possible values are text, json.

Note not all of the other parameters may be applicable to all output formats.

[Default: text]

interface = tap1.0|tap1.1|cap       (String)
Defines how the service endpoints and the version of the TAP protocol to use for queries is determined. This may take one of the following (case-insensitive) values:

The capabilities document, if used, is read from tapurl/capabilities unless the capabilitiesurl parameter is defined, in which case that is used.

The baseline value of all the TAP service endpoints (sync, async, tables, capabilities, examples) are determined by this parameter, but each of those endpoint values may be overridden individually by other endpoint-specific parameters (syncurl, asyncurl, tablesurl, capabilitiesurl, availabilityurl, examplesurl)

For default (unauthenticated) access, the default value is usually suitable.

[Default: cap]

maxrepeat = <int-value>       (Integer)
Puts a limit on the number of times that a single message will be repeated. By setting this to some reasonably small number, you can ensure that the output does not get cluttered up by millions of repetitions of essentially the same error.

[Default: 9]

maxtable = <int-value>       (Integer)
Limits the number of tables from the service that will be tested. Currently, this only affects stage MDQ. If the value is left blank (the default), or if it is larger than the number of tables actually present in the service, it will have no effect.
report = [EWISF]+       (String)
Letters indicating which message types should be listed. Each character of the string is one of the letters E, W, I, S, F with the following meanings:

[Default: EWISF]

stages = [+/-]XXX ...       (String[])
Determines the validation stages which the validator will peform. Each stage is represented by a short code, as follows:

This parameter can specify what stages to run in the following ways:

So "TME CAP" will run only Table Metadata and Capability stages, while "-EXA -UPL" will run all the default stages apart from Examples and Upload. The order in which stages are listed is not significant.

Note that removing some stages may affect the operation of others; for instance table metadata is acquired from the metadata stages, and avoiding those will mean that later stages which use the table metadata to pose queries will not be able to do so with knowledge of the database schema.

syncurl = <url-value>       (URL)
Sets the URL to use for the sync endpoint of the TAP service. The default value would be <tapurl>/sync, but it may be influenced by the chosen interface value, and it can be further overridden by setting this value.
tables = <name-list>       (String)
If supplied, this specifies a list of tables to test. It may be set to a space- or comma-separated list of table names for consideration; any tables not covered by this list are mostly ignored for the purposes of reporting. Matching against table names is case-insensitive, and the asterisk character "*" may be used as a wildcard to match any sequence of characters. Note that matching is against the declared table name which may or may not include a schema name prefix depending on service behaviour.

By default this parameter is not set, which means that all tables are considered.

tablesurl = <url-value>       (URL)
Sets the URL to use for the tables endpoint of the TAP service. The default value would be <tapurl>/tables, but it may be influenced by the chosen interface value, and it can be further overridden by setting this value.
tapurl = <url-value>       (URL)
The base URL of a Table Access Protocol service. This is the bare URL without a trailing "/[a]sync".

In the usual case, the default values of the various endpoints (sync and async query submission, tables metadata, service-provided examples etc) use this URL as a parent and append standard sub-paths.

In some cases however, determination of the endpoints is more complicated, as determined by the interface parameter which may cause endpoints to be read from the capabilities document at tapurl/capabilities, and by other endpoint-specific parameters (syncurl, asyncurl, tablesurl, capabilitiesurl, availabilityurl, examplesurl) for fine tuning.

truncate = <int-value>       (Integer)
Limits the line length written to the output.

[Default: 640]


Next Previous Up Contents
Next: Examples
Up: taplint: Tests TAP services
Previous: taplint: Tests TAP services

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