HTML::HTML5::DOM::HTMLDocument is an implementation of the HTMLDocument interface of the HTML DOM.
See HTML::HTML5::DOM for a list of the conventions that have been used when translating the DOM to Perl.

As well as its inherited methods,
this class provides the following methods.

AUTOLOAD

See perlsub if you don't know the significance of the AUTOLOAD function.
HTML::HTML5::DOM::HTMLDocument will pass through unknown menthods to the document's root element.
So for example,
$document->setAttribute will actually set an attribute on the document's root element.

URL

Get/set the document's URL.

anchors

Returns all <a> with a "name" attribute found in the document.

applets

Returns all <applet> elements (and <object codetype="application/java"> elements) found in the document.

body

Returns the document body.

characterSet

Returns the character set that the document was parsed as (if known).
As charset can be used as a setter,
this is not necessarily the same as charset.

charset

Getter/setter for the document encoding.

compatMode

Returns the string 'quirks' or 'limited quirks' or undef.

cookie

Ostensibly returns cookies associated with the document,
but in this implementation always returns an empty string.

defaultCharset

Returns the string 'utf-8'.

doctype

This method is not implemented yet,
but will eventually support the functionality defined in DOM Core 3.

documentURI

Alias for URL.

domConfig

Ostensibly an object representing settings which will be used when normalize is called.
In practise,
just returns an empty hashref that you can do with what you like.

domain

The documents URL's host name.

embeds

Returns all <embed> elements found in the document.

forms

Returns all forms found in the document.

getElementById

The world-famous getElementById method.
The default XML::LibXML implementation of this does not work with HTML::HTML5::Parser documents,
because HTML::HTML5::Parser lacks the ability to inform libxml which element to use as an ID.
(libxml defaults to xml:id.) This implementation is XPath-based,
thus slower.

head

Returns the document head.

images

Returns all images found in the document.

implementation

Returns the same as HTML::HTML5::DOM->getDOMImplementation.

inputEncoding

This method is not implemented yet,
but will eventually support the functionality defined in DOM Core 3.

lastModified

Ostensibly returns the current document readiness,
but this implementation always returns the string 'complete'.

links

Returns all <a> and <area> elements with an "href" attribute found in the document.

normalizeDocument

Alias for normalize.

p5_tables

Returns all tables found in the document.

plugins

Returns all <embed> elements found in the document.

referer

An alias for 'referrer' provided for the benefit of those who learnt to spell by reading HTTP RFCs.

referrer

Ostensibly returns the HTTP referer for the document,
but in this implementation always returns an empty string.

renameNode

This method is not implemented yet,
but will eventually support the functionality defined in DOM Core 3.

scripts

Returns all scripts found in the document.

strictErrorChecking

DOM seems a little vague as to what exactly constitutes 'strict'.
This returns false.

title

Returns the document's title,
from its <title> element,
with a little whitespace canonicalisation.

xmlEncoding

This method is not implemented yet,
but will eventually support the functionality defined in DOM Core 3.

xmlStandalone

Called with an argument,
acts as setStandalone; called without an argument,
acts as standalone.

xmlVersion

Returrns undef for documents parsed using an HTML parser; 1.0 or 1.1 if parsed using libxml.