# Enums vom Typ ALL OF

**URL:** <https://interlis.discourse.group/t/enums-vom-typ-all-of/446>\
**Category:** Sprache INTERLIS\
**Tags:** xtf\
**Created:** [19. Oktober 2025 um 12:49 UTC](https://interlis.discourse.group/t/enums-vom-typ-all-of/446 "2025-10-19T12:49:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![arisk](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@arisk](https://interlis.discourse.group/u/arisk)\
**Post date:** [19. Oktober 2025 um 12:49 UTC](https://interlis.discourse.group/t/enums-vom-typ-all-of/446/1 "2025-10-19T12:49:33Z")

</div>

Nach dem Referenzhandbuch INTERLIS.2.3 kann man `ALL OF` brauchen, um neben den leaves, auch alle Nodes als zulässige Werte zu definieren. Zum Beispiel (Datenmodel VSADSSMINI\_2020\_LV95):

```bash
Statuswerte EXTENDS SIA405_Base_Abwasser_LV95.Status = (  
      in_Betrieb (
         provisorisch,
         wird_aufgehoben
      ),
      tot (
        aufgehoben_nicht_verfuellt,
        aufgehoben_unbekannt,
        verfuellt
      ),
      weitere (
         Berechnungsvariante,
         geplant,
         Projekt
      )
    );    
  Status = ALL OF Statuswerte;

```

Der Status enum wird dann z.B. bei der Klasse Knoten benutzt:

```bash
CLASS Knoten EXTENDS VSA_BaseClass =  
  ATTRIBUTE
...

Status: Status;

```

Nach einer Wegleitung die uns zur Verfügung gestellt wurde, sind bei Knoten.Status nur folgende Werte zulässig:

```bash
ausser_Betrieb
in_Betrieb
in_Betrieb.provisorisch
in_Betrieb.wird_aufgehoben
tot.aufgehoben_nicht_verfuellt
tot.aufgehoben_unbekannt
tot.verfuellt
unbekannt
weitere.Berechnungsvariante
weitere.geplant
weitere.Projekt

```

Sollte `tot` nicht auch ein zulässiger Wert sein?

---

<div class="post-metadata">

**Author:** ![peterstaub](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/peterstaub/32/8_2.png) [@peterstaub](https://interlis.discourse.group/u/peterstaub)\
**Post date:** [20. Oktober 2025 um 05:15 UTC](https://interlis.discourse.group/t/enums-vom-typ-all-of/446/2 "2025-10-20T05:15:50Z")

</div>

… und auch `stillgelegt`, `weitere`…

Im ILI-File hat es z.B. bei `tot`den Kommentar (als Metaattribut formatiert), dass `tot`beim Medium Abwasser nicht vorkäme.

Aber modellformalistisch müssten sämtliche Werte zulässig sein.

---

<div class="post-metadata">

**Author:** ![beistehen](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/beistehen/32/7_2.png) [@beistehen](https://interlis.discourse.group/u/beistehen)\
**Post date:** [20. Oktober 2025 um 06:29 UTC](https://interlis.discourse.group/t/enums-vom-typ-all-of/446/3 "2025-10-20T06:29:00Z")

</div>

> [@arisk](#):
>
> Nach einer Wegleitung die uns zur Verfügung gestellt wurde, sind bei Knoten.Status nur folgende Werte zulässig

In deinem Fall der Siedlungsentwässerung ist es so, dass der Fachverband (VSA) Datenmodelle bereitstellt, jedoch der Datenempfänger (welcher eine solche Wegleitungen herausgibt) abweichende Wünsche hat an die Dateninhalte. Dies ist ein legitimes Vorgehen. Es muss einfach klar kommuniziert werden, welche Inhalte der Empfänger erwartet. Idealerweise werden solche „Spezialwünsche“ zusätzlich in einem Constraintmodell formuliert, damit die abweichenden Wünsche auch in Erfüllung gehen 😉

Mehr Infos zu Constraintmodellen (auch _Validierungsmodelle_ genannt) gibt es in den Workshop-Unterlagen zum 3. Anwender:innen-Treffen (Workshop 1 - [Einführung](https://github.com/moflexch/awt3_validierung/tree/main/ws1), Workshop 2 - [Vertiefung](https://github.com/moflexch/awt3_validierung/tree/main/ws2)).

Ein umfangreiches Beispiel eines Validierungsmodells gibt es z. B. [hier](https://geo.so.ch/models/AFU/VSADSSMINI_2020_LV95_Validierung_IPW_S2_20250123.ili).
