[ 
https://issues.apache.org/jira/browse/CAMEL-16485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-16485.
---------------------------------
    Resolution: Information Provided

> Allow XML namespaces for xpath mock expectations
> ------------------------------------------------
>
>                 Key: CAMEL-16485
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16485
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-test
>    Affects Versions: 3.9.0
>            Reporter: Dietrich Schulten
>            Priority: Major
>
> It is possible to write an xpath expectation for a mock endpoint:
> {code:java}
>  mockendpoint.message(0).body().matches().xpath("/ns2:myElement"){code}
> However, this does not seem to work with namespaced elements (ns2 in the 
> example above).
> The Camel XPath documentation says that the {{Namespaces}} class can be used 
> to define namespaces for e.g. xpath filters (btw. the code snippet that was 
> formerly presented to show the usage got lost in the current manual).
> Also, the {{XPathBuilder}} already has a {{namespace()}} method to set 
> namespaces. But it appears that the {{MockExpressionClause.getExpressionValue 
> }}does not support that, it uses {{XPathLanguage.createPredicate}} to create 
> the XPath expression with a plain {{XPathBuilder}} without defining 
> namespaces.
> Is it possible to add namespaces to mock expectations somehow? If not I would 
> like to suggest such support as an improvement. If it were built like the 
> filter DSL, it should be possible to say sth like:
> {code:java}
> Namespaces namespaces = new Namespaces("ns2", "http://xpsw.domap.de/xpsw174";);
> mockendpoint.message(0).body().matches().xpath("/ns2:myElement", namespaces) 
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to