Scroll to navigation

RDF::iCalendar::Exporter(3pm) User Contributed Perl Documentation RDF::iCalendar::Exporter(3pm)

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::iCalendar.
RDF::vCard, HTML::Microformats, RDF::TrineShortcuts.
<http://www.w3.org/TR/rdfcal/>.
<http://www.perlrdf.org/>.

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.
2012-06-23 perl v5.14.2