Closed jarleborsheim closed 2 years ago
Så lenge vi er sikker på at tallet er innenfor 32 bit. Det blir uansett feil å mappe til string. Integer kan være både int og long. Er vi usikker er vel long best. Men jeg kommer ikke på noen i farta der 32 bit er for lite.
Tenker vi at vi fikser det i generatoren eller i xsd? I og med at vi nå har tatt "eierskap" over metadatakatalog og har en ny versjon av den så kunne vi kanskje vurdere å fikse det der.
Har ingen sterke meninger her, men uansett blir integer til string feil.
Vi endrer i generatoren
Dette var ikke like enkelt som som først antatt. Da jeg endret det i generatoren slik at den tolket xs:integer til C# int så fikk jeg trøbbel med serialisering og deserialisering slik koden var i validator, integrasjonstester osv. Jeg tok bort igjen dette og må ta en ny titt på det.
Denne skal være løst og vi stenger saken
Vi fikk en issue i protokollen Fiks-Matrikkelføring da det er kun brukt xs:integer i xsd'ene for den protokollen. Utfordringen er at xsd.exe og vår generator vil mappe det til datatypen string i C# koden hvis man ikke gjør en aktiv konfigurering for å si at den skal være av typen int.
I de fleste av xsd'ene våre for Fiks-Arkiv er det brukt xs:int som ikke har dette problemet. Men i metadatakatalog.xsd er det brukt kun xs:integer.
Er dette et problem? Bør vi legge til mapping i genereringen vår av C# koden slik at xs:integer for det som f.eks. kommer fra metadatakatalog blir til C# int?
Her er tråden fra Slack angående problemet for Fiks-Matrikkelføring: https://ksfiks.slack.com/archives/CG1T71AJ1/p1656326793712339