Henk Timmermans maakte me erop attent dat de formulering rond choices nog niet helemaal scherp was in de errata voor StUF0301. Ik stel daarom voor om een onderstaande paragraaf toe te voegen.
3.4.3 Het opnemen van een choice
Voor een <choice> element dient gekozen te worden welke tak in het bericht wordt opgenomen. In het bericht wordt de tak opgenomen waarbinnen elementen of relaties met een geldige waarde voorkomen. In principe is dit vanuit het domeinmodel slechts voor één tak het geval. Als toch voor meerdere takken geldige waarden mogelijk zijn, dan dient het sectormodel te specificeren welke van deze takken in het bericht opgenomen moet worden.
Als geen van de takken in de <choice> een element of relatie met een geldige waarde bevat en het <choice> element zelf is niet verplicht, dan wordt geen van de takken in het bericht opgenomen.
Wanneer
- een <choice> element verplicht is,
- binnen de <choice> in één of meer takken elementen verplicht zijn vanuit het schema of vanuit voorschriften in de standaard of het sectormodel en
- binnen geen enkele tak een element of een relatie met een geldige waarde voorkomt,
dan moet een willekeurige tak met een verplicht element binnen de <choice> in het bericht worden opgenomen en binnen deze tak dienen de verplichte elementen gevuld te worden met xsi:nil=true en StUF:noValue=waardeOnbekend.
De bovenstaande regels impliceren dat een <choice> verplicht dient te zijn in een kennisgevingbericht, waarbinnen kerngegevens voorkomen in minimaal één van de takken."
Ik stel voor dat de tweede alinea onder tabel 5.4 wordt aangevuld met een verwijzing naar deze paragraaf (in blauw).
"Indien één of meer kerngegevens binnen een <choice> voorkomen, dan dient de tak van de <choice> met daarbinnen elementen (mogen ook niet-kernelementen zijn) waarvoor een waarde bekend is te worden opgenomen. Het gebruik van een <choice> impliceert dat dit voor hooguit één tak van de <choice> het geval is. Indien geen van de takken van de <choice> een element bevat waarvoor een waarde bekend is, bevat dan dient precies één tak van de <choice> te worden opgenomen met daarbinnen voor alle elementen voor een kerngegeven xsi:nil=true en StUF:noValue=waardeOnbekend, zie ook paragraaf 3.4.3."
Maarten,
Het leest af en toe wat vreemd dus ik heb even de paragraaf aangepast zodat het n.m.m. wat beter leesbaar is (zie onder).
3.4.3 Het opnemen van een choice
Bij een <choice> element dient gekozen te worden welke tak van de choice in het bericht opgenomen moet worden. In het bericht wordt die tak opgenomen waarvoor geldt dat er voor de elementen of relaties een geldige waarde voorkomt. In principe is dit vanuit het domeinmodel slechts voor één tak het geval. Als toch voor meerdere takken geldige waarden bestaan, dan dient het sectormodel te specificeren welke tak in het bericht opgenomen moet worden.
Als voor geen van de takken in de <choice> geldt dat er een element of relatie met een geldige waarde voorkomt en het <choice> element zelf is niet verplicht, dan wordt geen van de takken in het bericht opgenomen.
Wanneer
dan moet een willekeurige tak met een verplicht element binnen de <choice> in het bericht worden opgenomen en binnen deze tak dienen de verplichte elementen gevuld te worden met xsi:nil=true en StUF:noValue=waardeOnbekend.
In de tekst hieronder moet het vette woord worden verwijderd. Helaas is strikethrough niet beschikbaar.
Robert,
Bedankt voor je commentaar. Ik heb je wijzigingen allemaal overgenomen.
Maarten