INTERLIS 2.4; !!============================================================================== !!@ File = "SZ_Masterkatalog_V2.ili"; !!@ Title = "Der Masterkatalog"; !!@ shortDescription = "Dieses Modell legt die Struktur sämtlicher Kataloge (Aufzähllisten) fest. Die Modellierung erfolgt auf der Grundlage des Composite-Patterns"; !!@ Issuer = "https://www.sz.ch/geoinformation"; !!@ technicalContact = "mailto:geoportal@sz.ch"; !!@ furtherInformation = "https://www.sz.ch"; !!@ Identifikator = "- - -"; !!@ Themennummer = "A191"; !!@ iliCompilerVersion = "ili2c-5.2.3-3ec7a10e9bacc87e149a14a7f11a6035e0481c69"; !!------------------------------------------------------------------------------ !! Todo: - - - !!------------------------------------------------------------------------------ !! Version | wer | was !! Datum | Nr | | !!------------------------------------------------------------------------------ !! 2021-07-01 | 2.0 | kep | - Erweiterung, damit gleiche Kataloge aus verschiedenen Modellen (oder Klassen) referenziert werden können !! - Unique-Constraint auf Klasse "Komponente" eingeführt !! 2021-05-28 | 1.0 | kep | Erstfassung !!============================================================================== MODEL SZ_Masterkatalog_V2 (de) AT "http://models.geo.sz.ch" VERSION "2021-07-01" = IMPORTS UNQUALIFIED INTERLIS; !!------------------------------------------------------------------------------ TOPIC Kataloge = !!------------------------------------------------------------------------------ CLASS Komponente (ABSTRACT) = Kennung : MANDATORY UUIDOID; SortNr : MANDATORY -999999 .. 999999; !! Sortierunummer Name : MANDATORY TEXT*255; !! für die Benutzer lesbarer Name Bemerkung : TEXT*1000; UNIQUE Kennung; END Komponente; CLASS Blatt EXTENDS Komponente = Code : MANDATORY TEXT*255; !! Zeichenumfang gemäss Referenzhandbuch; nicht als "NAME", damit auch reine Zahlenwerte eingetragen werden können. END Blatt; CLASS Knoten EXTENDS Komponente = !! im Design-Pattern als "Kompositum, composite" bezeichnet END Knoten; CLASS Modellkatalog = Modell : MANDATORY NAME; !! Zeichenumfang gemäss Referenzhandbuch Version : MANDATORY TEXT*255; !! Länge auf 255 Stellen beschränkt Thema : MANDATORY NAME; !! Zeichenumfang gemäss Referenzhandbuch Klasse : MANDATORY NAME; !! Zeichenumfang gemäss Referenzhandbuch; Name der Klasse, in der die Katalogeinträge gehalten werden UNIQUE Modell, Version, Thema, Klasse; END Modellkatalog; ASSOCIATION Knoten_Komponente = rKnoten -<#> {0..1} Knoten; rKomponente -- {0..*} Komponente; END Knoten_Komponente; ASSOCIATION Komponente_Modellkatalog = rKnoten -- {1} Knoten; rModellkatalog -- {0..*} Modellkatalog; END Komponente_Modellkatalog; END Kataloge; END SZ_Masterkatalog_V2.