SYNOPSIS
use RDF::iCalendar;
my $input = "http://example.com/calendar-data.ics";
my $exporter = RDF::iCalendar::Exporter->new;
print $_ foreach $exporter->export_calendars($input);
DESCRIPTION
This module reads RDF and writes iCalendar files.This is a subclass of RDF::vCard::Exporter, so it can also export vCards.
Constructor
-
"new(%options)"
Returns a new RDF::iCalendar::Exporter object.
There are no valid options at the moment - the hash is reserved for future use.
Methods
-
"export_calendars($input, %options)"
Returns a list of iCalendars found in the input, in no particular order.
The input may be a URI, file name, RDF::Trine::Model or anything else that can be handled by the "rdf_parse" method of RDF::TrineShortcuts.
Each item in the list returned is an RDF::iCalendar::Entity, though that class overloads stringification, so you can just treat each item as a string mostly.
-
"export_calendar($input, $subject, %options)"
As per "export_calendars" but exports just a single calendar.
The subject provided must be an RDF::Trine::Node::Blank or RDF::Trine::Node::Resource of type icaltzd:Vcalendar.
-
"export_component($input, $subject, %options)"
Exports a component from a calendar - e.g. a single VEVENT
The subject provided must be an RDF::Trine::Node::Blank or RDF::Trine::Node::Resource of type icaltzd:Vevent, icaltzd:Vtodo or similar.
-
"export_cards($input, %options)"
See RDF::vCard::Exporter.
-
"export_card($input, $subject, %options)"
See RDF::vCard::Exporter.
RDF Input
Input is expected to use the newer of the 2005 revision of the W3C's vCard vocabulary <http://www.w3.org/TR/rdfcal/>. (Note that even though this was revised in 2005, the term URIs include ``2002'' in them.)Some extensions from the namespace <http://buzzword.org.uk/rdf/icaltzdx#> are also supported.
iCalendar Output
The output of this module aims at iCalendar (RFC 2445) compliance. In the face of weird input data though, (e.g. an DTSTART property that is a URI instead of a literal) it can pretty easily descend into exporting junk, non-compliant iCalendars.The output has barely been tested in any iCalendar-supporting software, so beware.
AUTHOR
Toby Inkster <[email protected]>.COPYRIGHT
Copyright 2011, 2013 Toby InksterThis is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.