RULE simple_list_of_files_constraint

(* SCHEMA technical_data_packaging; *)
  RULE simple_list_of_files_constraint FOR (applied_document_reference);

    LOCAL
      drt    : SET OF document_representation_type;
      dri    : SET OF document_reference_item;
      adr    : SET OF applied_document_reference;
      nameok : BOOLEAN;
      result : BOOLEAN := TRUE;
    END_LOCAL;
    adr := applied_document_reference;
    REPEAT i := 1 TO SIZEOF(adr) BY 1;
      IF EXISTS(adr[i]\document_reference.role) THEN
        IF adr[i]\document_reference.role.name = 'list of files' THEN
          dri := adr[i].items;
          IF SIZEOF(dri) < 1 THEN
            result := FALSE;
          END_IF;
          REPEAT j := 1 TO SIZEOF(dri) BY 1;
            IF NOT ('TECHNICAL_DATA_PACKAGING.DOCUMENT_FILE' IN TYPEOF(dri
                [j])) THEN
              result := FALSE;
            END_IF;
            drt := dri[j].representation_types;
            nameok := FALSE;
            REPEAT k := 1 TO SIZEOF(drt) BY 1;
              IF (drt[k].name = 'digital') OR (drt[k].name = 'physical')
                   THEN
                nameok := TRUE;
              END_IF;
            END_REPEAT;
            IF NOT nameok THEN
              result := FALSE;
            END_IF;
          END_REPEAT;
        END_IF;
      END_IF;
    END_REPEAT;

  WHERE
    wr1: result;

  END_RULE; -- simple_list_of_files_constraint

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:18:35-04:00