| Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 - |
目次
索引
![]()
|
| 第1部 アプリケーション開発の基本 | > 第3章 データを検索する方法 | > 3.6 検索結果を取り出す |
リターン式にテキスト式を指定して、XML文書中の任意のノード配下またはその要素ノードの属性ノードのデータをテキスト形式で取り出すことができます。
リターン式に単一行関数指定を指定することもできます。単一行関数指定を指定すると、rlen関数やval関数の結果をテキスト形式で取り出すことができます。
単一行関数指定の詳細については、“B.2.4 単一行関数指定”を参照してください。
例として、検索式により下記の1件のXML文書がヒットしたものとして説明します。
<doc>
<employee eno="19980120" position="general manager">
<name>鈴木太郎</name>
<department sno="1001">開発部</department>
<phone>2201-1101</phone>
<email>suzuki.taro@shunsaku.fujitsu.com</email>
</employee>
<basic date="2006年02月16日" expense="7200円">
</basic>
<detail>
<destination area="神奈川県横浜市港北区">本社</destination>
<purpose>プロジェクト定例会</purpose>
<train>6600円</train>
<taxi>600円</taxi>
<hotel></hotel>
<comment>特になし</comment>
</detail>
<report>次回までに販売実績チャートの作成/報告が必要</report>
</doc> |
例1
出張レポート(report)を取り出します。
/doc/report/text()結果
次回までに販売実績チャートの作成/報告が必要
例2
出張エリア(area)を取り出します。
/doc/detail/destination/@area結果
神奈川県横浜市港北区
例3
出張費用(expense)から数値を取り出します。
val(/doc/basic/@expense)結果
7200
リターン式に、リターン項目を複数指定することができます。各リターン項目は“,”で区切ります。複数のリターン項目を指定した場合は、結果として返すそれぞれのリターン項目の値は区切り文字で区切られます。
例4
従業員番号(eno)、従業員氏名(name)、出張日(date)、出張目的(purpose)を取り出します。
/doc/employee/@eno,/doc/employee/name/text(),/doc/basic/@date,/doc/detail/purpose/text()結果:Java APIの場合
19980120,鈴木太郎,2006年02月16日,プロジェクト定例会結果:.NET APIの場合
19980120 \1 鈴木太郎 \1 2006年02月16日 \1 プロジェクト定例会結果:C APIの場合
19980120 \1 鈴木太郎 \1 2006年02月16日 \1 プロジェクト定例会 \1
例5
従業員番号(eno)、部署番号(sno)および出張日(date)を取り出します。
/doc/employee/@eno,/doc/employee/department/@sno,/doc/basic/@date結果:Java APIの場合
19980120,1001,2006年02月16日結果:.NET APIの場合
19980120 \1 1001 \1 2006年02月16日結果:C APIの場合
19980120 \1 1001 \1 2006年02月16日 \1

ソート式を指定している場合は、検索結果がソート式に従って並べ替えられて返却されます。

リターン項目を複数指定する場合は、すべてのリターン項目は、テキスト式または単一行関数指定でなければなりません。パス式(XML形式での返却)と混在して指定することはできません。
目次
索引
![]()
|