Text.ICalendar.Parser
Description
Parser for the iCalendar format (version 2.0, RFC2445).
Features:
- Unfolds folded lines (see RFC)
- Supports all IANA iCalendar tokens
Warning! This is version 0.0, important things are missing
- Property and parameter values are not parsed, but kept as in the file.
- There are no restrictions on the properties components can have.
- Line unfolding causes error messages to report the wrong line.
This package is meant to grow to a full-fledged data definition, printer and parser for the iCalendar format. But that will probably take some time. So, if you've come here because you need this, please e-mail me (Eelco Lempsink).
- data ComponentName
- data PropertyName
- = CALSCALE
- | METHOD
- | PRODID
- | VERSION
- | ATTACH
- | CATEGORIES
- | CLASS
- | COMMENT
- | DESCRIPTION
- | GEO
- | LOCATION
- | PERCENT_COMPLETE
- | PRIORITY
- | RESOURCES
- | STATUS
- | SUMMARY
- | COMPLETED
- | DTEND
- | DUE
- | DTSTART
- | DURATION
- | FREEBUSY
- | TRANSP
- | TZID
- | TZNAME
- | TZOFFSETFROM
- | TZOFFSETTO
- | TZURL
- | ATTENDEE
- | CONTACT
- | ORGANIZER
- | RECURRENCE_ID
- | RELATED_TO
- | URL
- | UID
- | EXDATE
- | EXRULE
- | RDATE
- | RRULE
- | ACTION
- | REPEAT
- | TRIGGER
- | CREATED
- | DTSTAMP
- | LAST_MODIFIED
- | SEQUENCE
- | X_ String
- | REQUEST_STATUS
- data ParamName
- data ParamValue
- type Property = (PropertyName, [Param], Value)
- type Value = String
- data ICalendar = ICalendar {
- calendarProperties :: [Property]
- components :: [Component]
- data Component = Component {
- cName :: ComponentName
- properties :: [Property]
- subcomponents :: [Component]
- data Param = Param {
- pName :: ParamName
- pValues :: [ParamValue]
- parser :: GenParser Char st ICalendar
Tokens from RFC2445
data ComponentName Source
Calendar Component names (4.6)
Constructors
| VEVENT | Event Component (4.6.1) |
| VTODO | To-do Component (4.6.2) |
| VJOURNAL | Journal Component (4.6.3) |
| VFREEBUSY | Free/Busy Component (4.6.4) |
| VTIMEZONE | Time Zone Component (4.6.5) |
| X_c String | Non-standard/Experimental Component Time Zone subcomponents |
| STANDARD | Standard Time Sub-component (4.6.5) |
| DAYLIGHT | Daylight Saving Time Sub-component (4.6.5) Event and To-do subcomponent |
| VALARM | Alarm Sub-component (4.6.6) |
Instances
data PropertyName Source
Property names for Calendar Properties (4.7) and Component Properties (4.8)
Constructors
| CALSCALE | Calendar Scale (4.7.1) |
| METHOD | Method (4.7.2) |
| PRODID | Product Identifier (4.7.3) |
| VERSION | Version (4.7.4) |
| ATTACH | Attachment (4.8.1.1) |
| CATEGORIES | Categories (4.8.1.2) |
| CLASS | Classification (4.8.1.3) |
| COMMENT | Comment (4.8.1.4) |
| DESCRIPTION | Description (4.8.1.5) |
| GEO | Geographic Position (4.8.1.6) |
| LOCATION | Location (4.8.1.7) |
| PERCENT_COMPLETE | Percent Complete (4.8.1.8) |
| PRIORITY | Priority (4.8.1.9) |
| RESOURCES | Resources (4.8.1.10) |
| STATUS | Status (4.8.1.11) |
| SUMMARY | Summary (4.8.1.12) |
| COMPLETED | Date/Time Completed (4.8.2.1) |
| DTEND | Date/Time End (4.8.2.2) |
| DUE | Date/Time Due (4.8.2.3) |
| DTSTART | Date/Time Start (4.8.2.4) |
| DURATION | Duration (4.8.2.5) |
| FREEBUSY | Free/Busy Time (4.8.2.6) |
| TRANSP | Time Transparency (4.8.2.7) |
| TZID | Time Zone Identifier (4.8.3.1) |
| TZNAME | Time Zone Name (4.8.3.2) |
| TZOFFSETFROM | Time Zone Offset From (4.8.3.3) |
| TZOFFSETTO | Time Zone Offset To (4.8.3.4) |
| TZURL | Time Zone URL (4.8.3.5) |
| ATTENDEE | Attendee (4.8.4.1) |
| CONTACT | Contact (4.8.4.2) |
| ORGANIZER | Organizer (4.8.4.3) |
| RECURRENCE_ID | Recurrence ID (4.8.4.4) |
| RELATED_TO | Related To (4.8.4.5) |
| URL | Uniform Resource Locator (4.8.4.6) |
| UID | Unique Identfier (4.8.4.7) |
| EXDATE | Exception Date/Times (4.8.5.1) |
| EXRULE | Exception Rule (4.8.5.2) |
| RDATE | Recurrence Date/Times (4.8.5.3) |
| RRULE | Recurrence Rule (4.8.5.4) |
| ACTION | Action (4.8.6.1) |
| REPEAT | Repeat Count (4.8.6.2) |
| TRIGGER | Trigger (4.8.6.3) |
| CREATED | Date/Time Created (4.8.7.1) |
| DTSTAMP | Date/Time Stamp (4.8.7.2) |
| LAST_MODIFIED | Last Modified (4.8.7.3) |
| SEQUENCE | Sequence Number (4.8.7.4) |
| X_ String | Non-standard Properties (4.8.8.1) |
| REQUEST_STATUS | Request Status (4.8.8.2) |
Instances
Parameter names (4.2)
Constructors
| ALTREP | Alternate Text Represenation (4.2.1) |
| CN | Common Name (4.2.2) |
| CUTYPE | Calendar User Type (4.2.3) |
| DELEGATED_FROM | Delegators (4.2.4) |
| DELEGATED_TO | Delegatees (4.2.5) |
| DIR | Directory Entry Reference (4.2.6) |
| ENCODING | Inline Encoding (4.2.7) |
| FMTYPE | Format Type (4.2.8) |
| FBTYPE | Free/Busy Time Type (4.2.9) |
| LANGUAGE | Language (4.2.10) |
| MEMBER | Group or List Membership (4.2.11) |
| PARTSTAT | Participation Status (4.2.12) |
| RANGE | Recurrence Identfier Range (4.2.13) |
| RELATED | Alarm Trigger Relationship (4.2.14) |
| RELTYPE | Relationship Type (4.2.15) |
| ROLE | Participation Role (4.2.16) |
| RSVP | RSVP Expectation (4.2.17) |
| SENT_BY | Sent By (4.2.18) |
| TZIDp | Time Zone Identifier (4.2.19) |
| VALUE | Value Data Types (4.2.20) |
| X_p String | Non-standard Parameter (4.2.21) |
Data definitions
type Property = (PropertyName, [Param], Value)Source
iCalendar data
Constructors
| ICalendar | |
Fields
| |
Component data
Constructors
| Component | |
Fields
| |
Parameter data
Constructors
| Param | |
Fields
| |