sogo/SOPE/NGCards/versitCardsSaxDriver
Wolfgang Sourdeau 852a2e95ab Monotone-Parent: 15e04e20f70b9b47fd1b07515f92cf8a50629f0b
Monotone-Revision: 1b85a9d7216f9937a44da6e0649a8b8f792b25c9

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2008-03-03T17:32:12
Monotone-Branch: ca.inverse.sogo
2008-03-03 17:32:12 +00:00
..
versitCardsSaxDriver.xcodeproj Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
AUTHORS Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
bundle-info.plist Monotone-Parent: 15e04e20f70b9b47fd1b07515f92cf8a50629f0b 2008-03-03 17:32:12 +00:00
ChangeLog Monotone-Parent: d14cd8383abb887a8f6ab0d37123f98344e95100 2007-08-27 21:54:44 +00:00
common.h Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
COPYING Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
COPYRIGHT Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
fhs.make Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
GNUmakefile Monotone-Parent: d8ee782e0279aa96226ceac45acca9d744f3f234 2008-02-14 17:31:23 +00:00
GNUmakefile.postamble Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
GNUmakefile.preamble Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
README Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
Version Monotone-Parent: 74afdab346651f172224a31826f95f99b448c10d 2007-02-21 21:10:01 +00:00
versitCardsSaxDriver-Info.plist Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
VSCardSaxDriver.h Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
VSCardSaxDriver.m Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
VSSaxDriver.h Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
VSSaxDriver.m Monotone-Parent: d14cd8383abb887a8f6ab0d37123f98344e95100 2007-08-27 21:54:44 +00:00
VSStringFormatter.h Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00
VSStringFormatter.m Monotone-Parent: 4962ab3aba4ec12e6e80cec90be3bb7824bb7b56 2007-01-31 17:11:29 +00:00

Overview
========

Two SaxObjC drivers for iCalendar and vCard files, initially written by
Max Berger <max@berger.name>.

VSiCalSaxDriver basically maps iCal 2.0 components, properties and parameters
to the XML events according to the xCal 02 draft (iCal 3.0).

Having a SAX driver for iCal might seem strange and a bit inefficient at
first look, but the time saved for the application-level developer is
significant, since he only needs to learn (or usually already knows) the
SAX or DOM APIs and any XML API based on them (like XPATH, XQUERY).

The VSiCalSaxDriver is aimed to be a replacement for the older (but better
tested as of now) iCalSaxDriver. However, the iCalSaxDriver depends on the
abandoned and hardly maintainable libical, which itself is an additional
dependency to the OGo project and thus a welcome candidate for replacement.

The VSSaxDriver attempts to follow RFC2445 closely, however the parser is
written to be robust when it comes to parsing real life content. Currently,
unescaping is done for more characters then it MUST according to RFC2445, but
this is probably not a bad idea - wrongly escaped characters will still be
parsed according to the original intent. Also, the VSSaxDriver supports Unix
style terminated lines/folding.

ToDo
====

- improve error handling (SaxExceptions !)
- make the driver fully xCal compliant


Defaults
========

Name                            Type        Description
------------------------------------------------------------------------------
VSSaxDriverDebugEnabled         BOOL        YES -> log some debug information
                                                   via NSLog


Examples
========

To "convert" an iCalendar to xCal (the test programs print out some XML):

  saxxml -XMLReader VSiCalSaxDriver test1.ics
  domxml -XMLReader VSiCalSaxDriver -xml  test1.ics

To "convert" an iCalendar to PYX:

  domxml -XMLReader VSiCalSaxDriver -pyx  test1.ics