Skip to main content
ファンクションは、アウトプット値を生成するものの、標準のフォーマッタのようにインプットを必要としない、特別な種類のフォーマッタと考えてください。ファンクションは単独で使用することも、その後に他のフォーマッタをパイプでつなぐ、より複雑な式の起点として使用することもできます。例えば、[vault(foo)] は単独で解決できますが、式の起点として使用することもできます(例えば、foo のVault 値がbar と等しいかどうかをチェックするには[vault(foo) | equals(bar)])。

CSV ファンクション

csv(value)

CSV ファイルからデータを読み込んだ後に使用します。csvListRecords オペレーションはCSV ファイルを解析し、CSV フォーマッタは他のフォーマッタと同様に、CSV ドキュメントから値を生成することで動作します。
  • value:値を見つけるためのCSV 列ヘッダーの文字列。CSV ファイルにヘッダーがない場合、requireheader 属性をfalse に設定すると、列に汎用インデックス(c1、c2、c3、…)でアクセスできます。

以下のスニペットでは、CSV ドキュメントがScript のメモリ内で定義されています。
次に、csvListRecords オペレーションが呼び出され、サンプルCSV ドキュメントからCSV フォーマッタが表示されます。
このコードを実行すると、次の出力が表示されます:

JSON ファンクション

hasjsonpath(jsonpath)

入力jsonpath がJSON ドキュメント内に存在するかどうかをチェックし、boolean(true/false)を返します。
  • jsonpath:チェックする相対jsonpath。

isjsonpathnull(jsonpath, [ifTrue], [ifFalse])

入力jsonpath をチェックし、jsonpath がnull であるか存在しない場合にboolean(true/false)を返します。
  • jsonpath:チェックする相対json(オプション)。
  • ifTrue:フォーマッタがtrue に解決される場合に返す値(オプション)。
  • ifFalse:フォーマッタがfalse に解決される場合に返す値(オプション)。

jsonpath(jsonpath)

このフォーマッタは、JSON DOM が利用可能なJSON オペレーションへの呼び出し内で使用できます。jsonDOMSearch およびjsonDOMGet オペレーションを使用して、JSON ドキュメントを解析できます。jsonpath フォーマッタはDOM オブジェクトのフォーマッタであり、他のフォーマッタと同様に、JSON ドキュメントから値を生成することで動作します。JSON ドキュメントの現在のjsonpath の位置を返します。オプションで、関連するJSON 値を見つけるために相対jsonpath の文字列を指定できます。
  • jsonpath:関連するJSON 値を見つけるための相対jsonpath(オプション)。

jsonsubtree(jsonpath)

jsonsubtree を使用して、ネストされたJSON 構造からJSON サブツリーを解析できます。
  • jsonpath:構造のどのレベルから開始するかを示す相対jsonpath の文字列(オプション)。

以下のスクリプトには、JSON データ内の/json/Event/Attendees オブジェクトの下にある3つのUser エントリが含まれています。Attendees オブジェクトは、ルートオブジェクトのサブツリーです。
この例では、jsonpath は. 文字であり、これはルートオブジェクト内のどこにいるかに基づいて現在のjsonpath を使用するようスクリプトに指示します。ここでは、そのパスは/json/Event/Attendees であり、3つすべてのエントリを返します。 次の画像は、Logs ページのアプリケーションログにどのように表示されるかを示しています: Activity ログ内のjsonsubtree の結果 以下は、生のJSON サブツリーの結果です:
/json/Event/Attendees 内のUser jsonpath の2番目の出現箇所のサブツリーのみを表示するには、jsonsubtree フォーマッタ呼び出し内のパスをjsonsubtree(User/\[2\]) に置き換えます。これにより、次の出力が得られます:

jsontype(jsonpath)

現在のJSON 名前と値のペアのデータ型(string、number、object、array、またはboolean)を返します。
  • jsonpath:関連するJSON 値を見つけるための相対jsonpath(オプション)。

XML ファンクション

hasxpath(xpath)

入力xpath がXML ドキュメント内に存在するかどうかをチェックし、boolean(true/false)を返します。
  • xpath:チェックする相対xpath。

isxpathnull(xpath, [ifTrue], [ifFalse])

入力xpath をチェックし、xpath がnull であるか存在しない場合にxsi:nil XML 属性(xsi:nil="true/false")の形式でboolean を返します。条件が満たされる場合と満たされない場合の代替値を指定するには、ifTrue およびifFalse パラメータを使用します。
  • xpath:チェックする相対xpath(オプション)。
  • ifTrue:フォーマッタがtrue に解決される場合に返される値(オプション)。
  • ifFalse:フォーマッタがfalse に解決される場合に返される値(オプション)。

xpath(xpath)

XML DOM が利用可能なXML オペレーションへの呼び出し内で使用します。xmlDOMSearch およびxmlDOMGet オペレーションを使用して、XML ドキュメントを解析できます。XPath フォーマッタはDOM オブジェクトのフォーマッタであり、他のフォーマッタと同様に、XML ドキュメントから値を生成することで動作します。XML ドキュメントの現在のXPath の位置を返します。
  • xpath:関連するXML 値を見つけるための相対XPath の文字列(オプション)。

以下のスニペットでは、XML ドキュメントがScript のメモリ内で定義されています。
このスニペットでは、xmlDOMSearch オペレーションが呼び出され、サンプルXML ドキュメントからXPath フォーマッタが表示されます。
前述のXML ドキュメントに対して実行すると、このコードは次の出力を表示します。
XPath フォーマッタは、反復処理される3つのA 要素を表示しますが、[xpath(B)] は他の要素の値を無視するため、最後のB 要素のValue_Three のみが表示されます。

xpathcount(xpath)

XPath フォーマッタに似ていますが、提供されたXPath に一致する要素のカウントを返す点が異なります。XML DOM が利用可能なXML オペレーションへの呼び出し内で使用します。xmlDOMSearch およびxmlDOMGet オペレーションを使用して、XML ドキュメントを解析できます。XPathCount フォーマッタはDOM オブジェクトのフォーマッタであり、他のフォーマッタと同様に、XML ドキュメントからカウントを生成することで動作します。
  • xpath:カウントを計算する相対XPath の文字列(オプション)。

このコードを実行すると、出力として2 を返します。

xsubtree(xpath)

ネストされたXML 構造からXML ツリーを解析します。
  • xpath:構造のどのレベルから開始するかを示す相対XPath の文字列(オプション)。

以下のサンプルXML ドキュメントでは、/Event/Attendees の下に3つのエントリがあります。
xsubtree コマンド内の. 文字は、現在のxpath を使用するようスクリプトに指示します。この例では、そのパスは/Event/Attendees であり、3つすべてのエントリを返します:
/Event/Attendees 内のUser xpath の2番目の出現箇所のサブツリーのみを表示するには、コマンドをxsubtree(User[2]) に置き換えます。その結果は次のとおりです:

その他のファンクション

guid(includehyphens)

グローバルに一意な識別子(GUID)の値を生成します。デフォルトでは、フォーマッタはすべての文字を単一のフォーマットされていない文字列で返します。標準の8-4-4-4-12 GUID 形式に準拠したハイフンを含めるには、includehyphens パラメータを使用し、true に設定します。
  • includehyphens:返されるGUID にハイフンを含めるにはtrue に設定します。
このフォーマッタは入力属性(変数)を変更しないため、そのような入力属性は必要ありません。

vault(ItemName, [ifnotexists])

ItemName に指定された値と一致する、Global Settings Vault 内のVault アイテムの値を返します。デフォルトでは、Vault アイテムが存在しない場合、エラーがスローされます。
  • ItemName:取得するVault アイテムの名前。
  • ifnotexists:Vault アイテムが存在しない場合にエラーがスローされるのを防ぐには、このオプションのパラメータと、value does not exist などのデフォルト値を指定します。指定されたItemName を持つVault アイテムが存在しない場合に、その値が返されます。
スクリプトのコンテキストで暗号化されたVault アイテムを参照する場合は、機密情報がログに含まれないように注意してください。