AtteanX-Serializer-RDFa
view release on metacpan or search on metacpan
# NAME
AtteanX::Serializer::RDFa - RDFa Serializer for Attean
# SYNOPSIS
use Attean;
use Attean::RDF qw(iri);
use URI::NamespaceMap;
my $ser = Attean->get_serializer('RDFa')->new;
my $string = $ser->serialize_iter_to_bytes($iter);
my $ns = URI::NamespaceMap->new( { ex => iri('http://example.org/') });
$ns->guess_and_add('foaf');
my $note = RDF::RDFa::Generator::HTML::Pretty::Note->new(iri('http://example.org/foo'), 'This is a Note');
my $ser = Attean->get_serializer('RDFa')->new(base => iri('http://example.org/'),
namespaces => $ns,
style => 'HTML::Pretty',
generator_options => { notes => [$note]});
$ser->serialize_iter_to_io($fh, $iter);
# DESCRIPTION
This module can be used to serialize RDFa with several different
styles. It is implemented using [Attean](https://metacpan.org/pod/Attean) to wrap around
[RDF::RDFa::Generator](https://metacpan.org/pod/RDF::RDFa::Generator), which does the heavy lifting. It composes
[Attean::API::TripleSerializer](https://metacpan.org/pod/Attean::API::TripleSerializer) and
[Attean::API::AbbreviatingSerializer](https://metacpan.org/pod/Attean::API::AbbreviatingSerializer).
# METHODS AND ATTRIBUTES
## Attributes
In addition to attributes required by [Attean::API::TripleSerializer](https://metacpan.org/pod/Attean::API::TripleSerializer)
that should not be a concern to users, the following attributes can be
set:
- `style`
This attribute sets the serialization style used by
[RDF::RDFa::Generator](https://metacpan.org/pod/RDF::RDFa::Generator), see its documentation for details.
- `namespaces`
A HASH reference mapping prefix strings to [URI::NamespaceMap](https://metacpan.org/pod/URI::NamespaceMap)
objects. [RDF::RDFa::Generator](https://metacpan.org/pod/RDF::RDFa::Generator) will help manage this map, see its
documentation for details.
- `base`
An [Attean::API::IRI](https://metacpan.org/pod/Attean::API::IRI) object representing the base against which
relative IRIs in the serialized data should be resolved. There is some
support in [RDF::RDFa::Generator](https://metacpan.org/pod/RDF::RDFa::Generator), but currently, it doesn't do much.
- `generator_options`
A HASH reference that will be passed as options to
[RDF::RDFa::Generator](https://metacpan.org/pod/RDF::RDFa::Generator)'s `create_document` method. This is typically
options that are specific to different styles, see synopsis for
example.
## Methods
This implements four required methods:
- `serialize_iter_to_io( $fh, $iterator )`
Serializes the elements from the [Attean::API::Iterator](https://metacpan.org/pod/Attean::API::Iterator) `$iterator` to
the [IO::Handle](https://metacpan.org/pod/IO::Handle) object `$fh`.
- `serialize_iter_to_bytes( $fh )`
Serializes the elements from the [Attean::API::Iterator](https://metacpan.org/pod/Attean::API::Iterator) `$iterator`
and returns the serialization as a UTF-8 encoded byte string.
( run in 2.968 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )