ルール ヒットのトークン化

HttpParsingRules および StringScriptingRules の両方でしようされる Search セクションには、検索結果をトークン化することによってルール ヒットを抽出することがでいる機能があります。抽出された各部分文字列 (たとえば、さまざまな左/右境界オプションを使用して) は、それ自身はルール ヒットではないが、それぞれのルール ヒットを発生させるために「トークン化」することができる、という考えに基づきます。このトークン化は、いくつかの方法で行われ、XML タグ Tokenize によって指定されます。

Tokenize タグの有効値は次のとおりです。
  • SiebelTokenHtmlSingleQuote
  • SiebelTokenHtml
  • siebelTokenApplet

トークン化メソッド SiebelTokenHtmlSingleQuote および SiebelTokenHtml は、検索結果を単一もしくは二重引用符で囲んだ個々の文字列にトークン化します。トークン化メソッド SiebelTokenApplet は、Siebel 7 Web アプリケーションのアプレット レスポンスで使用されるような長さを先頭に追加した文字列を想定して検索結果をトークン化します。

SiebelTokenHtml の例

検索結果 ["TestName","TestSite","USD","02/21/2003","N","1-2T"] は、トークン化され、次のルール ヒットの結果となります。
  • TestName
  • TestSite
  • USB
  • 02/21(2003
  • N
  • 1-2T

SiebelTokenApplet の例

検索結果 19*02/21/2003 08:20:176*SADMIN4*Note5*1-1P5 は、トークン化され、次のルール ヒットの結果となります。
  • 02/21/2003 08:20:17
  • SADMIN
  • Note
  • 1-1P5
Recorder は、実行時にトークンを抽出するためにトークン化関数の 1 つを生成することによって、スクリプトでこれらのルール ヒットを使用します。Search セクションにトークン化をもつ記録ルールを示します。
<HttpParsingRule>
  <Name>Siebel Submit Data Array in HTML (from Javascript function call)</Name>
  <Active>true</Active>
  <Search>
    <SearchIn>Body</SearchIn>
    <LB>
      <Str>SWESubmitForm</Str>
    </LB>
    <RB>
      <Str>'</Str>
    </RB>
    <Tokenize>SiebelTokenHtml</Tokenize>
    <CondResultLen>1-</CondResultLen>
  </Search>
  <ScriptGen>
    ...
  </ScriptGen>
</HttpParsingRule>
トークン化が行われた Siebel からのスクリプトの一部を示します。
var
gsRowValArray_003 : string; // 0*19*02/21/2003 08:20:176*SADMIN4*Note5*1-1P5
// ...
WebParseDataBoundEx(gsRowValArray_003, sizeof(gsRowValArray_003),
"ValueArray`", WEB_OCCURENCE_LAST, "`",
WEB_FLAG_IGNORE_WHITE_SPACE, 1);
WebPageForm("http://lab72/sales_enu/start.swe", SALES_ENU_START_SWE026,
"Account Note Applet: InvokeMethod: NewRecord");
Print("Parsed \"RowValArray_003\", result: \"" + gsRowValArray_003 + "\"");
// Was "0*19*02/21/2003 08:20:176*SADMIN4*Note5*1-1P5" when recording
// ...
dclform
// ...
SALES_ENU_START_SWE027:
"SWEMethod" := "GetQuickPickInfo",
"SWEVI" := "",
"SWEView" := "Account Note View",
"SWEApplet" := "Account Note Applet",
"SWEField" := "s_2_2_24_0",
"SWER" := "0",
"SWEReqRowId" := "1",
"s_2_2_26_0" := "2/21/2003 08:20:17 AM",
"s_2_2_27_0" := SiebelTokenApplet(gsRowValArray_003, 2), // value: "SADMIN"
"s_2_2_24_0" := SiebelTokenApplet(gsRowValArray_003, 3), // value: "Note"
"s_2_2_25_0" := "",
"SWERPC" := "1",
"SWEC" := "11",
"SWEActiveApplet" := "Account Note Applet",
"SWEActiveView" := "Account Note View",
"SWECmd" := "InvokeMethod",
"SWERowId" := SiebelTokenApplet(gsRowValArray_003, 4),
// value: "1-1P5"
"SWERowIds" := "SWERowId0=" + SiebelTokenHtml(gsRowValArray_002, 18),
// value: "SWERowId0=1-2T"
"SWEP" := "",
"SWEJI" := "false",
"SWETS" := GetTimeStamp(); // value: "1045844419057"