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

Jonathan Robie updated QPID-879:
--------------------------------

    Attachment: xmlexchange.diff

This patch implements an XML Exchange using XQilla and Xerces  (configure.ac is 
set up to ensure that the XML Exchange is built only if the libraries are 
available on the given system).

A new exchange type, "xml", is available. The following code shows how to bind 
a query on this exchange:

session.queueDeclare(arg::queue="message_queue");
session.exchangeDeclare(arg::exchange="xml", arg::type="xml");

FieldTable binding;
binding.setString("xquery", "declare variable $control external;"
                                  "./message/id mod 2 = 1 or $control = 'end'");
session.queueBind(arg::exchange="xml", arg::queue="message_queue", 
arg::routingKey="query_name", arg::arguments=binding);

The language used to specify bindings is XQuery. Query conditions can be set on 
message properties using external variables, or on the content of an XML 
message using path expressions, or both.


> Adding support for XML-based routing
> ------------------------------------
>
>                 Key: QPID-879
>                 URL: https://issues.apache.org/jira/browse/QPID-879
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: Jonathan Robie
>         Attachments: xmlexchange.diff
>
>
> I am writing a new exchange type for XML content. Bindings for the XML 
> exchange type can specify binding conditions using XQuery.
> I'm implementing this using the XQilla engine 
> (http://xqilla.sourceforge.net), which is licensed under Apache License 
> Version 2 (http://xqilla.sourceforge.net/Licence).
> Jonathan

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to