cds-astro / cds-votable-rust

Library to read/write VOTables in Rust and to convert them in JSON, YAML, TOML and back to XML.
Apache License 2.0
5 stars 1 forks source link

Unexpected starting tag DEFINITIONS when parsing a VOTABLE #6

Closed bmatthieu3 closed 1 year ago

bmatthieu3 commented 1 year ago

I encounter this error when parsing the votable given by: https://alasky.cds.unistra.fr/cgi/JSONProxy?url=https%3A%2F%2Falasky.unistra.fr%2Fcgi%2Fsimbad-flat%2Fsimbad-cs.py%3Ftarget%3D13%252058%252035.242%252B37%252026%252012.95%26SR%3D1%26format%3Dvotable%26SRUNIT%3Ddeg%26SORTBY%3Dnbref

The error message is the following: Error parsing votable: UnexpectedStartTag([68, 69, 70, 73, 78, 73, 84, 73, 79, 78, 83], "VOTABLE")

The start tag named DEFINITIONS seems to be the reason why the parsing is failing. Maybe we could have an optional boolean parameter 'relaxed' when calling the parsing and in which we could discard those types of problems: (this one and maybe the one for PARAMS tags where not specifying a value keyword is invalid. In the relaxed mode it could pass by setting the value to "" when not specified)

rsav commented 1 year ago

Hi Matthieu, I have noticed that problem for a while using the validation system we run at PADC, where it generates a warning for 26k+ VizieR services. Indeed DEFINITIONS in VOTABLE is deprecated in VOTable 1.1 (see https://www.ivoa.net/documents/VOTable/20040811/REC-VOTable-1.1-20040811.html#ToC19) but VizieR still uses it in its ConeSearch services to encapsulate the COOSYS element. DEFINITIONS should be in RESOURCES.

fxpineau commented 1 year ago

Done in 81f8c481dca03f1766ab1d922c64e9726c29ef52 and release v0.2.2, with the VOTable added in tests.