Development #55721
caluire axel, modifier l'xsd pour autoriser les éléments de <GETFAMILLE> peu importe leur ordre
0%
Description
De #55711#note-6,
[...] on reçoit dans GETFAMILLE : CODE, MEMBRE, RESPONSABLE1, RESPONSABLE2, MEMBRE
Or le schéma impose une séquence dans l'ordre : CODE, RESPONSABLE1, RESPONSABLE2, MEMBRE, MEMBRE, ...
<xsd:complexType xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="GETFAMILLEType"> <xsd:sequence> <xsd:element ref="CODE" /> <xsd:element maxOccurs="1" minOccurs="0" ref="RESPONSABLE1" /> <xsd:element maxOccurs="1" minOccurs="0" ref="RESPONSABLE2" /> <xsd:element maxOccurs="unbounded" minOccurs="0" ref="MEMBRE" /> </xsd:sequence> </xsd:complexType>
Donc il semble que le XML répondu est foiré, thanks you Teamnet.
Fichiers
Révisions associées
caluire-axel: allow GETFAMILLE elements in any order (#55721)
Historique
Mis à jour par Frédéric Péters il y a presque 3 ans
- Fichier 0001-caluire-axel-allow-GETFAMILLE-elements-in-any-order-.patch 0001-caluire-axel-allow-GETFAMILLE-elements-in-any-order-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
(basiquement l'idée) (il y a plein de xsd:sequence mais je ne me lance pas dans une modification préventive partout).
Mis à jour par Frédéric Péters il y a presque 3 ans
Modulo qu'on ne peut pas avoir de maxOccurs="unbounded" dans un xsd:all, donc peut-être
<xsd:complexType name="GETFAMILLEType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="CODE" /> <xsd:element ref="RESPONSABLE1" /> <xsd:element ref="RESPONSABLE2" /> <xsd:element ref="MEMBRE" /> </xsd:choice> </xsd:complexType>
(sur le fond on sait quand même que souvent en face le logiciel ne bougera pas et fournira du contenu qui ne se conforme pas au schéma, on devrait avoir de quoi survivre sans aller modifier).
Mis à jour par Frédéric Péters il y a presque 3 ans
- Fichier 0001-caluire-axel-allow-GETFAMILLE-elements-in-any-order-.patch 0001-caluire-axel-allow-GETFAMILLE-elements-in-any-order-.patch ajouté
Patch qui passe mais je n'ai perso rien regardé d'autre que le résultat de jenkins.
Mis à jour par Thomas Noël il y a presque 3 ans
- Fichier 0001-caluire-axel-add-test-for-misordered-GETFAMILLE-5572.patch 0001-caluire-axel-add-test-for-misordered-GETFAMILLE-5572.patch ajouté
- Statut changé de Solution proposée à Solution validée
J'ai lancé les tests en bidouillant d'abord tests/data/caluire_axel/family_info.xml pour poser le premier MEMBRE au dessus de RESPONSABLE1, sans problème.
Si j'étais moins flemme j'écrirais un vrai test.
Et pas sommeil. Voilà j'ai poussé dans la branche le commit ci-joint, avec juste un test.
Mis à jour par Thomas Noël il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 46c6fbe4f691ef46af7ddb791976e62961bbc00d Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Jul 20 19:17:31 2021 +0200 caluire-axel: allow GETFAMILLE elements in any order (#55721)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
caluire-axel: allow GETFAMILLE elements in any order (#55721)