Imvertor / Imvertor-Maven

Mavenized version of Imvertor
http://www.imvertor.org
9 stars 12 forks source link

Spaties naar CamelCase in MIM-xml #501

Open ThiesMesdag opened 4 months ago

ThiesMesdag commented 4 months ago

Als ik het goed heb worden voor de xsd's objecttype en attribuutsoortnamen met een spatie vertaald naar CamelCase namen. Dus "periode geldigheid" wordt dan "periodeGeldigheid". In de MIM-xml wordt nu het model overgenomen met spatie. Het zou fijn zijn als dat (met een parameter) ook omgezet kan worden naar camelCase zoals in de xsd's.

ArjanLoeffen commented 4 months ago

Dat kan zeker maar dat is wel wat verwarrend.

De standaard stelt dat er een naam (periode geldigheid) is en een alias (periodeGeldigheid). De alias is de naam zoals jij 'm bedoelt, check de spec. Daarmee is alle info die je wilt zien vertegenwoordigd in de MIM serialisatie.

In de kadaster verwerking wordt wat door MIM de "alias" wordt genoemd dynamisch samengesteld als een zgn. "genormaliseerde" naam. Die naam zie je terugkomen in de XML schema's (periodeGeldigheid). Ze wordt niet geplaatst in de alias, maar is gewoon beschikbaar in het Imvertor formaat, vgl:

<imvert:attribute>
   <imvert:name original="periode geldigheid">periodeGeldigheid</imvert:name>
   <imvert:alias>periodValid</imvert:alias>
    . . .
</imvert:attribute>

Deze genormaliseerde naam mag niet door Imvertor worden geplaatst op de plek van de alias. Dit wegens het feit dat het UML model het informatiemodel is, en de MIM serialisatie het model nauwgezet moet volgen. Zie de discussie die hier wordt aangehaald: https://github.com/Geonovum/MIM-Werkomgeving/issues/553 Bovendien kan er al een alias zijn ingevoerd, waardoor er conflict ontstaat: er mag volgens MIM maar één alias zijn.

Conclusie, we kunnen dit niet doen.