【发布时间】:2014-06-16 15:13:41
【问题描述】:
WSO2 ESB 4.8.1 似乎不支持以下 XPath 函数:
- escape-html-uri()
- iri-to-uri()
- 为 uri() 编码
有谁知道 WSO2 ESB 4.8.1 支持哪些 XPath 函数,哪些不支持?
【问题讨论】:
标签: function xpath wso2 esb synapse
WSO2 ESB 4.8.1 似乎不支持以下 XPath 函数:
有谁知道 WSO2 ESB 4.8.1 支持哪些 XPath 函数,哪些不支持?
【问题讨论】:
标签: function xpath wso2 esb synapse
从 4.5.0 版开始,WSO2 ESB 支持 XPath 2.0。默认情况下是禁用的,因此您需要执行以下操作才能启用它。
打开$ESB_HOME/repository/conf/synapse.properties
取消注释以下行,
synapse.xpath.dom.failover.enabled=true
要访问代理服务中的属性,您需要使用前缀syn。
例如
<property expression="syn:get-property('myProperty')" name="getMyProperty" scope="default" type="STRING"/>
【讨论】:
据我从the JavaDocs 得知,Synapse XPath 实现是基于 Jaxen 构建的,它只是 XPath 1.0 版。因此,将不支持这些功能,您只有非常有限的function library of XPath 1.0 加上特定于突触的get-property 扩展。
【讨论】:
fn: 前缀 - 整个 http://www.w3.org/2005/xpath-functions 命名空间是 XPath 2.0 的东西,1.0 的核心功能不在命名空间中。我建议您加倍确保您正在使用的任何文档或教程肯定是在谈论 1.0 而不是 2.0。特别是这方面 w3schools 是出了名的不擅长......