From b5d630ceca4f3fb9a1f27deb1c28a4f3dcd20ce2 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Fri, 22 Nov 2013 15:19:52 +0100 Subject: [PATCH] speedup: parse xslt just one --- html.pl | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/html.pl b/html.pl index 5c30cc6..16c8eb1 100755 --- a/html.pl +++ b/html.pl @@ -125,6 +125,12 @@ sub html_end { my $biblio_html; +my $parser = XML::LibXML->new(); +$parser->recover_silently(0); # don't die when you find &, >, etc +my $style_doc = $parser->parse_file($xslfilename); +my $xslt = XML::LibXSLT->new(); +my $parsed = $xslt->parse_stylesheet($style_doc); + sub biblioitem_html { my $biblionumber = shift; @@ -132,13 +138,8 @@ sub biblioitem_html { my $xmlrecord = $marcxml->{$biblionumber} || die "missing $biblionumber marcxml"; - my $parser = XML::LibXML->new(); - $parser->recover_silently(0); # don't die when you find &, >, etc - my $source = $parser->parse_string($xmlrecord); - my $style_doc = $parser->parse_file($xslfilename); + my $source = $parser->parse_string($xmlrecord); - my $xslt = XML::LibXSLT->new(); - my $parsed = $xslt->parse_stylesheet($style_doc); my $transformed = $parsed->transform($source); return $biblio_html->{$biblionumber} = $parsed->output_string( $transformed ); } -- 2.20.1