diff options
Diffstat (limited to 'Master/tlpkg/TeXLive/TeXCatalogue.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TeXCatalogue.pm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Master/tlpkg/TeXLive/TeXCatalogue.pm b/Master/tlpkg/TeXLive/TeXCatalogue.pm index f4537b2e1e7..273863202f3 100644 --- a/Master/tlpkg/TeXLive/TeXCatalogue.pm +++ b/Master/tlpkg/TeXLive/TeXCatalogue.pm @@ -48,6 +48,7 @@ sub new { also => defined($params{'also'}) ? $params{'also'} : [], topic => defined($params{'topic'}) ? $params{'topic'} : [], alias => defined($params{'alias'}) ? $params{'alias'} : [], + contact => defined($params{'contact'}) ? $params{'contact'} : {}, }; bless $self, $class; if (defined($self->{'ioref'})) { @@ -103,6 +104,14 @@ sub initialize { my $alsoid = $parser->find('./@refid',$node); push @{$self->{'also'}}, "$alsoid"; } + # parse the contact entries + foreach my $node ($parser->find('/entry/contact')->get_nodelist) { + my $contacttype = $parser->find('./@type',$node); + my $contacthref = $parser->find('./@href',$node); + if ($contacttype && $contacthref) { + $self->{'contact'}{$contacttype} = $contacthref; + } + } # parse the keyval/topic entries foreach my $node ($parser->find('/entry/keyval')->get_nodelist) { my $k = $parser->find('./@key',$node); @@ -195,6 +204,12 @@ sub topics { if (@_) { $self->{'topic'} = \@newtopics } return $self->{'topic'}; } +sub contact { + my $self = shift; + my %newcontact = @_; + if (@_) { $self->{'contact'} = \%newcontact } + return $self->{'contact'}; +} ################################################################ |