ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(共通編)

12.4.12 ある条件に応じて検索結果を分岐する

従業員情報から、従業員の役職(position)が“課長”の社員がいたら、従業員氏名(name)、電話番号(telephone)、メールアドレス(mail)、勤務地(office)を返却します。そうでない場合は、従業員氏名(name)、電話番号(telephone)を返却します。

以下にXQuery式と、返却されるXMLデータを示します。

XQuery式
for $employee in /employees/employee return
if($employee[position/text()="課長"]) then 
($employee[position]/name, 
 $employee[position]/telephone, 
 $employee[position]/mail,
 $employee[position]/office)
else 
($employee[position]/name, 
 $employee[position]/telephone)
返却結果
<name>
  <family>佐藤</family><first>正志</first>
</name>
<telephone>1111-XXXX</telephone>
<name>
  <family>田中</family><first>正文</first>
</name>
<telephone>2222-XXXX</telephone>
<name>
  <family>鈴木</family><first>英二</first>
</name>
<telephone>3333-XXXX</telephone>
<mail>XXXX03@mail.co.jp</mail>
<office>丸の内</office>
<name>
  <family>田中</family><first>文雄</first>
</name>
<telephone>4444-XXXX</telephone>
<name>
  <family>加藤</family><first>明夫</first>
</name>
<telephone>5555-XXXX</telephone>