HTML-Microformats

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

NAME
    HTML::Microformats - parse microformats in HTML

SYNOPSIS
     use HTML::Microformats;
 
     my $doc = HTML::Microformats
                 ->new_document($html, $uri)
                 ->assume_profile(qw(hCard hCalendar));
     print $doc->json(pretty => 1);
 
     use RDF::TrineShortcuts qw(rdf_query);
     my $results = rdf_query($sparql, $doc->model);

DESCRIPTION
    The HTML::Microformats module is a wrapper for parser and handler
    modules of various individual microformats (each of those modules has a
    name like HTML::Microformats::Format::Foo).

    The general pattern of usage is to create an HTML::Microformats object
    (which corresponds to an HTML document) using the "new_document" method;
    then ask for the data, as a Perl hashref, a JSON string, or an
    RDF::Trine model.

  Constructor
    "$doc = HTML::Microformats->new_document($html, $uri, %opts)"
        Constructs a document object.

        $html is the HTML or XHTML source (string) or an
        XML::LibXML::Document.

        $uri is the document URI, important for resolving relative URL
        references.

        %opts are additional parameters; currently only one option is
        defined: $opts{'type'} is set to 'text/html' or
        'application/xhtml+xml', to control how $html is parsed.

  Profile Management
    HTML::Microformats uses HTML profiles (i.e. the profile attribute on the
    HTML <head> element) to detect which Microformats are used on a page.
    Any microformats which do not have a profile URI declared will not be
    parsed.

    Because many pages fail to properly declare which profiles they use,
    there are various profile management methods to tell HTML::Microformats
    to assume the presence of particular profile URIs, even if they're
    actually missing.

    "$doc->profiles"
        This method returns a list of profile URIs declared by the document.

    "$doc->has_profile(@profiles)"
        This method returns true if and only if one or more of the profile
        URIs in @profiles is declared by the document.

    "$doc->add_profile(@profiles)"
        Using "add_profile" you can add one or more profile URIs, and they
        are treated as if they were found on the document.

        For example:

         $doc->add_profile('http://microformats.org/profile/rel-tag')

        This is useful for adding profile URIs declared outside the document
        itself (e.g. in HTTP headers).

        Returns a reference to the document.

    "$doc->assume_profile(@microformats)"
        For example:

         $doc->assume_profile(qw(hCard adr geo))

        This method acts similarly to "add_profile" but allows you to use
        names of microformats rather than URIs.

        Microformat names are case sensitive, and must match
        HTML::Microformats::Format::Foo module names.

        Returns a reference to the document.

    "$doc->assume_all_profiles"
        This method is equivalent to calling "assume_profile" for all known
        microformats.

        Returns a reference to the document.

  Parsing Microformats



( run in 1.305 second using v1.01-cache-2.11-cpan-119454b85a5 )