Darren Kulp > Text-vFile-toXML-0.04 > Text::vFile::toXML

Download:
Text-vFile-toXML-0.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.04   Source  

NAME ^

Text::vFile::toXML - Convert vFiles into equivalent XML

VERSION ^

Version 0.04

SYNOPSIS ^

This module converts iCalendar (iCal : generically, vFile) files into their (equivalent) XML (xCalendar / xCal) representation, according to Royer's IETF Draft (http://tools.ietf.org/html/draft-royer-calsch-xcal-03).

    # Enable functional interface
    use Text::vFile::toXML qw(to_xml);

    # Input filename
    my $arg = "input.file";
    my $a = Text::vFile::toXML->new(filename => $arg)->to_xml;
    my $b = Text::vFile::toXML->new(filehandle =>
        do { open my $fh, $arg or die "can't open ics: $!"; $fh }
    )->to_xml;

    use Text::vFile::asData; # to make the functional example work
    my $data =
        Text::vFile::asData->new->parse(
            do {
                open my $fh, $arg
                    or die "Can't open vFile: $!"; $fh
                }
            );
    my $c = Text::vFile::toXML->new(data => $data)->to_xml;

    # Use functional interface
    my $d = to_xml($data);

    # Now ($a, $b, $c, $d) all contain the same XML string.

EXPORT ^

No functions are exported by default; you can choose to import the 'to_xml' function if you wish to use the functional interface.

METHODS ^

new

Creates a new Text::vFile::toXML object; takes a list of key-value pairs for initialization, which must contain exactly one of the following:

    filehandle => (filehandle object)
    filename   => (string)
    data       => (Text::vFile::asData struct)

to_xml

Wraps the convert() function; returns an XML string. Can be called as an instance method (OO-style) or as a function (functional style), in which case it takes a Text::vFile::asData-compatible data structure as its only parameter.

convert

Recursively converts Text::vFile::asData structures to XML::Quick-compatible ones.

AUTHOR ^

Darren Kulp, <kulp at cpan.org>

BUGS ^

Probably. Email me at the address above with bug reports.

ACKNOWLEDGEMENTS ^

The Text::vFile::asData and XML::Quick modules proved very useful, to the point of nearly trivializing this module.

COPYRIGHT & LICENSE ^

Copyright 2006 Darren Kulp.

This program is released under the terms of the BSD license.

syntax highlighting: