ページの先頭行へ戻る
Systemwalker Runbook Automation Studio利用ガイド
Systemwalker

6.4.13 [XML属性の抽出]フィルター

XML形式の運用操作部品の結果やフィルター出力から属性の値を抽出します。

[XPath]

属性を持つ要素のパスを入力します。入力可能な最大文字数は4096文字です。[XPath]フィールドはフィルターの実行時に変数(UDA)の値や前の運用操作部品の実行結果を埋め込むことができます。値を埋め込む方法は以下のとおりです。

  • “@{uda:変数名}”と指定することで、変数(UDA)の値をフィルターの実行時に埋め込むことができます。また、[変数の参照]ボタンをクリックし、[変数の参照]ダイアログから変数を選択することでも、変数(UDA)の値を埋め込むことができます。

    値を埋め込むことができる変数(UDA)のタイプは、STRING/INTEGERのみです。

  • “@{:ノード名:実行結果}”と指定することで、前の運用操作部品の実行結果をフィルターの実行時に埋め込むことができます。また、[実行結果の参照]ボタンをクリックし、[実行結果の参照]ダイアログから実行結果を選択することでも、前の運用操作部品の実行結果を埋め込むことができます。

空の場合、フィルターの実行はエラーとなります。

[属性名]

値を抽出する属性の名前を入力します。入力可能な最大文字数は512文字です。

空の場合、フィルターの実行はエラーとなります。

[複数選択]

抽出結果が複数存在し、すべて抽出する場合に選択します。このチェックボックスがオフの場合、最初の1件のみ抽出されます。

デフォルトはオン。

[区切り文字]

抽出結果(値)の区切り文字を選択します。抽出結果が1つしかない場合は無視されます。

  • カンマ

  • 半角空白

  • タブ

  • 改行[LF]  (デフォルト)

[囲み文字]

抽出結果(値)を囲む文字を選択します。

  • ダブルクォーテーション  (デフォルト)

  • シングルクォーテーション

  • なし

[区切り文字]に “改行” が選択された場合、[囲み文字]はグレーアウトされ、無視されます。

注意

フィルターのテストにおける注意点

  • [XPath]フィールドに、“@{uda:変数名}”が指定されている場合

    [テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されている場合、その値がテストで使用されます。

    [テスト変数の設定]ダイアログ(*1)で該当する変数に値が設定されていない場合、変数の値には “@{uda:変数名}” という文字列が設定されているものとしてテストが実行されます。

  • [XPath]フィールドに、“@{:ノード名:実行結果}”が指定されている場合

    [テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されている場合、その値がテストで使用されます。

    [テスト変数の設定]ダイアログ(*1)で該当する実行結果に値が設定されていない場合、実行結果の値には “@{:ノード名:実行結果}” という文字列が設定されているものとしてテストが実行されます。

  • 管理サーバ上でのフィルター実行時は、それぞれの変数(UDA)や実行結果に格納されている値で置き換えられます。

*1: [テスト変数の設定]ダイアログについては、“6.3.2 フィルターのテスト”を参照してください。

【例1】

入力:

<systems>
  <system name="システムA" mail="user1@example.com">
    <servers>
      <server ipaddress="192.168.1.10"/>
      <server ipaddress="192.168.1.20"/>
    </servers>
  </system>
  <system name="システムB" mail="user2@example.com">
    <servers>
      <server ipaddress="192.168.2.10"/>
      <server ipaddress="192.168.2.20"/>
      <server ipaddress="192.168.2.30"/>
    </servers>
  </system>
</systems>

XPath:

/systems/system[@name='システムA']/servers/server

属性名:

ipaddress

複数選択:

オン

区切り文字:

改行

囲み文字:

出力:

192.168.1.10[改行]
192.168.1.20[改行]
【例2】

入力:

<systems>
  <system name="システムA" mail="user1@example.com">
    <servers>
      <server ipaddress="192.168.1.10"/>
      <server ipaddress="192.168.1.20"/>
    </servers>
  </system>
  <system name="システムB" mail="user2@example.com">
    <servers>
      <server ipaddress="192.168.2.10"/>
      <server ipaddress="192.168.2.20"/>
      <server ipaddress="192.168.2.30"/>
    </servers>
  </system>
</systems>

XPath:

/systems/system[@name='システムA']/servers/server

属性名:

ipaddress

複数選択:

オン

区切り文字:

カンマ

囲み文字:

ダブルクォーテーション

出力:

"192.168.1.10","192.168.1.20"
【例3】

入力:

<systems>
  <system name="システムA" mail="user1@example.com">
    <servers>
      <server ipaddress="192.168.1.10"/>
      <server ipaddress="192.168.1.20"/>
    </servers>
  </system>
  <system name="システムB" mail="user2@example.com">
    <servers>
      <server ipaddress="192.168.2.10"/>
      <server ipaddress="192.168.2.20"/>
      <server ipaddress="192.168.2.30"/>
    </servers>
  </system>
</systems>

XPath:

/systems/system[@name='システムA']/servers/server

属性名:

ipaddress

複数選択:

オフ

区切り文字:

改行

囲み文字:

出力:

192.168.1.10[改行]
【例4】変数(SystemName)に、“システムA”が設定されている場合

入力:

<systems>
  <system name="システムA" mail="user1@example.com">
    <servers>
      <server ipaddress="192.168.1.10"/>
      <server ipaddress="192.168.1.20"/>
    </servers>
  </system>
  <system name="システムB" mail="user2@example.com">
    <servers>
      <server ipaddress="192.168.2.10"/>
      <server ipaddress="192.168.2.20"/>
      <server ipaddress="192.168.2.30"/>
    </servers>
  </system>
</systems>

XPath:

/systems/system[@name='@{uda:SystemName}']/servers/server

属性名:

ipaddress

複数選択:

オン

区切り文字:

改行

囲み文字:

出力:

192.168.1.10[改行]
192.168.1.20[改行]