MACVES antwoord gerelateerde met meerdere handelsnamen

Dit is een statische kopie van het eerdere discussie.kinggemeenten.nl.
Nieuwe discussies kunnen in de GitHub repository 'StUF standaarden' als issue worden opgevoerd.

3 reacties / 0 nieuw
André van den N...
MACVES antwoord gerelateerde met meerdere handelsnamen

We lopen met StUFBG 0301 tegen het volgende probleem aan. Bij de MAC bevraging wordt kunnen meerdere handelsnamen teruggegeven worden. Zie hieronder een voorbeeld bericht met 2 handelsnamen, maar dat kunnen er ook bv 30 zijn. Deze manier van een lijst doorgeven wordt door leveranciers die de informatie moet tonen als onhandig ervaren:
               <handelsnaam xmlns="http://www.egem.nl/StUF/sector/bg/0310">Jacob Fietsenmaker</handelsnaam>
               <volgorde xmlns="http://www.egem.nl/StUF/sector/bg/0310">1</volgorde>
               <handelsnaam xmlns="http://www.egem.nl/StUF/sector/bg/0310">Jacob Fietsencentrale</handelsnaam>
               <volgorde xmlns="http://www.egem.nl/StUF/sector/bg/0310">2</volgorde>
Het is toegestaan vanwege de volgende constructie:
<sequence minOccurs="0" maxOccurs="unbounded">
            <element name="handelsnaam" type="BG:Handelsnaam-e" nillable="true" minOccurs="0"/>
            <element name="handelsnaamVerkort" type="BG:HandelsnaamVerkort-e" nillable="true" minOccurs="0"/>
            <element name="volgorde" type="BG:Maateenheid6-e" nillable="true" minOccurs="0"/>
</sequence>
Maar waarom is bij meer dan 1 handelsnaam voor een sequence constructie met een maxOccurs gekozen ? Dit wijkt visueel al af en
is code-technisch lastig te implemteren.
Veel logischer is een implementatie via een lijst :
<element name="handelsnamen" type="BG:Handelsnamen" nillable="true" minOccurs="0"/>
met
<complexType name="Handelsnamen">
 <sequence>
   <element name="handelsnaam" type="BG:HandelsnaamIdentificatie" maxOccurs="unbounded"/>
 </sequence>
</complexType>
<complexType name="HandelsnaamIdentificatie">
 <sequence>
  <element name="handelsnaamVolledig" type="BG:Handelsnaam-e" nillable="true" minOccurs="0"/>
  <element name="handelsnaamVerkort" type="BG:HandelsnaamVerkort-e" nillable="true" minOccurs="0"/>
  <element name="volgorde" type="BG:Maateenheid6-e" nillable="true" minOccurs="0"/>
 </sequence>
</complexType>
dit geeft
<!--Optional:-->
<ns:handelsnamen>
 <!--1 or more repetitions:-->
 <ns:handelsnaam>
  <!--Optional:-->
  <ns:handelsnaamVolledig stuf:noValue="?" stuf:exact="true">?</ns:handelsnaamVolledig>
  <!--Optional:-->
  <ns:handelsnaamVerkort stuf:noValue="?" stuf:exact="true">?</ns:handelsnaamVerkort>
  <!--Optional:-->
  <ns:volgorde stuf:noValue="?" stuf:exact="true">?</ns:volgorde>
    </ns:handelsnaam>
</ns:handelsnamen>
of in ieder geval de iets minder goede oplossing van een herhaling van handelsnaam net zoals bv de definitie van activiteit:
<!--Zero or more repetitions:-->
<ns:handelsnaam>
 <!--Optional:-->
 <ns:handelsnaamVolledig stuf:noValue="?" stuf:exact="true">?</ns:handelsnaamVolledig>
 <!--Optional:-->
 <ns:handelsnaamVerkort stuf:noValue="?" stuf:exact="true">?</ns:handelsnaamVerkort>
 <!--Optional:-->
 <ns:volgorde stuf:noValue="?" stuf:exact="true">?</ns:volgorde>
</ns:handelsnaam>
via
<element name="handelsnamen" type="BG:HandelsnaamIdentificatie" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
met
<complexType name="HandelsnaamIdentificatie">
 <sequence>
  <element name="handelsnaamVolledig" type="BG:Handelsnaam-e" nillable="true" minOccurs="0"/>
  <element name="handelsnaamVerkort" type="BG:HandelsnaamVerkort-e" nillable="true" minOccurs="0"/>
  <element name="volgorde" type="BG:Maateenheid6-e" nillable="true" minOccurs="0"/>
 </sequence>
</complexType>

André van den N...

Laten we afspreken dat we geen sequence met maxOccurs > 1 toepassen maar dan altijd overgaan tot een complexType zodat developers niet zelf een lijst moeten gaan bouwen.

Issue Manager

Dit ONV is opgevoerd in de onderhoudsverzoeken als ONV0506.
De lijst met onderhoudsverzoeken vind je op:
gemmaonline.nl/index.php/StUF-Expertgroep#Documenten