synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From indika kumara <indika.k...@gmail.com>
Subject Re: XPath 2.0 support for Synapse
Date Sun, 24 Jul 2011 00:26:03 GMT
Thank Andreas for the detailed information.

I think the option 2 is great but seems a long-term solution.  The
option 1 is an acceptable solution if there is an XPATH 2.0 engine
supporting custom object models effectively.

~ Indika

On Sun, Jul 24, 2011 at 2:23 AM, Andreas Veithen
<andreas.veithen@gmail.com> wrote:
> Axiom uses Jaxen for its XPath support because Jaxen has an
> abstraction layer that allows to plug in any object model. The
> javax.xml.xpath API is also designed to support multiple object
> models, however AFAIK existing implementations only support DOM. That
> means that one would have to convert the entire message to DOM every
> time an XPath expression is evaluated. Obviously that is not a good
> thing to do.
>
> Since building and maintaining an XPath 2.0 implementation is out of
> the scope of the Axiom project, this leaves us with two reasonable
> options:
>
> 1. Find an existing XPath 2.0 implementation that has the same level
> of object model independence as Jaxen. If such an implementation
> exists, one would only have to write the glue code to integrate it
> with Axiom.
>
> 2. Use an Axiom implementation that not only implements enough of the
> Axiom API to support the Axis2 and Synapse runtime, but also provides
> a decent implementation of the DOM API so that an existing
> implementation of the javax.xml.xpath API can be used. This is not the
> case for DOOM: it doesn't implement the Axiom API well enough to run
> Axis2. I've been working for some time on a project [1] that provides
> this kind of implementation. It is making steady progress, but it is
> still very experimental and is only able to run some parts of the
> Axis2 runtime.
>
> Andreas
>
> [1] http://code.google.com/p/ddom/
>
> On Fri, Jul 15, 2011 at 05:01, indika kumara <indika.kuma@gmail.com> wrote:
>> Heshan, I think the better option is to use the standard
>> javax.xml.xpath API, and try to avoid AXIOMXPath.  It seems that saxon
>> supports javax.xml.xpath API. It should be a matter of configuring a
>> property to force to use Saxon implementation - just like XSLT
>> transformation, Schema validation.
>>
>> There may be a trade-off between flexibility and performance with the
>> selection of a standard API or AXIOMXPath. However, with OMSource
>> [3-4] or similar thing, you should be able to plug AXIOM XML model to
>> the XPATH engine in a standard way. So, effectively, you may be able
>> to get any performance gain (if there are) from the use of AXIOMXPath
>> with the standard way too.  BTW, anything needs to be validated.
>>
>> Thanks,
>>
>> Indika
>>
>> [1] http://download.oracle.com/javase/1.5.0/docs/api/javax/xml/xpath/package-frame.html
>> [2] http://www.saxonica.com/documentation/javadoc/index.html
>> [3] http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/
>> [4] http://ws.apache.org/axiom/apidocs/org/apache/axiom/om/impl/jaxp/OMSource.html
>>
>> On Fri, Jul 15, 2011 at 12:15 PM, Heshan Suriyaarachchi
>> <heshan.suriyaarachchi@gmail.com> wrote:
>>> Hi Devs,
>>> Synapse currently does not support XPath 2.0. I am looking into a way of
>>> adding this support for Synapse.
>>> SynapseXPath is written by extending AXIOMXPath which is using Jaxen. Jaxen
>>> does not support XPath 2.0. That is the reason that we can not use XPath 2.0
>>> in Synapse.
>>> I would like to get your valuable feedback on the way to go with $subject.
>>>
>>> [1]
>>> - http://mail-archives.apache.org/mod_mbox/ws-dev/201107.mbox/%3CCAMtOT2qSuF2vB7pas_HLN29_k3aNWnYWycEoLQ_S6yGtAaSihA@mail.gmail.com%3E
>>> [2] - https://issues.apache.org/jira/browse/AXIOM-367
>>> --
>>> Regards,
>>> Heshan Suriyaarachchi
>>>
>>> http://heshans.blogspot.com/
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>> For additional commands, e-mail: dev-help@synapse.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message