HTML::DOM::Node - A Perl class for representing the nodes of an HTML DOM tree


NAME

HTML::DOM::Node - A Perl class for representing the nodes of an HTML DOM tree


SYNOPSIS

  use HTML::DOM::Node ':all'; # constants
  use HTML::DOM;
  $doc = HTML::DOM->new;
  $doc->isa('HTML::DOM::Node'); # true
  $doc->nodeType == DOCUMENT_NODE; # true
  $doc->firstChild;
  $doc->childNodes;
  # etc


DESCRIPTION

This is the base class for all nodes in an HTML::DOM tree. (See CLASSES AND DOM INTERFACES in the HTML::DOM manpage.) It implements the Node interface, and, indirectly, the EventTarget interface (see the HTML::DOM::EventTarget manpage.


METHODS

Attributes

The following DOM attributes are supported:

nodeName
nodeType

These two are implemented not by HTML::DOM::Node itself, but by its subclasses.

nodeValue
parentNode
childNodes
firstChild
lastChild
previousSibling
nextSibling
attributes
ownerDocument
namespaceURI
prefix
localName

Those last three always return nothing.

There is also a _set_ownerDocument method, which you probably do not need to know about.

Other Methods

See the DOM spec. for descriptions of most of these. The first four automatically trigger mutation events. (See the HTML::DOM::Event::Mutation manpage.)

insertBefore
replaceChild
removeChild
appendChild
hasChildNodes
cloneNode
normalize
hasAttributes
isSupported
trigger_event

This overrides the HTML::DOM::EventTarget manpage's (non-DOM) method of the same name, so that the document's default event handler is called.

as_text
as_HTML

These two (non-DOM) methods of the HTML::Element manpage are overridden, so that they work correctly with comment and text nodes.


EXPORTS

The following node type constants are exportable:

ELEMENT_NODE (1)
ATTRIBUTE_NODE (2)
TEXT_NODE (3)
CDATA_SECTION_NODE (4)
ENTITY_REFERENCE_NODE (5)
ENTITY_NODE (6)
PROCESSING_INSTRUCTION_NODE (7)
COMMENT_NODE (8)
DOCUMENT_NODE (9)
DOCUMENT_TYPE_NODE (10)
DOCUMENT_FRAGMENT_NODE (11)
NOTATION_NODE (12)


SEE ALSO

the HTML::DOM manpage

the HTML::DOM::EventTarget manpage