検索したXML文書をXML形式で取り出すことにより、DOMやSAXなどのXMLデータを操作するAPIを利用できます。XML形式で取り出すには、リターン項目にパス式を指定します。以下の2つの方法があります。状況に応じて使い分けてください。
XML文書全体を取り出す
Shunsakuに格納されているオリジナルのXML文書を、そのままの形式で取り出します。通常は、この取出し方法を使います。
要素ノードを指定してXML形式で取り出す
指定された要素ノードをXML形式で取り出します。
リターン式に“/”のみを指定するとXML文書全体をそのまま取り出すことができます。
XML文書全体を取り出します。
/
結果
<doc>
<employee eno="19980120">
<name>鈴木太郎</name>
<namekana>すずきたろう</namekana>
<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>参考
ソート式を指定している場合は、検索式でヒットしたXML文書がソート式に従って並べ替えられて返却されます。
リターン項目にパス式を指定して、XML文書中の任意のノード配下のデータをXML形式で取り出すことができます。パス式が示す要素ノード配下のデータは、XML文書のルートタグ配下の要素として、XML形式で表現されます。
例として、検索式により下記の1件のXML文書がヒットしたものとして説明します。
<doc>
<employee eno="19980120">
<name>鈴木太郎</name>
<namekana>すずきたろう</namekana>
<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>従業員氏名(name)を取り出します。
/doc/employee/name

リターン式にリターン項目を複数指定することができます。それぞれのパス式は“,”で区切ります。
従業員氏名(name)、基本情報(basic)および出張目的(purpose)を取り出します。
/doc/employee/name,/doc/basic,/doc/detail/purpose
結果
<doc><name>鈴木太郎</name><basic date="2006年02月16日" expense="7200円"> </basic><purpose>プロジェクト定例会</purpose></doc>
参考
ソート式を指定している場合は、検索式でヒットしたXML文書がソート式に従って並べ替えられて返却されます。
注意
リターン項目を複数指定する場合は、すべてのリターン項目がパス式でなければなりません。テキスト式や単一行関数指定(テキスト形式での返却)と混在して指定することはできません。
リターン項目に複数の要素が該当するような指定(複数のパス式指定や、“//”,“*”の指定)をした場合、以下のように、取り出された各要素の対応関係をアプリケーションで判断できなくなります。
一部の要素が存在しない場合、どの要素が存在しないのか判断できません。
取り出された要素のパスが判断できません。
このような場合、XML文書全体を取り出すか、リターン項目に1つの要素を特定する指定にして取り出してください。