2.1.3 Initialization

The Claims Transformation Algorithm MUST be invoked by passing in the following parameters:

InputClaims: A set of zero or more claims (section 2.1.2) that need to be transformed.

InputTransformationRulesText: A set of transformation rules in UTF-16 format that define the transformation based on the language defined in Claims Transformation Rules Language Syntax (section 2.1.4.1).

The Claims Transformation Algorithm MUST generate the following output variables:

OutputClaims: This is a list of zero or more claims (section 2.1.2) returned by the Claims Transformation Algorithm when it finishes processing the given input.

ReturnValue: This variable holds the resulting value returned by this algorithm. The possible values are SUCCESS to indicate successful processing and FAILURE to indicate an error during the processing.

The Claims Transformation Algorithm MUST maintain state during processing in the following variables:

  1. InternalTransformationRules: This is the representation of InputTransformationRulesText generated for Claims Transformation Rules Processing. This representation MUST contain the following:

    1. InputTransformationRulesText

    2. An ordered, hierarchical list of tags from the claims transformation rules language syntax that are arranged to match the given InputTransformationRulesText and the corresponding matching portion of InputTransformationRulesText for each tag.

  2. InternalEvaluationContext: A list of claims on which the claims transformation rules processing operates.

  3. InternalOutputContext: A list of claims that collects the output of claims transformation rules processing.

The Claims Transformation Algorithm MUST be initialized as follows:

  1. InternalTransformationRules MUST be initialized by clearing it.

  2. InternalEvaluationContext MUST be initialized by clearing it and then adding all InputClaims to it.

  3. InternalOutputContext MUST be initialized by clearing it.

  4. OutputClaims MUST be initialized by clearing it.

  5. ReturnValue MUST be set to SUCCESS.