NAME¶
RDF::TrineX::Parser::RDFa - RDF::Trine::Parser-compatible interface for
RDF::RDFa::Parser
DESCRIPTION¶
While RDF::RDFa::Parser is a good RDFa parser, its interface is a tad... shall
we say... crufty.
RDF::TrineX::Parser::RDFa provides a much nicer interface, and is a subclass of
RDF::Trine::Parser, so you get super-polymorphic benefits. Yay!
Class Method¶
- "parse_url_into_model($url, $model, %args)"
- As per the method of the same name in RDF::Trine::Parser,
this retrieves the URL and parses it into a model.
Unlike RDF::Trine::Parser, this method always assumes you're trying to parse
some variety of RDFa.
Constructor¶
- "new(%options)"
- Constructs a new RDF::TrineX::Parser::RDFa parser.
The two important options are flavour (which defaults to 'xhtml') and
version (which defaults to '1.1'). Other options are documented in
RDF::RDFa::Parser::Config.
Let's imagine that you want to parse RDFa 1.1 in HTML5, and you want to also
parse the "role", "longdesc" and "cite"
attibutes (which are not strictly part of RDFa, but nevertheless often
interesting). Then you'd use:
my $parser = RDF::TrineX::Parser::RDFa->new(
flavour => 'html5',
version => '1.1',
role_attr => 1,
longdesc_attr => 1,
cite_attr => 1,
);
Object Methods¶
The following methods are supported, as documented in RDF::Trine::Parser.
- "parse_into_model($base_uri, $data, $model [,context
=> $context])"
- "parse($base_uri, $data, \&handler)"
- "parse_file_into_model($base_uri, $fh, $model
[,context => $context])"
- "parse_file($base_uri, $fh, \&handler)"
The following additional methods are supported:
- "rdfa_flavour"
- Returns the RDFa host language being used.
- "rdfa_version"
- Returns the RDFa version number being used.
Subclasses¶
The following subclasses of RDF::TrineX::Parser::RDFa exist:
- RDF::TrineX::Parser::XHTML_RDFa10
- RDF::TrineX::Parser::HTML32_RDFa10
- RDF::TrineX::Parser::HTML4_RDFa10
- RDF::TrineX::Parser::HTML5_RDFa10
- RDF::TrineX::Parser::XHTML5_RDFa10
- RDF::TrineX::Parser::Atom_RDFa10
- RDF::TrineX::Parser::DataRSS_RDFa10
- RDF::TrineX::Parser::SVG_RDFa10
- RDF::TrineX::Parser::XML_RDFa10
- RDF::TrineX::Parser::OpenDocument_RDFa10
- RDF::TrineX::Parser::XHTML_RDFa11
- RDF::TrineX::Parser::HTML32_RDFa11
- RDF::TrineX::Parser::HTML4_RDFa11
- RDF::TrineX::Parser::HTML5_RDFa11
- RDF::TrineX::Parser::XHTML5_RDFa11
- RDF::TrineX::Parser::Atom_RDFa11
- RDF::TrineX::Parser::DataRSS_RDFa11
- RDF::TrineX::Parser::SVG_RDFa11
- RDF::TrineX::Parser::XML_RDFa11
- RDF::TrineX::Parser::OpenDocument_RDFa11
By using these classes, you can skip the need to pass the 'flavour' and
'version' options to the constructor. For example:
my $parser = RDF::TrineX::Parser::HTML5_RDFa11->new(
role_attr => 1,
longdesc_attr => 1,
cite_attr => 1,
);
Note that these are classes, but they are not modules. You should not attempt to
load them with "require" or "use".
SEE ALSO¶
RDF::Trine::Parser, RDF::RDFa::Parser, RDF::RDFa::Parser::Config.
<
http://www.perlrdf.org/>, <
http://rdfa.info/>.
AUTHOR¶
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE¶
Copyright 2012 Toby Inkster
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.
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.