NAME

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

VERSION

Version 0.058

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 HTML::DOM.) It implements the Node interface, and, indirectly, the EventTarget interface (see HTML::DOM::EventTarget.

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 HTML::DOM::Event::Mutation.)

insertBefore
replaceChild
removeChild
appendChild
hasChildNodes
cloneNode
normalize
hasAttributes
isSupported
trigger_event

This overrides HTML::DOM::EventTarget'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 HTML::Element 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

HTML::DOM

HTML::DOM::EventTarget