FUNCTION acyclic_document_relationship

(* SCHEMA STRUCTURAL_FRAME_SCHEMA; *)

(* Modified for LPM/6 *)
FUNCTION acyclic_document_relationship
  (relation          : document_relationship;
   relatives         : SET [1:?] OF document;
   specific_relation : STRING) : BOOLEAN;
  LOCAL
    x                : SET OF document_relationship;
  END_LOCAL;
  IF relation.relating_document IN relatives THEN 
    RETURN (FALSE);
  END_IF;
  x := QUERY (doc <* bag_to_set 
             (USEDIN (relation.relating_document,
             'STRUCTURAL_FRAME_SCHEMA.' + 
             'DOCUMENT_RELATIONSHIP.' +
             'RELATED_DOCUMENT')) |
              specific_relation IN TYPEOF (doc));
  REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_document_relationship
      (x[i], 
       relatives + relation.relating_document, 
       specific_relation) THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
  RETURN(TRUE);
END_FUNCTION; (* STEP Part 41 2nd edition *)

Referenced By

Defintion acyclic_document_relationship is references by the following definitions:
DefinitionType
 document_usage ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2023-03-25T00:11:39-04:00