Skip to content

capabilities: add IVO ids in output formats to support TAPRegExt #153

@jontxu

Description

@jontxu

Hi, I was notified by @mbtaylor that the capabilities endpoint from our TAP service does not follow the TAPRegExt recommendation as it lacks the ivo-id attribute for the relevant output formats (outputFormat in the XML). This ID is used by some clients to interpret (for the time being) VOTable types, as shown on the recommendation: https://www.ivoa.net/documents/TAPRegExt/20120827/REC-TAPRegExt-1.0.html#outforms

Current output:

<outputFormat>
  <mime>application/x-votable+xml</mime>
  <alias>votable</alias>
</outputFormat>
<outputFormat>
  <mime>application/x-votable+xml;serialization=BINARY2</mime>
  <alias>votable/b2</alias>
</outputFormat>
<outputFormat>
  <mime>application/x-votable+xml;serialization=TABLEDATA</mime>
  <alias>votable/td</alias>
</outputFormat>

Expected (TapRegExt-supporting) output:

<outputFormat ivo-id="ivo://ivoa.net/std/TAPRegExt#output-votable-td">
  <mime>application/x-votable+xml</mime>
  <alias>votable</alias>
</outputFormat>
<outputFormat ivo-id="ivo://ivoa.net/std/TAPRegExt#output-votable-binary2">
  <mime>application/x-votable+xml;serialization=BINARY2</mime>
  <alias>votable/b2</alias>
</outputFormat>
<outputFormat ivo-id="ivo://ivoa.net/std/TAPRegExt#output-votable-td">
  <mime>application/x-votable+xml;serialization=TABLEDATA</mime>
  <alias>votable/td</alias>
</outputFormat>

Looking into the code, seems like its implementation is somewhat trivial, by adding support for a ivoId field in tap.formatter.OutputFormat (and the classes which implement it) and adding the attribute when getting the output formats when writing the capabilities in tap.resource.TAP.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions