aboutsummaryrefslogtreecommitdiff
path: root/lib/WebCoso/XSLT.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/WebCoso/XSLT.pm')
-rw-r--r--lib/WebCoso/XSLT.pm29
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;