INFO: Given that the Si elegans GUI doesn't delete Cylinder / Cube / Hexagon when changed from one to the other, to keep values that were set, it has been relaxed in the following from choice to minOccurs="0" and maxOccurs="1", the bad part is that xmls having neither of them will also validate TODO: When upgrading to XSD1.1 check that based on shape the corresponding Cylinder / Cube / Hexagon exists INFO: Here instead of xs:all as in other elements, sequence + choice is used, since the Si elegans GUI doesn't allow to change type once an element is added, so multiple objects option is not possible TODO: When upgrading to XSD1.1 check that based on experimentCategory the corresponding chemotaxis / galvanotaxis / mechanosensation / phototaxis / termotaxis exists INFO: Given that the Si elegans GUI doesn't delete staticPointSourceConf / osmoticRing / chemotaxisQuadrants1 / chemotaxisQuadrants2 / chemotaxisQuadrants4 when changed from one to the other, to keep values that were set, it has been relaxed in the following from choice to minOccurs="0" and maxOccurs="1", the bad part is that xmls having neither of them will also validate TODO: Once set chemicalCategory or chemotaxisType for all in the Si elegans Behavioural experiment model, only leave one and set minOccurs="1" for it TODO: When upgrading to XSD1.1 check that based on chemotaxisType the corresponding staticPointSourceConf / osmoticRing / chemotaxisQuadrants1 / chemotaxisQuadrants2 / chemotaxisQuadrants4 exists INFO: Given that the Si elegans GUI doesn't delete plateTap / directTouch when changed from one to the other, to keep values that were set, it has been relaxed in the following from choice to minOccurs="0" and maxOccurs="1", the bad part is that xmls having neither of them will also validate TODO: When upgrading to XSD1.1 check that based on interactionType the corresponding plateTap or directTouch exists INFO: Given that the Si elegans GUI doesn't delete temperatureChangeInTime / pointSourceHeatAvoidance when changed from one to the other, to keep values that were set, it has been relaxed in the following from choice to minOccurs="0" and maxOccurs="1", the bad part is that xmls having neither of them will also validate TODO: When upgrading to XSD1.1 check that based on termotaxisType the corresponding pointSourceHeatAvoidance or pointSourceHeatAvoidance exists Temporal fix to support Sielegans 2016 implementation. I've defined this type since when exporting from Django Rest Framework exports it as True/False, while XSD boolean accepts true/false Male Female Hermaphrodites water gelatin agar cylinder cube hexagon Electric shocks Static point source Static point source chemicalquadrants1 chemicalquadrants2 chemicalquadrants4 osmoticring plateTap directWormTouch EYEBROW VONFREYHAIR PLATINIUMWIRE pointsourcelight linearThermalGradient temperatureChangeInTime pointsourceheatavoidance mechanosensation chemotaxis termotaxis galvanotaxis phototaxis