NAME
RDF::iCalendar::Exporter - export RDF data to iCalendar format
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.
SEE ALSO
RDF::vCard, HTML::Microformats, RDF::TrineShortcuts.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT
Copyright 2011 Toby Inkster
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.