Files
sogo/SOPE/NGCards/versitCardsSaxDriver
Wolfgang Sourdeau a24ba75298 Monotone-Parent: 075c67e05325ad90a16ac0da1000c41d2ff882fb
Monotone-Revision: 45bea3e2e145934a34aeefc02e3b87dc35017013

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-05-03T21:56:25
Monotone-Branch: ca.inverse.sogo
2007-05-03 21:56:25 +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