Ross,

I ran across xml-smarty today.  It is also based on libxml and the author seems to have solved the cross document node copying issue. 

xml-smarty's license is lgpl rather than the MIT license, but I believe it is legal to look and see how things are done as long as you don't directly copy the code.  Then again, I am no lawyer :)

http://raa.ruby-lang.org/project/ruby-xml-smart/

I hope this is of some help.

Doug

On 6/6/06, Ross Bamford <[EMAIL PROTECTED]> wrote:
On Mon, 05 Jun 2006 00:46:12 +0100, Doug Bryant <[EMAIL PROTECTED]>
wrote:

> ... and thanks for trying!
>
> What are the plans for upcoming memory management in libxml-ruby?  I
> have seen some stuff floating around on the net about the current
> implementation trying to bypass ruby's gc.  Are there plans to use
> rubys mark & sweep api?  Is this related to the bug in question?
>

It may be somewhat related, although there's an aspect I'm missing with
libxml2, since it's the xmlFreeDoc that actually causes the fault when a
node exists in two documents. I'm looking more into how xmlDocCopyNode and
so on works, and I might need to ask on the libxml2 list yet, but I'm
working on it :)

The current implementation does try to avoid the GC where possible, and
there was some discussion a while back with Sean about this. He made the
decision based (I think) on Ruby's performance at the time but with
hindsight he thought it might be better to change the way memory is
handled, and stick with the GC where possible. I'm planning a gradual
migration as stuff needs to be worked on, and I'm hoping to get started
with the basic XML::Node and XML::Document stuff pretty soon (possibly in
a cvs branch).

--
Ross Bamford - [EMAIL PROTECTED]
_______________________________________________
libxml-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/libxml-devel

_______________________________________________
libxml-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to