DALI 1.2 Proposed Recommendation: Request for Comments
The changes in
DALI-1.2 are primarily the inclusion of additional xtypes that can be used to add extra type information to columns (e.g. in VOTable, tap\_schema) and how such values are serialised. Also in this update: VOSI-availability is now optional as it is considered deprecated and is being removed from VOSI-next and
OpenAPI components for some key
DALI parameters are included in the specification. As always, various ambiguous statements have been clarified where needed.
Latest version of
DALI-1.2 can be found at:
Reference Interoperable Implementations
The prototype CAOM-2.5 TAP service at CADC (
https://ws.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/caom25/argus) makes use of the following xtypes (some from previous standards):
| xtype |
num_columns |
standard |
| multishape |
1 |
PR-DALI-1.2 |
| timestamp |
21 |
|
| clob |
1 |
see note |
| multiinterval |
3 |
PR-DALI-1.2 |
| point |
1 |
|
| uri |
28 |
PR-DALI-1.2 |
| shape |
3 |
PR-DALI-1.2 |
| uuid |
14 |
PR-DALI-1.2 |
| interval |
10 |
|
query: select xtype, count(*) as num_columns from tap_schema.columns where xtype is not null group by xtype.
note: the adql:REGION value was used for ivoa.ObsCore.s_region but this has been updated to use shape in this prototype; the clob value is used for ivoa.ObsCore.access_url
The production CADC TAP service (CAOM-2.4) make use of some previously proposed/discussed xtype values and will be updated to
DALI-1.2 in the near future.
Implementation Validators
TOPCAT/STILTS: Validator and implementation updates to cover all DALI 1.2 xtypes as appropriate, available in unreleased version at
http://www.star.bristol.ac.uk/mbt/releases/topcat/pre/topcat-full_dali12.jar:
- Validation:
-
taplint new stage TYP checks that column metadata is consistent with xtype declarations (e.g. xtype="interval" columns have arraysize="2").
-
votlint/taplint checks VOTable column content is consistent with xtype declarations (e.g. xtype="uuid" values match xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
- Implementation:
- Topcat shape plotting upgraded to recognise new DALI xtypes
range, shape, multishape, moc.
Comments from the IVOA Community during RFC/TCG review period: 2025-11-05 - 2025-12-17
The comments from the TCG members during the RFC/TCG review should be included in the next section.
In order to add a comment to the document, please edit this page and add your comment to the list below in the format used for the example (include your Wiki Name so that authors can contact you for further information). When the author(s) of the document have considered the comment, they will provide a response after the comment.
Additional discussion about any of the comments or responses can be conducted on the WG mailing list. However, please be sure to enter your initial comments here for full consideration in any future revisions of this document
Comments from TCG member during the RFC/TCG Review Period: 2025-11-05 - 2025-12-17
WG chairs or vice chairs must read the Document, provide comments if any (including on topics not directly linked to the Group matters) or indicate that they have no comment.
IG chairs or vice chairs are also encouraged to do the same, althought their inputs are not compulsory.
TCG Chair & Vice Chair
Section 2 - End Points: "A VOSI-capabilities endpoint is required for services registered in the IVOA registry system; the VOSI-capabilities endpoint is optional for services that are not registered or only included as auxiliary capabilities (e.g. of a data collection resource)." - Why does it have to be optional? Services either use the VO Architecture to which VOSI, which requires `capabilities` end point, is central or they don't but they are not VO Services. The `\capabilities` endpoint seems to be fundamental to interoperability in VO.
xtypes:
moc - should this be moc-2.0 or similar to allow for future versions of moc to be added later as the document states
answer: the MOC reference is limited to a specific version of MOC on the advice of the authors because an xtype has to define a specific serialization. It is true that if MOC-2.1 existed and the text of the appropriate section was the same that someone could read that standard and do the right thing... but there is also no way stable way to refer to a specific section of a standard across versions. Maybe the mention of section 4.3.2 explicitly is an editorial mistake, but I recall that more general language was easy to misinterpret given the content of the MOC standard. --
PatrickDowler 2026-02-12
shape - is this required? Can shape and multishape be merged into one xtype, i.e, shape but with the properties of multishape?
answer: Combining shape and multishape was deemed a poor design because they are two different concepts with very different implementation complexity: shape is polymorphic and multishape is a collection. If we combine these, then any service declaring support for "shape" has to support the whole thing. --
PatrickDowler 2026-02-12
multishape - this is more an observation: this only supports union operations, so more complex shapes such as polygons with holes for example, would need to be redefined and expressed as union of polygons.
answer: Yes, the syntax of multishape directly means union. This design was driven by balancing use cases and complexity and it was deemed that (fully general) holes in arbitrary shapes is not needed for the vast majority of use cases. The one we did consider is mosaic camera data: in principle there may be gaps between detectors that could be describes as small holes in the shape, or a detector could fail to read and leave a larger hole in the overall shape. We expect that one would just include a shape (rectangle) for each detector and that would naturally convey to the user the right information (note that the previous limitation that shapes in a multishape cannot overlap was removed). Yes, you cannot have a circular hole in a shape without considerable effort reformulating that as a number of polygons. Again, balancing use case coverage and complexity. --
PatrickDowler 2026-02-12
Why only 3 parameters have
OpenAPI specs?
answer: Of the 6 standard parameters, two are more or less obsolete (request and version) and one is rarely used and (in my opinion) kind of useless (runid). The 3 parameters that do have
OpenAPI descriptions are the 3 that are actively used. --
PatrickDowler 2026-02-12
Spotted a few remaining typos:
In section 2.3, first sentenced "is always accessed as a using the name". Should that be "is always accesed using the name"?
In section 2.4: "If the VOSI-availability endpoint implemented a description of this capability must be provided" should that be "If the VOSI-availability endpoint is implemented a description of this capability must be provided"?
answer: Thanks - typos fixed in
https://github.com/ivoa-std/DALI/pull/71
Otherwise I see no issues from a Radio IG perspective.
TCG Vote : 2025-12-18 - 2026-01-08
If you have minor comments (typos) on the last version of the document please indicate it in the Comments column of the table and post them in the TCG comments section above with the date.
| Group |
Yes |
No |
Abstain |
Comments |
| TCG |
|
|
|
|
| Apps |
|
|
|
|
| DAL |
|
|
|
|
| DM |
|
|
|
|
| DSP |
|
|
|
|
| Registry |
|
|
|
|
| Semantics |
|
|
|
|
| DCP |
|
|
|
|
| Edu |
|
|
|
|
| KDIG |
|
|
|
|
| Ops |
|
|
|
|
| Radio |
Yes |
|
|
|
| SSIG |
|
|
|
|
| TD |
|
|
|
|
| StdProc |
|
|
|
|