HttpParsingRules および StringScriptingRules の両方でしようされる Search セクションには、検索結果をトークン化することによってルール ヒットを抽出することがでいる機能があります。抽出された各部分文字列 (たとえば、さまざまな左/右境界オプションを使用して) は、それ自身はルール ヒットではないが、それぞれのルール ヒットを発生させるために「トークン化」することができる、という考えに基づきます。このトークン化は、いくつかの方法で行われ、XML タグ Tokenize によって指定されます。
トークン化メソッド SiebelTokenHtmlSingleQuote および SiebelTokenHtml は、検索結果を単一もしくは二重引用符で囲んだ個々の文字列にトークン化します。トークン化メソッド SiebelTokenApplet は、Siebel 7 Web アプリケーションのアプレット レスポンスで使用されるような長さを先頭に追加した文字列を想定して検索結果をトークン化します。
<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>
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"