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 auth=true|false 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)
<tapurl>/async
,
but it may be influenced by the chosen
interface
value,
and it can be further overridden by setting this value.
auth = true|false
(Boolean)
To use this option in non-interactive contexts,
you may want to use the
auth.username
and auth.password
system properties.
[Default: false
]
availabilityurl = <url-value>
(URL)
<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)
<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)
[Default: false
]
examplesurl = <url-value>
(URL)
<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)
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)
TAP1.0
:
The standard TAP endpoints are used,
without examining the service's capabilities document.
The service is queried using version 1.0 of the TAP protocol.
TAP1.1
:
The standard TAP endpoints are used,
without examining the service's capabilities document.
The service is queried using version 1.1 of the TAP protocol.
cap
:
The service's capabilities document is examined,
and the endpoints listed there are used.
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)
[Default: 9
]
maxtable = <int-value>
(Integer)
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)
E
, W
, I
, S
, F
with the following meanings:
E
: Error in operation or standard compliance of the service.W
: Warning that service behaviour is questionable, or contravenes a standard recommendation, but is not in actual violation of the standard.I
: Information about progress, for instance details of queries made.S
: Summary of previous successful/unsuccessful reports.F
: Failure of the validator to perform some testing. The cause is either some error internal to the validator, or some error or missing functionality in the service which has already been reported.[Default: EWISF
]
stages = [+/-]XXX ...
(String[])
TMV
: Validate table metadata against XML schemaTME
: Check content of tables metadata from /tablesTMS
: Check content of tables metadata from TAP_SCHEMATMC
: Compare table metadata from /tables and TAP_SCHEMAUUC
: Check column units and UCDs are legalCPV
: Validate capabilities against XML schemaCAP
: Check TAP and TAPRegExt content of capabilities documentAVV
: Validate availability against XML schemaQGE
: Make ADQL queries in sync GET modeQPO
: Make ADQL queries in sync POST modeQAS
: Make ADQL queries in async modeUWS
: Test asynchronous UWS/TAP behaviourMDQ
: Check table query result columns against declared metadataOBS
: Test implementation of ObsCore Data ModelLOC
: Test implementation of ObsLocTAP Data ModelEPN
: Test implementation of EPN-TAP tables (off)UPL
: Make queries with table uploadsEXA
: Check content of examples documentThis parameter can specify what stages to run in the following ways:
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)
<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)
*
"
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)
<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)
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)
[Default: 640
]