従業員情報から、従業員の役職(position)が“課長”の社員がいたら、従業員氏名(name)、電話番号(telephone)、メールアドレス(mail)、勤務地(office)を返却します。そうでない場合は、従業員氏名(name)、電話番号(telephone)を返却します。
以下にXQuery式と、返却されるXMLデータを示します。
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>