[
https://issues.apache.org/jira/browse/XERCESJ-1322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12616240#action_12616240
]
Ludger Bünger commented on XERCESJ-1322:
----------------------------------------
I am not sure whether I understood all the internals of Xerces.
However I suppose a solution to this seems quite simple:
We need to disable all mutation events inside all cloneNode methods using the
mutationEvents flag, and re-set the flag to it's previous value after calling
the clones.
However it appears to me that the main problem seems to be the fact that xerces
stores enclosing attributes before dispatching events and calling methods upon
the dom do not manipulate the dom itself from inside dispatched events may
overwrite the enclosing attribute setting.
> DOMSubtreeModified event is not thrown upon node removal if the removed node
> contains attributes and a undo clone of the node is created inside the
> DOMNodeRemoved event.
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: XERCESJ-1322
> URL: https://issues.apache.org/jira/browse/XERCESJ-1322
> Project: Xerces2-J
> Issue Type: Bug
> Components: DOM (Level 2 Events)
> Affects Versions: 2.9.1
> Reporter: Ludger Bünger
> Attachments: SubtreeModifiedTestcase.java
>
>
> DOMSubtreeModified event is not thrown upon node removal if the removed node
> contains attributes and a undo clone of the node is created inside the
> DOMNodeRemoved event.
> 4 conditions all have to be met to reproduce this:
> 1) The removed node needs to has an attribute that is internally represented
> as text node, not a string
> 2) there also needs to be an attribute modified listener present
> 3) the modification has to be a removal (other do not cause this)
> 4) the node to be removed has to cloned deep (thus including the attributes
> inside) in the domNodeRemoved event caused by condition 3.
> I'll provide a test case at hand to reproduce the issue
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]