Overview Schemas Index

PARAMETERIZATION_SCHEMA (jsdai.SParameterization_schema)


FUNCTION validate_attribute_id
          (attid : attribute_identifier) : BOOLEAN;

CONSTANT
    letters      : SET[52:52] OF  STRING  := 
      ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',
       'q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F',
       'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V',
       'W','X','Y','Z'];
    numbers_etc  : SET[15:15] OF  STRING  := 
      ['0','1','2','3','4','5','6','7','8','9','_','[',']','.','\'];
    valid_chars  : SET[67:67] OF STRING := letters + numbers_etc;
  END_CONSTANT;

  LOCAL
    id_length : INTEGER := LENGTH(attid);
    id_valid  : BOOLEAN := TRUE;
    i         : INTEGER;
  END_LOCAL;

  -- check that indentifier starts WITH a letter

  IF  NOT  (attid[1] IN  letters) THEN  
    id_valid := FALSE; 
  END_IF;
  
  -- check that no invalid characters occur subsequently

  REPEAT i := 2 TO id_length WHILE id_valid = TRUE;
    IF NOT (attid[i] IN valid_chars) THEN 
      id_valid := FALSE;
    END_IF;
  END_REPEAT;
  RETURN(id_valid);

END_FUNCTION; -- validate_attribute_id

public class FValidate_attribute_id
          public static Value run(SdaiContext _context, Value attid)