package Tree::Template::Declare::DAG_Node; use strict; use warnings; use Carp; sub new { my ($class,$node_class)=@_; $node_class||='Tree::DAG_Node'; eval "require $node_class"; croak "Can't load $node_class: $@" if $@; return bless {nc=>$node_class},$class; } sub new_node { my ($self)=@_; return $self->{nc}->new(); } sub add_child_node { my ($self,$parent,$child)=@_; return $parent->add_daughter($child); } sub set_node_name { my ($self,$node,$name)=@_; return $node->name($name); } sub set_node_attributes { my ($self,$node,$attrs)=@_; return $node->attributes($attrs); } 1;