【发布时间】:2019-06-23 04:53:44
【问题描述】:
我从数据库中检索 XPath(通过 DSS),我需要将它应用到正文。这有可能吗?
举个例子,假设我有这个 xml 请求
<custom>
<id>24</id>
<text>Some Text</text>
<firstOccurId>123456</firstOccurId>
<secondOccurId>654321</secondOccurId>
</custom>
我取 ID (24) 并调用模板,它将返回
<replacements>
<row>
<value>ABCDEFG</value>
<xpath>/*/custom/firstOccurId</xpath>
</row>
<row>
<value>GFEDCDBA</value>
<xpath>/*/custom/secondOccurId</xpath>
</row>
</replacements>
现在我需要对请求应用 xpath 并更改它的值,所以转换后的请求正文如下所示
<custom>
<id>24</id>
<text>Some Text</text>
<firstOccurId>ABCDEFG</firstOccurId>
<secondOccurId>GFEDCDBA</secondOccurId>
</custom>
我尝试了评估()并将 XPath 字符串放入调用模板中介的 {{}} 中,但都没有成功。
【问题讨论】:
-
evaluate(..)函数需要像 Saxon 9 的商业版本一样的 XSLT-3.0 处理器。提供此商业版本的替代方案需要比您提供的信息更多的信息 - 如果可能的话。 -
WSO2 EI 确实有 evaluate(),但老实说,我不知道它到底做了什么。
-
AFAIK
evaluate(...)将参数视为 XPath 表达式。 -
是的,现在确实有效,这是我的问题。
标签: xpath wso2 wso2esb synapse