INTERLIS 2.4; !!============================================================================== !!@ File = "SZ_Masterkatalog_V2_1.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.4-4c8d62961e5b41f61f4c6f7fac01196a06b8b2c5"; !!------------------------------------------------------------------------------ !! Todo: - - - !!------------------------------------------------------------------------------ !! Version | wer | was !! Datum | Nr | | !!------------------------------------------------------------------------------ !! 2021-12-30 | 2.1 | kep | - Attribut "Kennung" durch OID-Definition ersetzt !! - Umbenennung "SortNr" nach "SortierNr" !! 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_1 (de) AT "http://models.geo.sz.ch" VERSION "2021-12-30" = IMPORTS UNQUALIFIED INTERLIS; !!------------------------------------------------------------------------------ TOPIC Kataloge = !!------------------------------------------------------------------------------ CLASS Komponente (ABSTRACT) = OID AS UUIDOID; Name : MANDATORY TEXT*255; !! für Menschen lesbarer Name SortierNr : MANDATORY -999999 .. 999999; !! bestimmt die Reihenfolge des Eintrags: tiefste Nr erscheint zu oberst Bemerkung : TEXT*1000; 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_1.