HTML::Microformats::DocumentContext(3pm)

HTML::Microformats::DocumentContext3pm

Context for microformat objects

Overview

Microformat objects need context when being parsed to properly make sense. For example, a base URI is needed to resolve relative URI references, and a full copy of the DOM tree is needed to implement the include pattern.

Constructor

"$context = HTML::Microformats::DocumentContext->new($dom, $baseuri)"

Creates a new context from a DOM document and a base URI.

$dom will be modified, so if you care about keeping it pristine, make a clone first.

Public Methods

"$context->cache"

A Microformat cache for the context. This prevents the same microformat object from being parsed and reparsed - e.g. an adr parsed first in its own right, and later as a child of an hCard.

"$context->document"

Return the modified DOM document.

"$context->uri( [$relative_reference] )"

Called without a parameter, returns the context's base URI.

Called with a parameter, resolves the URI reference relative to the base URI.

"$context->document_uri"

Returns a URI representing the document itself. (Usually the same as the base URI.)

"$context->make_bnode( [$element] )"

Mint a blank node identifier or a URI.

If an element is passed, this may be used to construct a URI in some way.

"$context->profiles"

A list of profile URIs declared by the document.

"$context->has_profile(@profiles)"

Returns true iff any of the profiles in the array are declared by the document.

"$context->add_profile(@profiles)"

Declare these additional profiles.

"$context->representative_hcard"

Returns the hCard for the person that is "represented by" the page (in the XFN sense), or undef if no suitable hCard could be found

"$context->representative_person_id( [$as_trine] )"

Equivalent to calling "$context->representative_hcard->id($as_trine, 'holder')", however magically works even if $context->representative_hcard returns undef.

"$context->contact_hcard"

Returns the hCard for the contact person for the page, or undef if none can be found.

hCards are considered potential contact hCards if they are contained within an HTML <address> tag, or their root element is an <address> tag. If there are several such hCards, then the one in the shallowest <address> tag is used; if there are several <address> tags equally shallow, the first is used.

"$context->contact_person_id( [$as_trine] )"

Equivalent to calling "$context->contact_hcard->id($as_trine, 'holder')", however magically works even if $context->contact_hcard returns undef.

Disclaimer of warranties

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Releases

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

  1. 7
  2. 8
  3. 9
  4. 12–13

Bugs

Please report any bugs to <http://rt.cpan.org/>.

Author

Toby Inkster <[email protected]>.

From libhtml-microformats-perl 0.105-6 in Debian 13 (Trixie). Parsed by carta from the page's man source.