Mojo::DOM::HTML(3)

NAME
Mojo::DOM::HTML - HTML/XML engine

SYNOPSIS
  use Mojo::DOM::HTML;

  # Turn HTML into DOM tree
  my $html = Mojo::DOM::HTML->new;
  $html->parse('<div><p id="a">Test</p><p id="b">123</p></div>');
  my $tree = $html->tree;

DESCRIPTION
Mojo::DOM::HTML is the HTML/XML engine used by Mojo::DOM, based on the HTML Living Standard <https://html.spec.whatwg.org> and the Extensible Markup Language (XML) 1.0 <https://www.w3.org/TR/xml/>.

FUNCTIONS
Mojo::DOM::HTML implements the following functions, which can be imported individually.

  tag_to_html
  my $str = tag_to_html 'div', id => 'foo', 'safe content';

Generate HTML/XML tag and render it right away. This is a significantly faster alternative to "tag" for template systems that have to generate a lot of tags.

ATTRIBUTES
Mojo::DOM::HTML implements the following attributes.

  tree
  my $tree = $html->tree;
  $html    = $html->tree(['root']);

Document Object Model. Note that this structure should only be used very carefully since it is very dynamic.

  xml
  my $bool = $html->xml;
  $html    = $html->xml($bool);

Disable HTML semantics in parser and activate case-sensitivity, defaults to auto-detection based on XML declarations.

METHODS
Mojo::DOM::HTML inherits all methods from Mojo::Base and implements the following new ones.

  parse
  $html = $html->parse('<foo bar="baz">I ♥ Mojolicious!</foo>');

Parse HTML/XML fragment.

  render
  my $str = $html->render;

Render DOM to HTML/XML.

  tag
  $html = $html->tag('div', id => 'foo', 'safe content');

Generate HTML/XML tag.

SEE ALSO
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.