sogo/SOPE/NGCards/versitCardsSaxDriver
Wolfgang Sourdeau 459ab3484e Monotone-Parent: 94ff9caef87cde7157655b9f398a4481c6bf5b72
Monotone-Revision: 93bb2c6945d08d009e60e0b6280976b86b0b0aaf

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2009-06-03T23:06:52
Monotone-Branch: ca.inverse.sogo
2009-06-03 23:06:52 +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: f88d99a5bcea75c289e4a86001d1d294d3dadb9e 2009-03-24 15:27:25 +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: f88d99a5bcea75c289e4a86001d1d294d3dadb9e 2009-03-24 15:27:25 +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: 94ff9caef87cde7157655b9f398a4481c6bf5b72 2009-06-03 23:06:52 +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