summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive/TeXCatalogue.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/TeXLive/TeXCatalogue.pm')
-rw-r--r--Master/tlpkg/TeXLive/TeXCatalogue.pm15
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'};
+}
################################################################