=head1 NAME Whatpm::HTML::Serializer - HTML DOM Serializer =head1 SYNOPSIS require Whatpm::HTML::Serializer; ## Serialize an HTML document my $html = Whatpm::HTML::Serializer->get_inner_html ($doc); ## NOTE: $html = $doc->inner_html is preferred. ## Serialize an HTML element my $html = Whatpm::HTML::Serializer->get_inner_html ($el); ## NOTE: $html = $el->inner_html is preferred. ## Serialize an HTML document fragment my $html = Whatpm::HTML::Serializer->get_inner_html ($df); =head1 DESCRIPTION The C module provides a function that implements the fragment serialization algorithm of HTML5. It can be used to serialize a HTML C or C node into an HTML document or fragment. Note that the algorithm cannot be used to serialize an arbitrary DOM tree; an attempt to serialize a DOM that cannot be represented in a static HTML document (fragment) will result in an invalid document or in a document representing different DOM tree. For example, the DOM tree: +- Element |p| +- Element |ul| ... cannot be represented in HTML serialization. The serialization algorithm will generate an invalid HTML fragment:

    ... which represents another DOM tree: +- Element |p| +- Element |ul| (with "invalid

    " error) ... without raising any error or warning. This is a limitation of the HTML serialization format and the fragment serialization algorithm. B: Usually you don't have to call this module directly, since L and L modules implement the C attribute for DOM C and C nodes. =head1 METHODS =over 4 =item I<$html> = Whatpm::HTML::Serializer->get_inner_html (I<$node>, [I<$onerror>]) Serialize a node by the HTML fragment serialization algorithm. =over 4 =item I<$node> The node to serialize. The node must be a DOM C, C, or C node. =item I<$onerror> A reference to C, which will be invoked when an error occurs. If the algorithm is required to raise an C error, i.e. if the algorithm is faced to a C whose type is different from any of ones supported by the algorithm, the C is invoked with that C as an argument. It is expected for the C to raise an exception. If no exception is raised, the C is ignored for the purpose of the algorithm. If I<$onerror> is omitted, an empty C (which does nothing) is assumed. =item I<$html> A C reference to the result of the HTML fragment serialization algorithm. =back =back =head1 SEE ALSO Whatpm . HTML5 . manakai's L and L modules are implementing the C attribute. =head1 AUTHOR Wakaba . =head1 LICENSE Copyright 2007 Wakaba This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut ## $Date: 2007/11/11 04:59:36 $