Поддерживаемые функции XPath в WSO2 ESB 4.8.1

Следующие функции XPath не поддерживаются в WSO2 ESB 4.8.1:

  • escape-html-uri()
  • ири-то-ури ()
  • кодировать-для-uri()

Кто-нибудь знает, какие функции XPath поддерживаются, а какие нет в WSO2 ESB 4.8.1?


person tuan    schedule 30.04.2014    source источник


Ответы (2)


Насколько я могу судить по JavaDocs , реализация synapse XPath построена на Jaxen, то есть только XPath версии 1.0. Поэтому ни одна из этих функций не будет поддерживаться, у вас будет только очень ограниченная библиотека функций XPath 1.0 плюс специфичное для синапса расширение get-property.

person Ian Roberts    schedule 30.04.2014
comment
Спасибо Ян. Да, кажется, поддерживаются очень ограниченные функции XPath 1.0. И функция fn:translate() в XPath 1.0 также плохо поддерживается. - person tuan; 30.04.2014
comment
@tuan попробуйте без префикса fn: - все пространство имен http://www.w3.org/2005/xpath-functions - это вещь XPath 2.0, основные функции 1.0 не находятся в пространстве имен. Я предлагаю вам дважды убедиться, что в любой документации или учебнике, с которым вы работаете, определенно говорится о 1.0, а не о 2.0. В частности, это то, с чем w3schools, как известно, плохо справляется... - person Ian Roberts; 30.04.2014
comment
Спасибо Ян. Я успешно использовал функцию fn:concat(). Функция fn:translate() была выполнена, но вернула неожиданный результат. В любом случае, из-за ограниченной поддержки функций XPath я в конечном итоге использовал Javascript для выполнения некоторой необходимой мне посреднической логики. Это сработало отлично. - person tuan; 30.04.2014

XPath 2.0 поддерживается в WSO2 ESB, начиная с версии 4.5.0. По умолчанию он отключен, поэтому вам нужно сделать следующее, чтобы включить его.

  • Открыть $ESB_HOME/repository/conf/synapse.properties

  • Раскомментируйте следующую строку,

    synapse.xpath.dom.failover.enabled=true

Чтобы получить доступ к свойствам в прокси-сервисе, вам нужно использовать префикс syn.

ex.

<property expression="syn:get-property('myProperty')" name="getMyProperty" scope="default" type="STRING"/>
person Kasun Gajasinghe    schedule 01.06.2014