HTML::DOM::NodeList - Simple node list class for HTML::DOM


HTML-DOM documentation Contained in the HTML-DOM distribution.

Index


Code Index:

NAME

Top

HTML::DOM::NodeList - Simple node list class for HTML::DOM

SYNOPSIS

Top

  use HTML::DOM;
  $doc = HTML::DOM->new;

  $list = $doc->body->childNodes; # returns an HTML::DOM::NodeList

  $list->[0];     # first node
  $list->item(0); # same

  $list->length; # same as scalar @$list

DESCRIPTION

Top

This implements the NodeList interface as described in the W3C's DOM standard. In addition to the methods below, you can use a node list object as an array.

This class actually only implements those node lists that are based on array references (as returned by childNodes methods). The HTML::DOM::NodeList::Magic class is used for more complex node lists that call a code ref to update themselves. This is an implementation detail though, that you shouldn't have to worry about.

OBJECT METHODS

Top

$list->length

Returns the number of items in the array.

$list->item($index)

Returns item number $index, numbered from 0. Note that you call also use $list->[$index] for short.

SEE ALSO

Top

HTML::DOM

HTML::DOM::NodeList::Magic

HTML::DOM::Node

HTML::DOM::Collection


HTML-DOM documentation Contained in the HTML-DOM distribution.

package HTML::DOM::NodeList;

use strict;
use warnings;
use overload fallback => 1, '@{}' => sub { ${$_[0]} };

use Scalar::Util 'weaken';

our $VERSION = '0.048';


# new NodeList \@array;

sub new {
	bless do {\(my $x = $_[1])}, shift;
}

sub item {
	${$_[0]}[$_[1]] || ()
}

sub length {
	scalar @${$_[0]}
}

1 __END__