X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=misc%2Ftranslator%2FTmplToken.pm;h=87d360777ed1204d94414a6df6b3bb63a1a56f83;hb=09ab9d4769a978769d9e0e17c8d83aaa6876aa13;hp=3a20aa825d11038696585b142d6b93e3e9160638;hpb=09c348bd9c3dc42e5ae27c3eeb674d01e70d6917;p=koha.git diff --git a/misc/translator/TmplToken.pm b/misc/translator/TmplToken.pm index 3a20aa825d..87d360777e 100644 --- a/misc/translator/TmplToken.pm +++ b/misc/translator/TmplToken.pm @@ -32,7 +32,7 @@ sub new { my $class = ref($this) || $this; my $self = {}; bless $self, $class; - ($self->{'_string'}, $self->{'_type'}, $self->{'_lc'}) = @_; + ($self->{'_string'}, $self->{'_type'}, $self->{'_lc'}, $self->{'_path'}) = @_; return $self; } @@ -46,6 +46,11 @@ sub type { return $this->{'_type'} } +sub pathname { + my $this = shift; + return $this->{'_path'} +} + sub line_number { my $this = shift; return $this->{'_lc'} @@ -62,6 +67,45 @@ sub set_attributes { return $this; } +# only meaningful for TEXT_PARAMETRIZED tokens +sub children { + my $this = shift; + return $this->{'_kids'}; +} + +# only meaningful for TEXT_PARAMETRIZED tokens +sub set_children { + my $this = shift; + $this->{'_kids'} = ref $_[0] eq 'ARRAY'? $_[0]: \@_; + return $this; +} + +# only meaningful for TEXT_PARAMETRIZED tokens +# FIXME: DIRECTIVE is not necessarily TMPL_VAR !! +sub parameters { + my $this = shift; + return map { $_->type == TmplTokenType::DIRECTIVE? $_: ()} @{$this->{'_kids'}}; +} + +# only meaningful for TEXT_PARAMETRIZED tokens +sub anchors { + my $this = shift; + return map { $_->type == TmplTokenType::TAG && $_->string =~ /^{'_kids'}}; +} + +# only meaningful for TEXT_PARAMETRIZED tokens +sub form { + my $this = shift; + return $this->{'_form'}; +} + +# only meaningful for TEXT_PARAMETRIZED tokens +sub set_form { + my $this = shift; + $this->{'_form'} = $_[0]; + return $this; +} + ############################################################################### 1;