XMLDocument "WrongDocument" error and object comparision...
I'm playing with XML Document, and I'm finding that I'm getting a bogus WrongDocument error from the sample file. If I open up the 'slides' document and hit 'Change' I'm getting a WrongDocument exception at line 433 of Node.py. if document and ownerDocument and document != ownerDocument: raise ZDOM.WrongDocumentException() (I also see this when I try to create a new document) Putting a print "DOC", document, ownerDocument print "DOC2", id(document), id(ownerDocument) on the line before it gives back DOC <Document instance at 863bf90> <Document instance at 863bf90> DOC2 139736152 139811552 so they _look_ like the same object, but comparision is failing. On a hunch, I tried changing the code to compare document.aq_base and ownerDocument.aq_base, and this works. I have _no_ idea if this is correct, though. I'm running the latest CVS, including Jim's changes to Acquisition.c (r1.36) for numeric object comparision - could this be the problem? anyone? Anthony (patch to make it work for me: ) --- Node.py 2000/02/05 00:33:16 1.18 +++ Node.py 2000/02/24 04:17:55 @@ -430,7 +430,7 @@ raise ZDOM.HierarchyRequestException('Node type does not support children.') document=newChild.getOwnerDocument() ownerDocument=self.getOwnerDocument() - if document and ownerDocument and document != ownerDocument: + if document and ownerDocument and document.aq_base != ownerDocument.aq_base: raise ZDOM.WrongDocumentException() if newChild.getNodeType() == DOCUMENT_FRAGMENT_NODE: newChildren=newChild
participants (1)
-
Anthony Baxter