diff options
Diffstat (limited to 'lib/WebCoso/XSLT.pm')
-rw-r--r-- | lib/WebCoso/XSLT.pm | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/WebCoso/XSLT.pm b/lib/WebCoso/XSLT.pm index 70efc62..c47377a 100644 --- a/lib/WebCoso/XSLT.pm +++ b/lib/WebCoso/XSLT.pm @@ -43,7 +43,29 @@ sub new { my $xslt=file($deps->[-1])->parent->file('du2html.xsl'); $xslt=$self->{fc}->get($xslt); if (@$deps>1) { - INFO("xml tagging as $deps->[0]"); + INFO("xml tag source from as $deps->[0]"); + $self->setXMLTagsSource($self->{fc}->get($deps->[0])); + } else { + $self->setXMLTagsSource(undef); + } + my $out=$xslt->transform($du, + XML::LibXSLT::xpath_to_string( + path => $matches->[0], + language => $matches->[1], + filename => $deps->[-1], + )); + $self->{fc}->put($target,$xslt->output_string($out)); + }; + + $self->{fillFeed}=sub { + my ($maker,$target,$deps,$matches)=@_; + DEBUG("fillFeed($maker,$target,(@$deps),(@$matches))"); + + my $du=$self->{fc}->get($deps->[-1]); + my $xslt=file($deps->[-1])->parent->file('fillFeed.xsl'); + $xslt=$self->{fc}->get($xslt); + if (@$deps>1) { + INFO("xml tag source from $deps->[0]"); $self->setXMLTagsSource($self->{fc}->get($deps->[0])); } else { $self->setXMLTagsSource(undef); @@ -65,6 +87,11 @@ sub du2html { return $self->{du2html}; } +sub fillFeed { + my ($self)=@_; + return $self->{fillFeed}; +} + sub setXMLTagsSource { my ($self,$source)=@_; $self->{tags_source}=$source; |