ユーザーは、独自のカスタム変換関数を書き、この変換関数を記録ルールに指定できます。変換関数は、ネイティブ 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>