Overview Schemas Index

ISO13584_EXPRESSIONS_SCHEMA (jsdai.SIso13584_expressions_schema)


FUNCTION used_functions
          (arg : expression) : SET [0:?] OF defined_function;

 LOCAL result : SET OF defined_function := [ ] ; END_LOCAL ; IF  ( 'iso13584_expressions_schema.defined_function' IN  TYPEOF  ( arg ) ) THEN  RETURN  ( [ arg ] ) ; END_IF  ; IF  'iso13584_expressions_schema.unary_numeric_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ unary_numeric_expression . operand ) ) ; END_IF  ; IF  'iso13584_expressions_schema.binary_numeric_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ binary_numeric_expression . operands [ 1 ] ) + used_functions ( arg \ binary_numeric_expression . operands [ 2 ] ) ) ; END_IF  ; IF  'iso13584_expressions_schema.multiple_arity_numeric_expression' IN  TYPEOF  ( arg ) THEN  REPEAT  i := 1 TO  SIZEOF  ( arg \ multiple_arity_numeric_expression . operands ) ; result := result + used_functions ( arg \ multiple_arity_numeric_expression . operands [ i ] ) ; END_REPEAT  ; RETURN  ( result ) ; END_IF  ; IF  'iso13584_expressions_schema.unary_generic_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ unary_generic_expression . operand ) ) ; END_IF  ; IF  'iso13584_expressions_schema.binary_boolean_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ binary_generic_expression . operands [ 1 ] ) + used_functions ( arg \ binary_generic_expression . operands [ 2 ] ) ) ; END_IF  ; IF  'iso13584_expressions_schema.multiple_arity_boolean_expression' IN  TYPEOF  ( arg ) THEN  REPEAT  i := 1 TO  SIZEOF  ( arg \ multiple_arity_boolean_expression . operands ) ; result := result + used_functions ( arg \ multiple_arity_boolean_expression . operands [ i ] ) ; END_REPEAT  ; RETURN  ( result ) ; END_IF  ; IF  'iso13584_expressions_schema.comparison_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ comparison_expression . operands [ 1 ] ) + used_functions ( arg \ comparison_expression . operands [ 2 ] ) ) ; END_IF  ; IF  'iso13584_expressions_schema.interval_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ interval_expression . interval_low ) + used_functions ( arg \ interval_expression . interval_high ) + used_functions ( arg \ interval_expression . interval_item ) ) ; END_IF  ; IF  'iso13584_expressions_schema.index_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ index_expression . operand ) + used_functions ( arg \ index_expression . index ) ) ; END_IF  ; IF  'iso13584_expressions_schema.substring_expression' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ substring_expression . operand ) + used_functions ( arg \ substring_expression . index1 ) + used_functions ( arg \ substring_expression . index2 ) ) ; END_IF  ; IF  'iso13584_expressions_schema.concat_expression' IN  TYPEOF  ( arg ) THEN  REPEAT i := 1 TO SIZEOF ( arg \ concat_expression . operands ) ; result := result + used_functions ( arg \ concat_expression . operands [ i ] ) ; END_REPEAT ; RETURN  ( result ) ; END_IF  ; IF  'iso13584_expressions_schema.format_function' IN  TYPEOF  ( arg ) THEN  RETURN  ( used_functions ( arg \ format_function . value_to_format ) + used_functions ( arg \ format_function . format_string ) ) ; END_IF  ; IF 'iso13584_expressions_schema.like_expression' IN TYPEOF ( arg ) THEN RETURN  ( used_functions ( arg \ binary_generic_expression . operands [ 1 ] ) + used_functions ( arg \ binary_generic_expression . operands [ 2 ] ) ) ; END_IF ; RETURN ( [ ] ) ; 

END_FUNCTION; -- used_functions

public class FUsed_functions
          public static Value run(SdaiContext _context, Value arg)