/usr/local/CPAN/YATT/YATT/LRXML/MetaInfo.pm
# -*- mode: perl; coding: utf-8 -*-
package YATT::LRXML::MetaInfo;
use strict;
use warnings FATAL => qw(all);
use base qw(YATT::Class::Configurable);
BEGIN {require Exporter; *import = \&Exporter::import}
our @EXPORT = qw(MetaInfo);
our @EXPORT_OK = @EXPORT;
sub MetaInfo () {__PACKAGE__}
use YATT::Fields
(['^nsdict' => sub { {} }]
, ['cf_namespace' => 'yatt']
, [cf_startline => 1]
, qw(^=tokens
^cf_filename
cf_nsid
cf_iolayer
^cf_caller_widget
)
);
sub after_configure {
my MY $self = shift;
$self->SUPER::after_configure;
if (defined $self->{cf_namespace}) {
my $nsdict = $self->{nsdict} = {};
$self->{cf_namespace} = [$self->{cf_namespace}]
unless ref $self->{cf_namespace} eq 'ARRAY';
foreach my $ns (@{$self->{cf_namespace}}) {
$nsdict->{$ns} = keys %$nsdict;
}
} else {
$self->{nsdict} = {};
}
}
sub in_file {
(my MY $self) = @_;
if (defined $$self{cf_filename}) {
" in file $$self{cf_filename}";
} else {
'';
}
}
1;