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: Doug Simons
Subject: Re: Question on NSXMLNode and related classes
Date: Fri, 28 Aug 2009 13:08:20 -0600

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.

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.

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:

+ elementWithName:
+ elementWithName:children:attributes:
+ textWithStringValue:
+ attributeWithName:stringValue:
+ commentWithStringValue:
+ processingInstructionWithName:stringValue:

- kind
- name
- setName:
- childCount
- children
- childAtIndex:
- parent
- nextNode
- previousNode
- nextSibling
- previousSibling
- detach
- stringValue
- setStringValue:
- XMLString
- XMLStringWithOptions:
- description
- copy
- copyWithZone:
- XPath
- nodesForXPath:error:

NSXMLDocument Methods:

+ initWithRootElement:
+ initWithXMLString:options:error:

- initWithRootElement:
- rootElement
- characterEncoding
- documentContentKind
- MIMEType
- URI
- DTD
- version
- setCharacterEncoding:
- setDocumentContentKind:
- setMIMEType:
- setURI:
- setVersion:
- XMLData

NSXMLElement Methods:

- initWithName:
- initWithXMLString:error:
- setChildren:
- addChild:
- removeChildAtIndex:
- insertChild:atIndex:
- replaceChildAtIndex:withNode:
- attributes
- addAttribute:
- setAttributesAsDictionary:
- removeAttributeForName:
- normalizeAdjacentTextNodesPreservingCDATA:

Let me know if you have more questions about our use of any of this.

--
Doug Simons

Principal Developer
TestPlant
 
TestPlant Inc T    +1 720-890-0211 ext 13
4730 Walnut Street F    +1 720-890-0209
Boulder, CO 80301 address@hidden
USA
http://www.testplant.com

This email and any attachments may contain privileged / confidential information. If you have received this email in error
or believe that you are not the intended recipient, please delete all content and attached files and contact TestPlant via
the switchboard on +1 720-890-0211 or via return e-mail. You should not copy, forward or use any part of the
contents in any way. Any such unauthorised use or disclosure may be unlawful.

On Aug 28, 2009, at 9:28 AM, Richard Frith-Macdonald wrote:


On 28 Aug 2009, at 16:12, Richard Frith-Macdonald wrote:


On 27 Aug 2009, at 18:43, Doug Simons wrote:

Hello all,

Currently in GNUstep, the NSXMLNode class and its relatives have been stubbed out but not implemented yet. Because of this our application on Mac includes XML parsing and generating capabilities that are missing from the Linux/GNUstep version. We would love to add this functionality to the Linux version. Unfortunately, our current development schedule won't give us a chance to devote any large chunks of time to this until probably sometime next year.

My question right now is a general one about where these XML classes fit in the GNUstep list of priorities. Specifically, is anyone likely to be working on them in the next few months? It will help our planning and setting expectations with our customers.

While we don't have time to do the implementation ourselves, we would be very happy to help with testing and debugging. Our code covers a substantial number of the methods in these classes, so I think we can help ensure that at least the basic functionality is all working the same as in Cocoa when the implementation gets to that point.

I don't think they fit in the list of priorities at all ... mostly we add new stuff when people actually ask for it and are prepared to devote time to it, and do long term prioritisation of stuff on the basis of actual needs.

Historically GNUstep has been way ahead of OSX in XML support, as we had the GSXML classes long before OSX had any XML support, and we fully implemented Apple's NSXMLParser before Apple did!

Most likely, any functionality from the new XML classes is already available in the GSXML classes, so you might not need the new stuff.

All that being said ...

I've had quite a lot of experience implementing/using XML code, and i'd like to get those classes in place just for API completeness/tidyness if nothing else.

The current stubs are designed on the assumption (based on Apple's new API) that Apple implemented their new classes on top of libxml2, and we might do the same.
However, Dr Nikolaus Shaller has done partial native objc implementations in his software, which we can incorporate into GNUstep if we want.

So ... if Apple did not wrap libxml2 (can you confirm that one way or the other) we could definitely adopt one of those two approaches ... and I ought to be able to find some time to work on it over the weekend and/or next week.

Can you provide a list of exactly what features you use?


PS. You may also find that the webservices library (in gnustep svn), which works on both Apple Foundation and GNUstep, does everything you need.



_______________________________________________
Gnustep-dev mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnustep-dev



reply via email to

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