NAME¶
RDF::vCard::Line - represents a line within a vCard
DESCRIPTION¶
Instances of this class correspond to lines within vCards, though they could
potentially be used as basis for other RFC 2425-based formats such as
iCalendar.
Constructor¶
- •
- "new(%options)"
Returns a new RDF::vCard::Line object.
The only options worth worrying about are: property (case-insensitive
property name), value (arrayref or single string value),
type_parameters (hashref of property-related parameters).
RDF::vCard::Entity overloads stringification, so you can do the following:
my $line = RDF::vCard::Line->new(
property => 'email',
value => 'joe@example.net',
type_parameters => { type=>['PREF','INTERNET'] },
);
print "$line\n" if $line =~ /internet/i;
Methods¶
- •
- "to_string()"
Formats the line according to RFC 2425 and RFC 2426.
- •
- "add_to_model($model, $node)"
Given an RDF::Trine::Model and an RDF::Trine::Node representing the entity
(i.e. vcard) that this line belongs to, adds triples to the model for this
line.
- •
- "property()"
Returns the line's property - e.g. "EMAIL".
- •
- "property_node()"
Returns the line's property as an RDF::Trine::Node that can be used as an
RDF predicate. Returns undef if a sensible URI cannot be found.
- •
- "property_order()"
Returns a string which can be used to sort a list of lines into a sensible
order.
- •
- "value()"
Returns an arrayref for the value. Each item in the arrayref could be a
plain scalar, or an arrayref of scalars. For example the arrayref
representing this name:
N:Smith;John;Edward,James
which is the vCard representation of somebody with surname Smith, given name
John and additional names (middle names) Edward and James, might be
represented with the following "value" arrayref:
[
'Smith',
'John',
['Edward', 'James'],
]
or maybe:
[
['Smith'],
'John',
['Edward', 'James'],
]
That's why it's sometimes useful to have a normalised version of it...
- •
- "nvalue()"
Returns a normalised version of the arrayref for the value. It will always
be an arrayref of arrayrefs. For example:
[
['Smith'],
['John'],
['Edward', 'James'],
]
- •
- "value_node()"
Returns the line's value as an RDF::Trine::Node that can be used as an RDF
object. For some complex properties (e.g. ADR, GEO, ORG, N, etc) the
result is not especially useful.
- •
- "value_to_string()"
Formats the line value according to RFC 2425 and RFC 2426.
- •
- "type_parameters()"
Returns the type_parameters hashref. Here be monsters (kinda).
SEE ALSO¶
RDF::vCard.
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.