ApplyTo

説明
Strings
デフォルト Self
説明 ApplyTo は、条件に影響を与えるデータを指定します。ApplyTo は現在の環境内で解決されます。よって、ApplyTo の有効な値は環境の設定に依存し、各ルール タイプによって異なります。

Literal (リテラル)

ApplyTo タグで Literal 値を使用すると、条件のデータとしてリテラルを指定できます。これは、Exists 条件や SaveAs 属性と一緒に使用する場合に有用です。

<Conditions>
  <Exists>
    <ApplyTo>Literal: - </ApplyTo>
    <SaveAs>PageName</SaveAs>
    <SaveMode>AppendSeparator</SaveMode>
  </Exists>
  <Exists>
    <ApplyTo>Form.Submit.Field(Name:SWECmd).Value</ApplyTo>
    <SaveAs>PageName</SaveAs>
    <SaveMode>Append</SaveMode>
  </Exists>
</Conditions>

追加の ApplyTo 値

HttpParsingRuleScriptGen セクションの ApplyTo 値に、さらに追加の値があリます。

HttpParsingRuleScriptGen セクションにある指定可能な値 LinkNameFormNameFormFieldNameFormFieldValueTargetFrame に加えて、次の 4 つの新しい指定可能な値があります。

CustomUrlName カスタム URL の現在の名前 (関数 WebPageLinkWebPageSetActionUrlWebPageQueryParsedUrl が使用された場合)。
PostedData WebPagePostBin およびそれに類似した関数へのパラメータとして現れるポスト データの値 (おそらくバイナリ)。関数 WebHeaderAdd が記録される際 (この関数の第 1 パラメータ) の HTTP ヘッダーの名前。
HeaderName 関数 WebHeaderAdd が記録される際 (この関数の第 1 パラメータ) の HTTP ヘッダーの名前。
HeaderValue 関数 WebHeaderAdd が記録される際 (この関数の第 2 パラメータ) の HTTP ヘッダーの値。

フォームへのアクセス

ルール タイプ HttpParsingRule (ScriptGen セクション) 、HttpScriptingRule、および StringScriptingRule (Search セクション) のすべてで、次の文法に従ってフォーム データに利用できるアクセス関数があります: "Form" [ ".Query" | ".Body" | ".Submit" ]

クエリ文字列 ("Query") のフォーム、または現在の HTTP リクエストのリクエスト本体 ("Body") のフォームを指定できます。

Submit 値 (デフォルト) は、HTTP リクエストが GET メソッドを使用する場合 Query を、POST メソッドを使用する場合は Body を指定したことと同等になります。

上記の文法にしたがってフォームが指定されると、このフォームについての詳細を取得できます。
  • ActionUrl:フォームのアクション URL を指定します。アクション URL のさらなる詳細を得ることができます。
  • Encoding:スクリプト化されるエンコードを指定します (ENCODE_BLANKS など)。
<ApplyTo>Form.ActionUrl</ApplyTo>
<ApplyTo>Form.ActionUrl.Host</ApplyTo>
<ApplyTo>Form.ActionUrl.Coords</ApplyTo>
<ApplyTo>Form.Query.Encoding</ApplyTo>
<ApplyTo>Form.Body.Encoding</ApplyTo>
<ApplyTo>Form.Submit.Encoding</ApplyTo>

さらに、次の文法に従って、個々のフォーム フィールドを指定できます: ".Field(" ( "Name" | "Value" | "Index" ) ":" Selector ")" "." ( "Name" | "Value" | "Encoding" | "Usage" )

つまり、Name、Value、Index (0 ベース) によってフォーム フィールドを参照し、Name、Value、Encoding、Usage のようなフォーム フィールドを取得できます。Encoding は次のうちの 1 つを意味します: "ENCODE_FORM".Usage は次のうちの 1 つを意味します:"SUPPRESS"、"USE_HTML_VAL"、"USE_SCRIPT_VAL".

<ApplyTo>Form.Submit.Field(Name:SWECmd).Value</ApplyTo>
<ApplyTo>Form.Field(Name:sid).Usage</ApplyTo>
<ApplyTo>Form.Field(Name:sid).Encoding</ApplyTo>
<ApplyTo>Form.Field(Index:0).Name</ApplyTo>
<ApplyTo>Form.Field(Index:2).Value</ApplyTo>
<ApplyTo>Form.Field(Value:Submit with GET).Name</ApplyTo>