bpel bpel的正确语法:doXslTransform

时间:2013-04-23 04:51:25

标签: bpel

我试图在bpel赋值语句中对xml结构进行XSL转换。有一个语法问题,但我找不到官方文档。有例子all over the internet,但我没有找到明确的解释。这是我最好的一击。最后两个参数有什么作用?为什么eclipse说第一个参数必须是文字,即使test3.xsl是一个字符串?

<bpel:assign validate="yes" name="Assign">
    <bpel:copy keepSrcElementName="no">
        <bpel:from>
            <![CDATA[bpel:doXslTransform("test3.xsl", $personalInfoServiceOutput.parameters), "middle", $positionSkillManagementInput]]>
        </bpel:from>
        <bpel:to variable="positionSkillManagementInput"></bpel:to>
    </bpel:copy>
</bpel:assign>

3 个答案:

答案 0 :(得分:2)

doXSLTransform的签名如下:

object bpel:doXslTransform(string, node-set, (string, object)*)

第一个参数是XSLT脚本的名称,第二个参数是标识源文档的XPath(例如变量,部分,节点集,节点)。第三个和第四个参数是键值对,字符串是键,对象是值。这些对映射到脚本的参数上下文中,以便您可以在脚本中按名称访问这些值。可以有任意数量的这些对。

查找此类内容的最佳资源是WS-BPEL 2.0 specification,在Sect中描述了doXSLTransform。 8.4

答案 1 :(得分:0)

当我使用以下代码时:

<bpel:copy keepSrcElementName="no">
<bpel:from>
<![CDATA[bpel:doXslTransform("parseSample.xsl", $output.payload)]]>
</bpel:from>
<bpel:to variable="output"></bpel:to>
</bpel:copy>

我也得到错误,第一个参数必须是文字字符串。

但是,当我将我的服务(有错误)部署到wso2 bps时,它运行正常。

你可以试试这个。

答案 2 :(得分:0)

我遇到了同样的问题。同意NGoyal。在BPEL中显示错误,但在部署时有效。