gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on NSXMLNode and related classes


From: Richard Frith-Macdonald
Subject: Re: Question on NSXMLNode and related classes
Date: Mon, 31 Aug 2009 08:57:58 +0100


On 28 Aug 2009, at 20:08, Doug Simons wrote:

Hi Richard,

Thanks for your reply! Actually, we're fairly heavily invested in using the NSXMLNode API's. So if we were going to look at GSXML or any other library, it would be as a means to implement those classes.

As you have decided to use the new Apple classes, your best bet seems to be to implement them on top of libxml2 ... which is what GSXML already does, so you should be able to re-use much of that code (I think it already does most of what the apple stuff does).

I have no inside information about how Apple's implementation works, but I see that libxml2 is installed on the system, so your assumption that they use it seems reasonable. So probably building the GNUstep implementation on that library will help to keep everything compatible.

I spent some time with google, and managed to find some emails where people from Apple explicitly say their code is built on top of libxml2, so an implementation based on that for GNUstep is almost guaranteed to be able to fairly easily keep up with any further extensions Apple add.

Here's a list of the methods we are using in these classes (it's possible that I missed a couple, but this should be close):

NSXMLNode Methods:

<snip>

I think that list is extensive enough that you practically need to implement the whole thing ... not difficult, but more time consuming than I can afford now (though I can always spare a bit of time to help). It's possible you could write the NS classes as thin wrappers round the GSXML classes, but given the amount you want to do, I think you would be best advised to wrap libxml2 directly using the working code in the GSXML classes as an example of how libxml2 works and can be used, and copying chunks of code where it saves time.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]