検索した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つの要素を特定する指定にして取り出してください。