Voici le résultat de quelques tests de la validité des VOTables (ou des documents XML) renvoyées par les services CDS.
Date des tests : 20-21 novembre 2008
Méthodologie employée :
- Pour les VOTable : utilisation de NetBeans pour valider le document par rapport au schéma XML, puis utilisation de votlint pour des vérifications plus fines (car un VOTable bien formé peut très bien ne pas respecter le standard VOTable)
- Pour les autres documents XML : validation par rapport au schéma XML avec NetBeans
Résultats :
VizieR : (
fichier testé)
- le document est bien formé
- le document est valide par rapport au schéma XML
- VizieR utilise (ie une cellule vide) pour désigner les valeurs 'null' des champs de type "int". Ceci n'est pas (je pense) dans l'esprit du standard VOTable. Les valeurs 'null' des champs de type "boolean", "unsignedByte", "short", ou "int" devraient être décrits avec une valeur légale du type en question.
Autre remarque :
- la sortie votable-base64 de VizieR ne peut être lu par Topcat, on dirait qu'il manque des données
Simbad format VOTable : (
fichier testé)
- le document est bien formé
- la déclaration des namespace (dans le preambule) empêche la validation. Le tag VOTable racine devrait avoir cette tête :
<VOTABLE version="1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ivoa.net/xml/VOTable/v1.1 http://www.ivoa.net/xml/VOTable/v1.1"
xmlns="http://www.ivoa.net/xml/VOTable/v1.1">
- Une fois cette déclaration corrigée, l'erreur suivante est détectée :
- width="*" est incorrect. width ne peut prendre que des valeurs du type positiveInteger
- votlint détecte ensuite les problèmes suivants :
- les champs de type "int" ne peuvent avoir comme valeur une cellule vide. Il faudrait passer par le mécanisme VALUES null="..."
- les champs RA et DEC sont définis comme étant de type "double" , mais les valeurs correspondantes sont de type "char" (les valeurs sont au format sexagésimal au lieu d'être en degrés décimaux)
Simbad ConeSearch (sim-cone) (
http://simbad.u-strasbg.fr/simbad/sim-cone? ) : (
fichier testé)
- le document est bien formé
- probleme dans preambule (meme que ci dessus)
- une fois la déclaration de namespace corrigée, le document est valide
- votlint ne relève pas d'autre problème
Simbad "à plat" : (
fichier testé)
- le document est bien formé
- probleme dans preambule (idem que ci dessus, résolu depuis)
- une fois la déclaration de namespace corrigée, le document est valide
- la gestion des valeurs 'null' n'est pas faite correctement pour les champs de type "short"
Aladin client 5.018 (sauvegarde d'un plan cat. en VOTable) : (
fichier testé)
- le document est bien formé
- le document est valide
- problème potentiel de gestion des valeurs 'null' pour les champs de type "boolean", "unsignedByte", "short", ou "int"
Aladin SIAP (
http://aladin.u-strasbg.fr/cgi-bin/nph-HTTP.cgi?FORMAT=image/fits&mode=siap_atlas&out=qualifier& ) : (
fichier testé)
- le document est bien formé
- problème dans préambule empêchant validation. A remplacer par
<VOTABLE version="1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ivoa.net/xml/VOTable/v1.0 http://www.ivoa.net/xml/VOTable/v1.0"
xmlns="http://www.ivoa.net/xml/VOTable/v1.0">
- une fois cette modification effectuée : l'attribut obligatoire 'name' pour l'élément FIELD est manquant (sur tous les champs)
Sesame : (
fichier testé)
- le document est bien formé
- le schéma sesame_4.xsd est mal formé (!!). Ca a été corrigé depuis (merci François)
- la valeur du tag refPos est invalide par rapport au schéma
--
ThomasBoch - 20 Nov 2008