BPEL 2.0中的动态分配

时间:2011-05-03 06:45:10

标签: xpath bpel

是否可以从变量和XPath字符串动态生成赋值xpath。

<assign name="dynamicAssign">
    <copy>
        <from>$VariablePayload/$xpath_into_variable_payload</from>
        <to>...</to>
     </copy>
</assign>

2 个答案:

答案 0 :(得分:2)

不,不可能从变量中提供XPath表达式。你可以做的是重写你的XPath,以便选择其名称来自其他变量的元素。然而,这仍然是一种非常静态的方法。为此,您可以将XPath谓词与name()或local-name()函数一起使用。

e.g:

<assign name="dynamicAssign">
   <copy>
       <from>$VariablePayload/*[local-name() = $firstElementName]</from>
       <to>...</to>
    </copy>
 </assign>

答案 1 :(得分:0)

如果你想让它真正动态,你必须编写一个eval函数。这将是平台和语言特定的,因为我确信每个平台都有自己的API来定义自定义xpath函数。