C. Datenmodell der Fehlerdatei (_err.xtf)

!!-----------------------------------------------------------------
!! Error Output iG/Check for INTERLIS 2.3
!!-----------------------------------------------------------------

INTERLIS 2.3;

MODEL ErrorLog13 (en) AT "http://www.infogrips.ch/models" 

   VERSION "2013-11-19" =

   IMPORTS UNQUALIFIED INTERLIS;

   DOMAIN
      Coord2D = COORD
         480000.000 .. 2850000.000 [m],
         70000.000  .. 1310000.000 [m],
         ROTATION 2 -> 1;

   TOPIC Errors =

      DOMAIN

         ErrorCategory = (error,warning,info);

         STRUCTURE AbstractGeometry (ABSTRACT) =
         END AbstractGeometry;

         STRUCTURE PointGeometry EXTENDS AbstractGeometry =
            Geom: MANDATORY Coord2D;
         END PointGeometry;

         STRUCTURE LineGeometry EXTENDS AbstractGeometry =
            Geom: MANDATORY POLYLINE WITH (STRAIGHTS,ARCS) 
                            VERTEX Coord2D;
         END LineGeometry;

         STRUCTURE SurfaceGeometry EXTENDS AbstractGeometry =
            Geom: MANDATORY SURFACE WITH (STRAIGHTS,ARCS) 
                            VERTEX Coord2D;
         END SurfaceGeometry;

         STRUCTURE Attribute =
            Name: TEXT*40;
            Value: TEXT*255;
         END Attribute;

         STRUCTURE Profile =
            Name: TEXT*40;
         END Profile;

      CLASS Error =
         Module: MANDATORY TEXT*40;
         ErrorId: MANDATORY TEXT*64;
         Category: MANDATORY ErrorCategory;
         Description: MANDATORY TEXT*255;
         Model: MANDATORY TEXT*80;
         Topic: TEXT*80;
         Bid: TEXT*40;
         Class: TEXT*80;
         Tid: TEXT*40;
         Line: 1 .. 2000000000;
         CharPos: 1 .. 2000000000;
         Geom: LIST {0..*} OF AbstractGeometry;
         UserAttributes: LIST {0..*} OF Attribute;
         Profiles: LIST {0..*} OF Profile;
      END Error;

      CONSTRAINTS OF Error =

         !!@ cid=ERR001;cattr=Bid
         !!@ cmsg="Topic has to be defined, if Bid is defined"
         MANDATORY CONSTRAINT
            NOT(DEFINED(Bid)) OR !! DEFINED(Bid) ->
               DEFINED(Topic);

         !!@ cid=ERR002;cattr=Class
         !!@ cmsg="Topic has to be defined, if Class is defined"
         MANDATORY CONSTRAINT
            NOT(DEFINED(Class)) OR !! DEFINED(Class) ->
               DEFINED(Topic);

         !!@ cid=ERR003;cattr=Tid
         !!@ cmsg="Class has to be defined, if Tid is defined"
         MANDATORY CONSTRAINT
            NOT(DEFINED(Tid)) OR !! DEFINED(Tid) ->
               DEFINED(Class);

         !!@ cid=ERR004;cattr=CharPos
         !!@ cmsg="Line has to be defined, if CharPos is defined"
         MANDATORY CONSTRAINT
            NOT(DEFINED(CharPos)) OR !! DEFINED(CharPos) ->
               DEFINED(Line);

      END;

   END Errors;

END ErrorLog13.