I guess that this means that the content of resources/test.xml is not
the same as str.

Andreas

On Thu, Oct 10, 2013 at 10:48 AM, Asiri Liyana Arachchi
<[email protected]> wrote:
> Here the Input stream "is" is created using String and passed  to the
> createOMBuilder method. Then the Document "doc" can be successfully passed
> to the Psychopath processor and get the desired out puts.
>
> But when Input stream is created from a file "is1" , the corresponding
> Document "doc" cannot be successfully passed to the pyscopath. then it gives
> this [7] error.
>
> As the same error  occurred here [8] it seems that Axiom's DOM
> implementation doesn't implement the compareDocumentPosition method. I've
> checked the method and it's just the method with out any content and yet to
> implement. Fixing this will ensure DOOM has a level of compliance to DOM
> that is high enough to support psychopath to some extent as you've
> mentioned.
>
> In a situation where an xml file is provided for the xpath evaluation what
> if an inside functionality is implemented in AXIOMXPath2 class  to read and
> xml file in to a String then use it to get the work done?
>
> I'll appreciate if you can give me some advice on this situation.
>
>         String str = " <Persons name='cad'> <Person> <Name>Dihini
> Himahansi</Name><Sex>Female</Sex><Address><City>Rajagiriya</City><District>Colombo</District><Country>Sri
> Lanka</Country></Address></Person></Persons>  ";
>         InputStream is = new ByteArrayInputStream(str.getBytes());
>
>         InputStream is1 = new FileInputStream("resources/test.xml");
>
>         OMMetaFactory omMetaFactory =
> OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
>         OMFactory omFac = omMetaFactory.getOMFactory();
>         OMXMLParserWrapper parser =
> OMXMLBuilderFactory.createOMBuilder(omFac,is) ;
>         Document doc = (Document) parser.getDocument();
>
>
>         StaticContextBuilder scb = new StaticContextBuilder();
>
>         String xpathText = "/Persons/Person/Name/text()";
>         XPath2Expression expr = new Engine().parseExpression(xpathText,
> scb);
>
>         ResultSequence rs = expr.evaluate(new DynamicContextBuilder(scb),new
> Object[] { doc });
>
>          for (int i = 0; i < rs.size(); ++i) {
>              System.out.println(rs.value(i));
>          }
>
> [7]
> Exception in thread "main" org.w3c.dom.DOMException: NOT_SUPPORTED_ERR: The
> implementation does not support the requested type of object or operation.
> at org.apache.axiom.om.impl.dom.DOMUtil.newDOMException(DOMUtil.java:82)
> at
> org.apache.axiom.om.impl.dom.NodeImpl.compareDocumentPosition(NodeImpl.java:212)
> at
> org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.compare_node(NodeType.java:222)
> at
> org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.access$0(NodeType.java:210)
> at
> org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType$1.compare(NodeType.java:63)
> at java.util.TreeMap.put(TreeMap.java:545)
> at java.util.TreeSet.add(TreeSet.java:255)
> at java.util.AbstractCollection.addAll(AbstractCollection.java:342)
> at java.util.TreeSet.addAll(TreeSet.java:312)
> at
> org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.linarize(NodeType.java:418)
> at
> org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.do_step(DefaultEvaluator.java:1165)
> at
> org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:1249)
> at
> org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr.accept(XPathExpr.java:43)
> at
> org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.do_expr(DefaultEvaluator.java:337)
> at
> org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.visit(DefaultEvaluator.java:366)
> at org.eclipse.wst.xml.xpath2.processor.ast.XPath.accept(XPath.java:58)
> at
> org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.evaluate2(DefaultEvaluator.java:325)
> at org.eclipse.wst.xml.xpath2.processor.ast.XPath.evaluate(XPath.java:131)
> at psychopath.main(psychopath.java:78)
>
> [8] :
> http://stackoverflow.com/questions/18943283/how-to-pass-dom-document-created-using-axiom-to-evaluate-xpath-in-psychopath-pro
>
>
> Thanks
>
> Asiri
>
> On Sun, Sep 22, 2013 at 2:40 PM, Andreas Veithen <[email protected]>
> wrote:
>>
>> On Sun, Sep 22, 2013 at 8:53 AM, Asiri Liyana Arachchi
>> <[email protected]> wrote:
>> > Couldn't find a method to create W3C Document using Axiom. [1] says
>> > createDocument method is protected which returns OMDocument which can be
>> > cast to W3C Document. But [2] suggests that in impemetation of the
>> > StAXOMBuilder class that method is declared private.
>> > I have discussed this matter here [3].
>> > Isn't there any way to create w3c Document using Axiom.
>> >
>> > [1]
>> >
>> > http://people.apache.org/~veithen/axiom/apidocs/org/apache/axiom/om/impl/builder/StAXOMBuilder.html
>> > [2]
>> >
>> > http://svn.wso2.org/repos/wso2/branches/carbon/3.0.0/dependencies/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java
>> >
>> > [3]http://stackoverflow.com/questions/18940777/cant-invoke-the-protected-method-in-staxombuilder-class
>>
>> Please refer to the release Javadoc at [4] and the official source
>> code at [5]. I've answered your question on Stackoverflow. Also note
>> that the quickstart samples document [6] on the Axiom Web site has an
>> example of using DOM.
>>
>> [4] http://ws.apache.org/axiom/apidocs/index.html
>> [5] https://svn.apache.org/repos/asf/webservices/axiom/
>> [6] http://ws.apache.org/axiom/quickstart-samples.html
>>
>> > About the requirement of  the PsychoPath library being available as a
>> > Maven
>> > artifact from the central repository, I got to know that the psychopath
>> > XPath2 engine is available through the P2 repositories (only - at this
>> > point), and if Apache maven is used for building , Tycho can be used to
>> > fetch the dependencies through P2. I'm still working on that.
>>
>> Note that the purpose of the restriction on the allowed repositories
>> is to ensure long term build stability. In particular, the source code
>> of an Axiom version released today should still be buildable in a
>> couple of years. Introducing a P2 repository is fine, provided that it
>> has similar guarantees in terms of long term stability as the Maven
>> central repository. Probably this is the case for the P2 repositories
>> linked to particular Eclipse releases (such as
>> http://download.eclipse.org/releases/kepler).
>>
>> > Regards
>> > Asiri
>> >
>> >
>> > On Sun, Sep 15, 2013 at 12:14 AM, Andreas Veithen
>> > <[email protected]> wrote:
>> >>
>> >> On Thu, Sep 12, 2013 at 4:05 PM, Asiri Liyana Arachchi
>> >> <[email protected]> wrote:
>> >> > Since there are no other processors which are object model
>> >> > independent,
>> >> > and
>> >> > because of the fact that the Axiom provides a DOM implementation I
>> >> > think
>> >> > integrating Psychopath Xpath Processor with Axiom is the option left
>> >> > if
>> >> > to
>> >> > give Axiom XPath 2 support.
>> >> > in the issue page you have mentioned that
>> >> >  "Because of (1) the work required to integrate PsychoPath with Axiom
>> >> > would
>> >> > be to ensure that DOOM has a level of compliance to DOM that is high
>> >> > enough
>> >> > to support PsychoPath. "
>> >> >
>> >> > what work need to be done to ensure this?
>> >> >
>> >>
>> >> The process should be as follows:
>> >>
>> >> 1. Write some test cases that use PsychoPath together with Axiom's DOM
>> >> implementation. Ideally these tests should be integrated into the
>> >> Axiom build, but this requires that the PsychoPath library be
>> >> available as a Maven artifact from the central repository, which was
>> >> not the case last time I checked.
>> >> 2. Identify the DOM methods that cause problems and that need to be
>> >> implemented/fixed.
>> >> 3. Add test cases to axiom-dom-testsuite that provide test coverage
>> >> for these methods. The test suite in axiom-dom-testsuite is executed
>> >> twice during the Axiom build: once against Apache Xerces and once
>> >> against Axiom's DOM implementation. This approach ensures that the
>> >> covered code is compliant with the DOM specs (assuming that Xerces is
>> >> compliant).
>> >> 4. Make the required changes to the DOM implementation to make the
>> >> test cases added in the previous step pass. If changes are required to
>> >> existing code, ensure that the code has enough test coverage to avoid
>> >> regressions.
>> >>
>> >> Steps 2 to 4 would have to be repeated until the tests developed in
>> >> step 1 all succeed.
>> >>
>> >> Andreas
>> >>
>> >> >
>> >> > Regards,
>> >> > Asiri
>> >> >
>> >> >
>> >> >
>> >> > .
>> >> >
>> >> >
>> >> > On Sun, Jul 7, 2013 at 3:42 PM, Andreas Veithen
>> >> > <[email protected]>
>> >> > wrote:
>> >> >>
>> >> >> From the documentation:
>> >> >>
>> >> >> "Saxon supports these models by wrapping each external node in a
>> >> >> wrapper that implements the Saxon NodeInfo interface. When nodes are
>> >> >> returned by the XQuery or XPath API, these wrappers are removed and
>> >> >> the original node is returned. Similarly, the wrappers are generally
>> >> >> removed when extension functions expecting a node are called."
>> >> >>
>> >> >> That is very bad from a performance perspective. Jaxen uses a
>> >> >> pattern
>> >> >> [1] that avoids this, so that using Saxon would be a regression.
>> >> >>
>> >> >> Andreas
>> >> >>
>> >> >> [1]
>> >> >>
>> >> >>
>> >> >> https://svn.apache.org/repos/asf/webservices/axiom/tags/1.2.14/modules/axiom-api/src/main/java/org/apache/axiom/om/xpath/DocumentNavigator.java
>> >> >>
>> >> >>
>> >> >> On Sun, Jun 30, 2013 at 4:45 PM, Asiri Liyana Arachchi
>> >> >> <[email protected]> wrote:
>> >> >> > Hi all,
>> >> >> > I am 3rd year undergraduate of Department of Computer Science and
>> >> >> > Engineering, University of Moratuwa, Sri Lanka.
>> >> >> > I would to like to work on the above project.
>> >> >> >
>> >> >> > I went through the discussion on the issue:AXIOM-367 page. As far
>> >> >> > as
>> >> >> > I
>> >> >> > understood Saxon-HE is good choice if it supports integration with
>> >> >> > object
>> >> >> > models other than DOM.
>> >> >> >
>> >> >> > [1]   " Support for Axiom, JDOM, JDOM2, XOM, and DOM4J is not
>> >> >> > available
>> >> >> > "out
>> >> >> > of the box" with Saxon-HE, but the source code is open source (in
>> >> >> > sub-packages of net.sf.saxon.option) and can be compiled for use
>> >> >> > with
>> >> >> > Saxon-HE if required. "
>> >> >> >
>> >> >> > Does this make Saxon-HE a viable option?
>> >> >> >
>> >> >> > [1]
>> >> >> > http://www.saxonica.com/documentation/sourcedocs/thirdparty.html
>> >> >> >
>> >> >> > Best,
>> >> >> > Asiri
>> >> >> >
>> >> >>
>> >> >>
>> >> >> ---------------------------------------------------------------------
>> >> >> 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]
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to