XML Implementation in IBM XML4J2_0_15 parser with XPath

Goyal, Sanjeev Sanjeev.Goyal at usa.xerox.com
Thu Oct 21 15:46:00 BST 1999


Hi Prakash,
 
I have also experiences the same problem. But I am using the sun XML-TR2
release as XML Parser. The solution to this problem is to use
changeNodeOwner() API on DocumentEx (extension of Document interface)
provided in sun's implementation. You can call this API on your Document
(which has the root node, where you want to append nodes obtained from XPath
Query) object and pass the node from XPath as parameter to this API. After
that if you append these nodes, it will work.
 
DOM Level 1 APIs doesn't have this support defined in the spec. But DOM
Level 2 spec has an API importNode() which I guess, is what we need in this
problem. I don't know if any XML Parser with DOM Level 2 support is
available as of now.
 
Try using sun's XML Parser.
 
Cheers,
Sanjeev
-----Original Message-----
From: Prakash Mandgi [mailto:pmandgi at hotmail.com]
Sent: Thursday, October 21, 1999 1:47 AM
To: xml-dev at ic.ac.uk
Subject: XML Implementation in IBM XML4J2_0_15 parser with XPath



Hi All,
    I am running into a problem using the lotus XSL XPath implementation on
IBM XML4J2_0_15. 
 
Problem:
I have an rmi service which basically takes and XPath string ( query string
), runs it across a persisted DOM object, which is retrieved from the object
database, and returns a document fragment back. The problem i am running
into is creating a new document object of which the root element is the
document fragment. I am trying to append to this root node, the nodes
obtained from the XPath query. Unfortunately the implementation of IBM
parsers is that it compares the nodes owner document with that of the
element under which i need to insert the nodes. If the owner document are
not the same, as it is my case, it will not allow you to append a child.
 
Questions:
Is this a DOM thingie or is it at an IBM implementation feature.
Does any one have a way to work around this problem without cloning the
document, which can be fairly large, and then creating a document fragment
which has the Node list embedded within it.
Is there a better implementation than that IBM parser, with source code ;-)
which has the following features
    - XPath integration
    - XML TreeDiff to find out the difference between two dom documents and
then merging the two.
Has any one implemented DOM with copy constructors for the node impl etc
objects ( I know its a C++ feature
but it makes life much simpler ;-) )
 
Other 
-- Java 1.2 implementation
 
Regards
Prakash 
 
- Need the entire source code in java  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ic.ac.uk/pipermail/xml-dev/attachments/19991021/523eb4ed/attachment.htm


More information about the Xml-dev mailing list