NAME
    RDF::RDFa::Generator - generate some data in RDFa

DESCRIPTION
  Constructor
    "$gen = RDF::RDFa::Generator->new(style => $style, %options)"
        Creates a new generator object. $style is one of the following
        case-sensitive strings: 'HTML::Head' (the default), 'HTML::Hidden'
        or 'HTML::Pretty'. You can also construct an object like this:

          $gen = RDF::RDFa::Generator::HTML::Head->new(%options);

        Options include:

        *   base - the base URL where the output data will be published.
            This allows in some cases for the generated RDFa to include
            relative URIs.

        *   data_context - if non-null, a URI (string) which indicates the
            context (named graph) containing the data to generate RDFa for.

        *   namespaces - a {prefix=>uri} hashref of preferred CURIE
            prefixes.

        *   ns - a {uri=>prefix} hashref of preferred CURIE prefixes.
            DEPRECATED - use namespaces instead.

        *   prefix_attr - use the @prefix attribute for CURIE prefixes (RDFa
            1.1 only). Boolean, defaults to false.

        *   safe_xml_literals - prevents XML literals from injecting
            arbitrary XHTML into the output. Boolean, defaults to FALSE.

        *   title - assign a <title> element for generated XHTML documents.

        *   version - set generated RDFa version. Valid values are '1.0'
            (the default) or '1.1'.

  Public Methods
    "$gen->create_document($model)"
        Creates a new RDFa file containing triples. $model is an
        RDF::Trine::Model object providing the triples. Returns an
        XML::LibXML::Document object suitable for serialising using its
        "toString" method.

        If you're planning on serving the RDFa with the text/html media
        type, then it is recommended that you use HTML::HTML5::Writer to
        serialise the document rather than "toString".

        Can also be called as a class method:

         $document = RDF::RDFa::Generator->create_document($model)
         # Same as:
         # $document = RDF::RDFa::Generator->new->create_document($model)

    "$gen->inject_document($document, $model)"
        Injects an existing document with triples. $document is an
        XML::LibXML::Document to inject, or a well-formed XML string. $model
        is an RDF::Trine::Model object providing the triples. Returns an
        XML::LibXML::Document object suitable for serialising using its
        "toString" method.

        See "create_document" for information about serving the RDFa with
        the text/html media type.

        Can also be called as a class method. See "create_document" for
        details.

    "$gen->nodes($model)"
        Provides triple-laden XML::LibXML::Elements to be added to a
        document. $model is an RDF::Trine::Model object providing the
        triples. If called in list context, returns a list of
        XML::LibXML::Element objects which can be added to a document;
        otherwise returns an XML::LibXML::NodeList containing a list of such
        elements.

        Can also be called as a class method. See "create_document" for
        details.

        The HTML::Pretty generator can be passed a couple of additional
        options:

          $gen->nodes($model, notes_heading=>'Additional Info', notes=>\@notes);

        The notes are a list of RDF::RDFa::Generator::HTML::Pretty::Note
        objects which are added as notes to the end of each subject's data.

    Additionally the methods "serialize_model_to_file",
    "serialize_model_to_string", "serialize_iterator_to_file" and
    "serialize_iterator_to_string" are provided for compatibility with the
    RDF::Trine::Serializer interface.

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

SEE ALSO
    HTML::HTML5::Writer, XML::LibXML, RDF::RDFa::Parser, RDF::Trine,
    RDF::Prefixes.

    <http://www.perlrdf.org/>.

AUTHOR
    Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE
    Copyright (C) 2010 by Toby Inkster

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself, either Perl version 5.8 or, at your
    option, any later version of Perl 5 you may have available.

  Icons
    RDF::RDFa::Generator::HTML::Pretty uses the FamFamFam Silk icons; see
    <http://famfamfam.com/lab/icons/silk/>.