22 control flows to step 24 where it is determined that erroneous characters were encountered and the process flow is terminated if the returnvalue is stv_ok step 28 the specialized_stv succeeded in validating the data and control is passed to state 26 in step 18 if the returnvalue is stv_failed the specialized_stv failed and the process then flows to step 20 where the generic_stv is called to reparse the input the return value is stored in returnvalue and again this must be checked to determine if fail_validation step 25 occurred or stv_ok step 27 from step 25 control flows to step 24 where the process flow is terminated from step 27 control flows to step 26 where we continue processing the input having successfully validated the current simple data type contents referring to fig4 one example of a flowchart describing the operation of an optimized_stv is illustrated in step 30 the input character is read in step 32 it is determined if the input character was an u201c lt u201d followed by a u201c u201d if so the process flows to step 42 if not if flows to step 34 in step 42 it is determined if the current data as seen represents an entire good string of the datatype that is being validated if so the process flows to step 44 and returns stv_ok if not the process flows to step 46 and returns.