ユーザーは、独自のカスタム変換関数を書き、この変換関数を記録ルールに指定できます。変換関数は、ネイティブ DLL ファイル (C/C++ でプログラムを記述) に含まれます。変換関数内で、解析ルールの値が、指定された関数を使用して変換されます。解析関数では、元の値のみが解析されます。
たとえば、サーバーによって返される値が Double 形式で、クライアントが送信する値が整数形式の場合があります。したがって、簡単な解析ルールでは、スクリプトに一致を見つけることができません。ただし、整数を Double 形式に変換するカスタム変換関数を適用すると、解析ルールでは、想定される一致を再度見つけることができます。
次に、変換関数が指定されている記録ルールの例を示します。
<RecordingRuleSet> <HttpParsingRule> <Name>Parse by Boundaries, Convert and Replace (with custom conversion DLL)</Name> <Search> <SearchIn type="Select{Body|Header|All}">Body</SearchIn> <LB> <Str>></Str> </LB> <RB> <Str></strong></Str> </RB> <Conversion> <Dll>SampleConversion.dll</Dll> <Function>ConvertToUpperCase</Function> </Conversion> </Search> <ScriptGen> <ReplaceIn type="MultiSelect{FormFieldValue|Url|PostedData}">FormFieldV alue, Url, PostedData</ReplaceIn> <VarName>ParsedByBoundary</VarName> <GenDebugPrint>true</GenDebugPrint> <Conversion> <BdlFunction>MyConvertToUpperCase</BdlFunction> </Conversion> </ScriptGen> </HttpParsingRule> </RecordingRuleSet>