diff options
Diffstat (limited to 'lib/WebCoso/Common.pm')
-rw-r--r-- | lib/WebCoso/Common.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/WebCoso/Common.pm b/lib/WebCoso/Common.pm index 46f63b6..6c9a433 100644 --- a/lib/WebCoso/Common.pm +++ b/lib/WebCoso/Common.pm @@ -15,6 +15,13 @@ our $DSTBASEURL='/'; our @TMPLPATH=('common/'); our $VERBOSITY=0; +sub setpaths { + for my $path ($SRCPATH,$DSTPATH,@TMPLPATH) { + $path=file($path)->absolute()->stringify; + } + return; +} + my $xpath=XML::LibXML::XPathContext->new(); $xpath->registerNs('x', 'http://www.w3.org/1999/xhtml'); @@ -49,7 +56,7 @@ sub dstUriFor { } if ($path) { $name=file($name)->absolute(file($path)->parent)->relative($SRCPATH); - $name="$SRCPATH/$name"; + $name=dir("$SRCPATH/$name/")->cleanup->stringify . '/'; } $name=~s{^\Q$SRCPATH\E/}{$DSTBASEURL}; DEBUG("dstUriFor -> $name"); @@ -182,7 +189,8 @@ sub getTags { my %tagged; for my $doc_name (uniq(@docs)) { - my $doc=$fc->get($doc_name); + my $xml_name=typedAs($doc_name,'du.xml'); + my $doc=$fc->get($xml_name); my @tags=map {$_->textContent} $xpath->findnodes( q{/document/docinfo/field[field_name='tags']/field_body/*/list_item|/document/docinfo/field[field_name='tags']/field_body/paragraph}, |