NAME
HTML::HTML5::DOM::HTMLDocument - implementation of the HTMLDocument interface of the HTML DOM
DESCRIPTION
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.
HTML Elements
This class applies to the following HTML elements.
Inheritance
HTML::HTML5::DOM::HTMLDocument inherits methods from the following Perl classes.
Additional Methods
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 ascharset
.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 asstandalone
.xmlVersion
Returrns undef for documents parsed using an HTML parser; 1.0 or 1.1 if parsed using libxml.
BUGS
http://rt.cpan.org/Dist/Display.html?Queue=HTML-HTML5-DOM.
SEE ALSO
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
This software is copyright (c) 2012, 2014 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.