NAME
Types::HTML5 - types for parsing strings of HTML into DOMs
SYNOPSIS
package My::Page {
use Moo;
use Types::HTML5 -types;
has template => (
is => 'ro',
isa => HtmlTree,
coerce => 1,
);
sub output_page {
...;
}
}
STATUS
This is still at a very early stage of development and has *no test suite*
yet.
DESCRIPTION
This type library provides useful type constraints and coercions for
working with HTML5::DOM and XML::LibXML.
Type Constraints
`HtmlTree`
A blessed HTML::DOM::Tree object. Coercions from HTML5::DOM::Document
objects, XML::LibXML::Document objects, HTML5::DOM::Element objects,
strings of HTML or XHTML, filehandles, and Path::Tiny objects.
`HtmlDocument`
A blessed HTML::DOM::Document object. Coercions from HTML5::DOM::Tree
objects, XML::LibXML::Document objects, HTML5::DOM::Element objects,
strings of HTML or XHTML, filehandles, and Path::Tiny objects.
`HtmlElement`
A blessed HTML5::DOM::Element object. Can coerce from
XML::LibXML::Element objects.
`HtmlComment`
A blessed HTML5::DOM::Comment object. Can coerce from
XML::LibXML::Comment objects and plain strings.
`HtmlText`
A blessed HTML5::DOM::Text object. Can coerce from XML::LibXML::Text
objects and plain strings.
`XmlDocument`
A blessed XML::LibXML::Document object. Coercions from
HTML5::DOM::Tree objects, HTML5::DOM::Document objects,
HTML5::DOM::Element objects, strings of HTML or XHTML, filehandles,
and Path::Tiny objects.
`XmlElement`
A blessed XML::LibXML::Element object. Can coerce from
HTML5::DOM::Element objects.
`XmlComment`
A blessed XML::LibXML::Comment object. Can coerce from
HTML5::DOM::Comment objects and plain strings.
`XmlText`
A blessed XML::LibXML::Text object. Can coerce from HTML5::DOM::Text
objects and plain strings.
Convenience Functions
`str_to_html($str)`
Converts a string of HTML to an HTML5::DOM::Tree.
`str_to_xml($str)`
Converts a string of HTML to an XML::LibXML::Document.
`html_to_xml($node)`
Converts from an HTML5::DOM node to an XML::LibXML node. Supports text
nodes, comments, elements, documents, and trees.
`xml_to_html($node)`
Converts from an XML::LibXML node to a HTML5::DOM node. Supports text
nodes, comments, elements, and documents. (XML::LibXML::Document
becomes HTML5::DOM::Tree, not HTML5::DOM::Document.)
BUGS
Please report any bugs to
.
SEE ALSO
HTML5::DOM, XML::LibXML, Path::Tiny.
AUTHOR
Toby Inkster .
COPYRIGHT AND LICENCE
This software is copyright (c) 2018 by 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.