RDF::vCard::Line(3pm)

RDF::vCard::Line3pm

Represents a line within a vcard

Overview

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           => '[email protected]',
    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).

Releases

7 releases since Debian 7 (Wheezy); the text changed 4 times.

  1. 7–8
  2. 9–10
  3. 11
  4. 12
  5. 13

Author

Toby Inkster <[email protected]>.

From librdf-vcard-perl 0.012-4 in Debian 13 (Trixie). Parsed by carta from the page's man source.