Function WSO2 ESB 4.8.1中支持的XPath函数
WSO2 ESB 4.8.1中似乎不支持以下XPath函数:Function WSO2 ESB 4.8.1中支持的XPath函数,function,xpath,wso2,esb,synapse,Function,Xpath,Wso2,Esb,Synapse,WSO2 ESB 4.8.1中似乎不支持以下XPath函数: escape-html-uri() iri-to-uri() encode-for-uri() 有人知道WSO2 ESB 4.8.1中支持哪些XPath函数,哪些不支持吗?据我所知,synapse XPath实现是基于Jaxen构建的,而Jaxen只是XPath版本1.0。因此,这些函数都不受支持,您只有非常有限的附加synapse特定的get属性扩展。从4.5.0版开始,WSO2 ESB支持XPath 2.0。默认情况下它是禁用
- escape-html-uri()
- iri-to-uri()
- encode-for-uri()
有人知道WSO2 ESB 4.8.1中支持哪些XPath函数,哪些不支持吗?据我所知,synapse XPath实现是基于Jaxen构建的,而Jaxen只是XPath版本1.0。因此,这些函数都不受支持,您只有非常有限的附加synapse特定的
get属性
扩展。从4.5.0版开始,WSO2 ESB支持XPath 2.0。默认情况下它是禁用的,因此您需要执行以下操作才能启用它
- 打开
$ESB\u HOME/repository/conf/synapse.properties
- 取消对下一行的注释
synapse.xpath.dom.failover.enabled=true
syn
前
谢谢你,伊恩。是的,似乎只支持非常有限的XPath 1.0函数。XPath 1.0中的fn:translate()函数也不受很好的支持。@tuan可以在不使用fn:
前缀的情况下尝试它-整个http://www.w3.org/2005/xpath-functions
名称空间是XPath 2.0的东西,1.0核心函数不在名称空间中。我建议你加倍确保你所使用的任何文档或教程都是关于1.0而不是2.0的。尤其是这是W3学校出了名的不擅长的事情…谢谢伊恩。我成功地使用了fn:concat()函数。fn:translate()函数确实执行了,但返回了意外结果。无论如何,由于XPath函数的支持有限,我最终使用Javascript来执行我需要的一些中介逻辑。这非常有效。
<property expression="syn:get-property('myProperty')" name="getMyProperty" scope="default" type="STRING"/>