Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 Enhancement of comparison functions

Code Block
This function is equivalent to the EDMinterfaceTM function edmiLike.
 
The following functions will be enhanced with the options (TODO what are the old options?)

xpxIGNORE_ALL_PATTERN_MATCHING_CHARS                
 

xpxLike (aString , pattern : STRING;
         option            : INTEGER)
         matching          : BOOLEAN;
 
The xpxLike function implements an extended version of the LIKE operation in the Express language as defined in section 12.2.5 in ISO 10303-11:1994(E) : The EXPRESS Language Reference Manual. The extension is that optionally the operation can do case insensitive comparison, by specifying the constant XPXCASE_INSENSITIVE in the option parameter. Default operation is case sensitive matching, i.e., option = 0, constant XPXCASE_INSENSITIVE not set or constant XPXCASE_SENSITIVE set in option argument.

options:
	XPXCASE_INSENSITIVE 								: Case insensitive comparison	
	XPXIGNORE_ALL_PATTERN_MATCHING_CHARS                :  All defined pattern matching characters will be treated as ordinary (not pattern matching) characters
xpxIGNORE	XPXIGNORE_ALL_PATTERN_MATCHING_CHARS_EXCEPT_STAR  	:  Only the star "*" will be a pattern matching character, all other characters will be normal (not pattern matching) characters.

FUNCTION xpfLike (aString  : STRING;
                  pattern  : STRING;
                  options  : INTEGER)
                  matching : BOOLEAN;

FUNCTION xpxLike (aString  : STRING;
                  pattern  : STRING;
                  options  : INTEGER)
                  matching : BOOLEAN;
                                          

FUNCTION xpfAggrLike (aggrId            : GENERIC;
                      attributeName     : STRING;
                      pattern           : STRING;
                      options           : INTEGER)
                      matchingInstances : SET OF GENERIC;

FUNCTION xpfAggrLikeEx (aggrIdOrModelId               : GENERIC;
                        enityIdOrEntityName           : GENERIC;
                        attributeName                 : STRING;
                        pattern                       : STRING;
                        options                       : INTEGER;
                        VAR numberOfMatchingInstances : INTEGER)
                        matchingInstanceOrInstances   : GENERIC;

...