Thanks Michael,
Somewhat related to this, I note that the feature 'defer-node-expansion'
can not be set to false when the default document factory is used[1]. I
understand why a person might want to defer node expansion but in all of
my cases, I have to traverse every node. I am wondering, does having a
deferred node decrease performance, especially over larger documents,
when you're going to be hitting every node? If so, might it be possible
to allow adjusting the defer-node-expansion feature even when the
default factory is used?
[1] http://xerces.apache.org/xerces-j/features.html#defer-node-expansion
On 6/2/10 11:56 AM, Michael Glavassevich wrote:
Thanks Chad. The test was very helpful and seems to be passing now after
the fix I just committed. We have to force a full expansion of the node
being transferred while it still has a reference to its original
document and weren't doing that when both DOMs (source and target) were
initially built by a parser.
Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrgla...@ca.ibm.com
E-mail: mrgla...@apache.org
Chad La Joie <laj...@itumi.biz> wrote on 06/02/2010 08:26:32 AM:
> Okay, bug with test case submitted:
>
> https://issues.apache.org/jira/browse/XERCESJ-1450
>
> On 5/31/10 6:24 PM, Michael Glavassevich wrote:
> > Hi Chad,
> >
> > I believe you've found a bug. There have been problems in the past with
> > transferring deferred nodes from one document to another through
> > adoptNode(). Perhaps we missed this scenario.
> >
> > Can you create a new JIRA issue [1] and a test case which demonstrates
> > the problem?
> >
> > Thanks.
> >
> > [1] https://issues.apache.org/jira/browse/XERCESJ
> >
> > Michael Glavassevich
> > XML Parser Development
> > IBM Toronto Lab
> > E-mail: mrgla...@ca.ibm.com
> > E-mail: mrgla...@apache.org
> >
> > Chad La Joie <laj...@itumi.biz> wrote on 05/31/2010 05:44:56 PM:
> >
> > > Just a bit more data. If I create a completely new document and adopt
> > > all the elements in to the new document all the elements are adopted
> > > without a problem.
> > >
> > > On 5/31/10 4:50 PM, Chad La Joie wrote:
> > > > I have some code that takes a number of relatively large
(~10MB) XML
> > > > documents, extracts various elements and then adopts them in to
one of
> > > > the documents (i.e. if documents A, B, and C were read in and
> > worked on,
> > > > all the elements might get adopted into A).
> > > >
> > > > This works fine for some number of adoptions but eventually I
> > always get
> > > > the following error:
> > > > java.lang.ArrayIndexOutOfBoundsException: 32
> > > > at
org.apache.xerces.dom.DeferredDocumentImpl.clearChunkValue(Unknown
> > > > Source)
> > > > at
> > org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(Unknown
> > > > Source)
> > > > at
> > org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(Unknown
> > > > Source)
> > > > at org.apache.xerces.dom.DeferredTextImpl.synchronizeData(Unknown
> > Source)
> > > > at org.apache.xerces.dom.NodeImpl.setOwnerDocument(Unknown Source)
> > > > at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown
Source)
> > > > at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown
Source)
> > > > at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown
Source)
> > > > at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown
Source)
> > > > at org.apache.xerces.dom.ParentNode.setOwnerDocument(Unknown
Source)
> > > > at org.apache.xerces.dom.ElementImpl.setOwnerDocument(Unknown
Source)
> > > > at org.apache.xerces.dom.CoreDocumentImpl.adoptNode(Unknown Source)
> > > >
> > > > I can't see anything special or unique about the element that
is being
> > > > adopted when the error occurs. It pretty much looks like every
other
> > > > element that gets adopted. Given the same order of elements to be
> > > > adopted the error always occurs one the same element. Changes
in the
> > > > ordering cause more or fewer elements to be adopted. This makes me
> > > > wonder if the issue is an internal buffer somewhere that isn't
growing
> > > > appropriately.
> > > >
> > > > Has anyone run in to this before?
> > > >
> > > > Thanks.
> > > >
> > >
> > > --
> > > Chad La Joie
> > > http://itumi.biz
> > > trusted identities, delivered
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
> > > For additional commands, e-mail: j-users-h...@xerces.apache.org
> >
>
> --
> Chad La Joie
> http://itumi.biz
> trusted identities, delivered
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
> For additional commands, e-mail: j-users-h...@xerces.apache.org
--
Chad La Joie
http://itumi.biz
trusted identities, delivered
---------------------------------------------------------------------
To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-users-h...@xerces.apache.org