SOPE Libraries for XML Processing
This package contains:
- a SAX2 Implementation for Objective-C
- SaxObjC driver bundles for:
- CoreFoundation XML (XML)
- libxml2 (HTML and XML)
- Structured Text (stx, thanks to Extrapola :-)
- libical (iCalendar, vCard)
- VersitSaxDriver (iCalendar, vCard) - thanks to Max Berger
- expat (XML, untested)
- plists (plist, untested)
- pyx (pyx, untested)
- an attempt to implement DOM on top of SaxObjC
- an XML-RPC implementation (without a transport layer)
The libraries are released under the GNU Lesser General Public License.
Graffle Overviews
Tutorials / Examples
- rss2plist1 - writing a "raw" SAX handler
- rss2plist2 - writing a SAX handler using SaxMethodCallHandler
- rssparse - parsing/mapping XML files using SaxObjectDecoder
Requirements
To build sope-xml you need:
- a Foundation library (MacOSX, libFoundation or gstep-base)
- libxml2
- libical for processing of iCalendar/vCard files
- expat for trying the Expat SAX driver
FAQ
Q: If I try to use SaxObjectDecoder my program dumps core (OpenBSD) or complains about -takeValue:forKey: not being found!
A: In case you use sope-xml in conjunction with libFoundation you need to link your program against EOControl from sope-core. Sope-xml uses -takeValue:forKey: which is not implemented in libFoundation (but part of Foundation on both, gstep-base and Cocoa).