ノード名がテキストで始まるノード値を選択するための xquery の作成方法。たとえば、ドキュメント
<doc>
<cpv1>Value1</cpv1>
<cpv2>Value2</cpv2>
<cpv3>Value3</cpv3>
<zzz>Hello world!</zzz>
</doc>
Value1、Value2、Value3 を取得する必要があります。
ノード名がテキストで始まるノード値を選択するための xquery の作成方法。たとえば、ドキュメント
<doc>
<cpv1>Value1</cpv1>
<cpv2>Value2</cpv2>
<cpv3>Value3</cpv3>
<zzz>Hello world!</zzz>
</doc>
Value1、Value2、Value3 を取得する必要があります。
したがって、DocumentRequest ノードには Alias ノードが含まれます。プレフィックス val で始まるすべての Alias ノードを選択します。
<ArrayOfDocumentRequest>
<DocumentRequest>
<Alias>
prefix1_OtherText
</Alias>
</DocumentRequest>
<DocumentRequest>
<Alias>
prefix2_OtherText
</Alias>
</DocumentRequest>
</ArrayOfDocumentRequest>
<F_PREFIXLIST>
<prefixes>
<p>prefix1</p>
<p>prefix2</p>
<p>prefix3</p>
</prefixes>
</F_PREFIXLIST>
for $i in /ArrayOfDocumentRequest
for $p in $F_PREFIXLIST/prefixes/p
return $i/DocumentRequest/Alias[fn:starts-with(text(), $p/text())]
//doc/*[fn:starts-with(fn:local-name(), 'cpv')]/text()
Value1、Value2、Value3 を指定する xpath 式は次のとおりです。 //*[substring(text(), 1,5) ="Value"]/text()