The species microformat
use HTML::Microformats::DocumentContext; use HTML::Microformats::Format::hCard; my $context = HTML::Microformats::DocumentContext->new($dom, $uri); my @objects = HTML::Microformats::Format::species->extract_all( $dom->documentElement, $context); foreach my $species (@objects) { print $species->get_binomial . "\n"; }
HTML::Microformats::Format::species inherits from HTML::Microformats::Format. See the base class definition for a description of property getter/setter methods, constructors, etc.
The species documentation at <http://microformats.org/wiki/species> is very sketchy. This module aims to be roughly compatible with the implementation of species in the Operator extension for Firefox, and data published by the \s-1BBC\s0 and Wikipedia. Here are some brief notes on how is has been impemented:
The root class name is 'biota'.
Important properties are 'vernacular' (alias 'common-name', 'cname' or 'fn'), 'binomial', 'trinomial', 'authority'.
Also recognised are 'class', 'division', 'family', 'genus', 'kingdom', 'order', 'phylum', 'species' and various other ranks.
Because some of these property names are fairly generic, you can alternatively use them in a prefixed form: 'taxo-class', 'taxo-division', etc.
If an element with class 'biota' has no recognised properties within it, the entire contents of the element are taken to be a binomial name. This allows for very simple markup: <i class="biota">Homo sapiens</i>
The meaning of some terminology differs when used by botanists and zoologists. You can add the class 'botany' or 'zoology' to the root element to clarify your usage. e.g. <i class="biota zoology">Homo sapiens</i>
An example:
<span class="biota zoology"> <i class="binomial"> <span class="genus">Homo</span> <span class="species">sapiens</span> <span class="subspecies">sapiens</span> </i> (<span class="authority">Linnaeus, 1758</span>) a.k.a. <span class="vernacular">Humans</span> </span>
\s-1RDF\s0 output uses the Biological Taxonomy Vocabulary 0.2 (<http://purl.org/NET/biol/ns#>).
Please report any bugs to <http://rt.cpan.org/>.
HTML::Microformats::Format, HTML::Microformats.
Toby Inkster <[email protected]>.
Copyright 2008-2012 Toby Inkster
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
\s-1THIS\s0 \s-1PACKAGE\s0 \s-1IS\s0 \s-1PROVIDED\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1AND\s0 \s-1WITHOUT\s0 \s-1ANY\s0 \s-1EXPRESS\s0 \s-1OR\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0, \s-1INCLUDING\s0, \s-1WITHOUT\s0 \s-1LIMITATION\s0, \s-1THE\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTIBILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0.