1

ファイルcommon.xml:

<common>
  <os1>Windows 7</os1>
</common>

ファイルitem.xml:

<item>
  <os>common/os1</os>
</item>

したがって、item.xmlファイルのosノードには、common.xmlファイルのノードを指すXPath式が含まれています。XPath式( Windows 7 )が指すノードの実際の値を取得するにはどうすればよいですか。$ input-context / item / osを使用すると、 common/os1が取得されます。

私はzorba-xqueryを使用しており、次のように宣言しています。

declare variable $input-context external;
declare variable $common-context external;
4

1 に答える 1

2

これは、リフレクションモジュールのeval関数を使用して実行できます。

import module namespace reflection = "http://www.zorba-xquery.com/modules/reflection";

declare variable $common-context :=
  document {
    <common>
      <os1>Windows 7</os1>
    </common>
  };

declare variable $input-context :=
  document {
    <item>
      <os>common/os1</os>
    </item>
  };

let $path := $input-context/item/os/text()
let $query := fn:concat('$common-context/', $path, '/text()')
return
  reflection:eval($query)
于 2012-02-16T08:57:06.033 に答える