Thanks Indika and Andreas for the feedback. Let's see what others have to say about $subject.
On Sun, Jul 24, 2011 at 5:56 AM, indika kumara <[email protected]>wrote: > 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 > <[email protected]> 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 <[email protected]> > 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 > >> <[email protected]> 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_s6ygtaas...@mail.gmail.com%3E > >>> [2] - https://issues.apache.org/jira/browse/AXIOM-367 > >>> -- > >>> Regards, > >>> Heshan Suriyaarachchi > >>> > >>> http://heshans.blogspot.com/ > >>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [email protected] > >> For additional commands, e-mail: [email protected] > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Regards, Heshan Suriyaarachchi http://heshans.blogspot.com/
