Erratum: schema-loop in scope van zaak-vraagberichten

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

7 reacties / 0 nieuw
Henri Korver
Erratum: schema-loop in scope van zaak-vraagberichten

In het scope-element van zakLv01 t/m zakLv10 berichten zit een oneindige loop in het schema omdat er wordt verwezen naar het basis-entiteit WOZ-basis:

scope/heeftBetrekkingOp/gerelateerde/wozWaarde/isVoor/gerelateerde[BG:WOZ-basis]/historieMaterieel[BG:WOZ-basis]

Schema-validatie en codegeneratie kan daar prima tegen, vandaar dat het nog niet eerder is opgemerkt, alleen berichtgeneratie blijft hangen in een oneindige loop. De loop is eenvoudig te elimineren door in de tweede gerelateerde in bovenstaand pad het complexType BG:WOZ-basis te restricten naar BG:WOZ-kerngegevens of iets dergelijks.

Robert Melskens

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

Robert Melskens

Tijdens de StUF Expertgroep van 20 januari 2016 is aangegeven dat het schema aangescherpt gaat worden. De wijze waarop zal echter eerst op het forum worden geplaatst. 

Henri Korver

De oneindige loop kan worden doorbroken door in het volgende complexType:

<complexType name="WRDWOZ-zkn-basis">
  <complexContent>
   <restriction base="BG:WRDWOZ-basis">
    <sequence>
     <element name="gerelateerde" type="BG:WOZ-basis" nillable="true" minOccurs="0"/>
    </sequence>
   </restriction>
  </complexContent>
 </complexType>

het type "BG:WOZ-basis" te vervangen door "BG:WOZ-kerngegevens".

 

Robert Melskens

Tijdens de StUF Expertgroep van 18 mei 2016 heeft Henri uitgelegd dat deze aanscherping handig is voor testdoeleinden. Maarten heeft vervolgens duidelijk gemaakt dat het probleem hem zit in het 'isVoor' element. De StUF Expertgroep heeft het voorstel voor de oplossing van dit erratum daarop nog niet goedgekeurd.

Henri Korver

Bij deze een nieuw voorstel om de loop te doorbreken: vervang in het onderstaande complexType in het element "wozWaarde" het type "BG:WRD-zkn-basis" door "BG:WRD-zkn-antwoord".

<complexType name="OBJ-gerelateerdeVraagScope">
  <complexContent>
   <restriction base="ZKN:OBJ-basis">
    <choice minOccurs="0">
     <choice minOccurs="0" maxOccurs="31">
      <element name="adres" type="BG:AOA-zkn-basis" nillable="true"/>
      <element name="besluit" type="ZKN:BSL-inOBJ" nillable="true"/>
      <element name="buurt" type="BG:BRT-zkn-basis" nillable="true"/>
      <element name="enkelvoudigDocument" type="ZKN:EDC-inOBJ" nillable="true"/>
      <element name="gemeente" type="BG:GEM-zkn-basis" nillable="true"/>
      <element name="gemeentelijkeOpenbareRuimte" type="BG:GOR-zkn-basis" nillable="true"/>
      <element name="huishouden" type="BG:HHD-zkn-basis" nillable="true"/>
      <element name="inrichtingselement" type="BG:IRE-zkn-basis" nillable="true"/>
      <element name="kadastraleOnroerendeZaak" type="BG:KOZ-zkn-basis" nillable="true"/>
      <element name="kunstwerkdeel" type="BG:KWD-zkn-basis" nillable="true"/>
      <element name="maatschappelijkeActiviteit" type="BG:MAC-zkn-basis" nillable="true"/>
      <element name="medewerker" type="ZKN:MDW-inOBJ" nillable="true"/>
      <element name="natuurlijkPersoon" type="BG:NPS-zkn-OBJ-vraag" nillable="true"/>
      <element name="nietNatuurlijkPersoon" type="BG:NNP-zkn-OBJ-vraag" nillable="true"/>
      <element name="openbareRuimte" type="BG:OPR-zkn-basis" nillable="true"/>
      <element name="organisatorischeEenheid" type="ZKN:OEH-inOBJ" nillable="true"/>
      <element name="pand" type="BG:PND-zkn-basis" nillable="true"/>
      <element name="samengesteldDocument" type="ZKN:SDC-inOBJ"/>
      <element name="spoorbaandeel" type="BG:SBD-zkn-basis" nillable="true"/>
      <element name="status" type="ZKN:STA-inOBJ" nillable="true"/>
      <element name="terreindeel" type="BG:TDL-zkn-basis" nillable="true"/>
      <element name="terreinGebouwdObject" type="BG:TGO-zkn-basis" nillable="true"/>
      <element name="vestiging" type="BG:VES-zkn-OBJ-vraag" nillable="true"/>
      <element name="waterdeel" type="BG:WDL-zkn-basis" nillable="true"/>
      <element name="wegdeel" type="BG:WGD-zkn-basis" nillable="true"/>
      <element name="wijk" type="BG:WYK-zkn-basis" nillable="true"/>
      <element name="woonplaats" type="BG:WPL-zkn-basis" nillable="true"/>
      <element name="wozDeelobject" type="BG:WDO-zkn-basis" nillable="true"/>
      <element name="wozObject" type="BG:WOZ-zkn-basis" nillable="true"/>
      <element name="wozWaarde" type="BG:WRD-zkn-basis" nillable="true"/>
      <element name="zakelijkRecht" type="BG:ZKR-zkn-basis" nillable="true"/>
     </choice>
    </choice>
    <attribute ref="StUF:entiteittype" use="prohibited"/>
   </restriction>
  </complexContent>
 </complexType>

In het type "BG:WRD-zkn-antwoord" wordt de recursie gebroken in het type van het element "isVoor"

<complexType name="WRD-zkn-antwoord">
  <complexContent>
   <restriction base="BG:WRD-zkn-basis">
    <sequence>
     <element name="waardepeildatum" type="BG:Peildatum-e" nillable="true" minOccurs="0"/>
     <element name="vastgesteldeWaarde" type="BG:Maateenheid11-e" nillable="true" minOccurs="0"/>
     <element ref="StUF:extraElementen" minOccurs="0"/>
     <element name="isVoor" type="BG:WRDWOZ-zkn-kerngegevens" nillable="true" minOccurs="0"/>
    </sequence>
    <attribute ref="StUF:noValue" use="prohibited"/>
    <attribute ref="StUF:verwerkingssoort" use="prohibited"/>
    <attribute ref="StUF:entiteittype" use="required" fixed="WRD"/>
   </restriction>
  </complexContent>
</complexType>

 

Robert Melskens

Tijdens de StUF Expertgroep van 15 juni 2016 is het laatste voorstel goedgekeurd. Het zal worden opgenomen in patch 25.