Also note you should test the behavior when call QueryInterface for IStream multiple times whether a new wrapper or the same wrapper is returned and whether the tree is cleared on QueryInterface. And I forgot to mention that calling Release on the IStream interface is the correct way of disposing the interface so that call may have effect on the object as well.
Kornél
----- Original Message ----- From: "Kornél Pál" kornelpal@gmail.com To: "Josef Reidinger" josef.reidinger@gmail.com; wine-devel@winehq.org Sent: Monday, February 11, 2008 1:15 PM Subject: Re: IStream interface for domdoc and terminate call
OK, sorry I didn't realized that you try to modify the Wine implementation.
I think that delaying pasing for the fist time you call a method of the DOMDocument object would be a good solution. This way you will not perform any unnecessary parings.
I don't know the exact details of MS implementations so you should check when and how are parsing errors reported and when is the parsed document available when you write the DOMDocument throug it's IStream interface and you should dealy parsing to the latest possible time.
Kornél
----- Original Message ----- From: "Josef Reidinger" josef.reidinger@gmail.com To: "Kornél Pál" kornelpal@gmail.com Sent: Monday, February 11, 2008 12:58 PM Subject: Re: IStream interface for domdoc and terminate call
Hi I mean using call IStream_write like it is describe in bug #4811.
Kornél Pál napsal(a):
Hi,
If you mean passing an IStream interface to DOMDocument.save method: As far as I know save method is synchronous (if I'm wrong you still can set the async property to FALSE). So when the save method returns you know that the entire document has been passed to the IStream.
If you want to do something else please be more specific.
Kornél
----- Original Message ----- From: "Josef Reidinger" josef.reidinger@gmail.com To: wine-devel@winehq.org Sent: Monday, February 11, 2008 11:55 AM Subject: IStream interface for domdoc and terminate call
Hi, I try make IStream write interface for domdoc (msxml3). Problem is that microsoft doesn't have terminate string for write call and libxml have proble with it (more at http://mail.gnome.org/archives/xml/2008-February/msg00052.html ). Does anyone has any idea how solve it? (test in each dom call if is some nonparsed characters and force parsing looks very ugly). JR