package Xot::Class::Def; use strict; use Xot::Class::Impl; use base qw(Xot::Accessors); Xot::Class::Def->plain(qw(xot name)); Xot::Class::Def->multi('class_impl' => 'Xot::Class::Impl'); sub init { my ($self, $xot, $name, $elt) = @_; $self->xot($xot); $self->name($name); $self->init_from_elt($elt) if (defined $elt); return $self; } ; sub init_from_elt { my ($self, $elt) = @_; $self->add_class_impl($_->att('target'), $_->text) foreach $elt->children; } 1;