+++ /dev/null
-#################################################################################################
-#################################################################################################
-#################################################################################################
-# LibXML LIBXSLT access subrutines
-#################################################################################################
-#################################################################################################
-#################################################################################################
-
-#################################################################################################
-# sub loadstyle
-# Usage: loadstyle($key,$uri,$stylesheet);
-# Returns: error message or 0 on success,
-# parsed stylesheet in $stylesheet
-# Do: parse the stylesheet at the given uri
-# Used by: addvalues , reloadvalues
-# Uses : err_replace, parser_error_replace
-#################################################################################################
-sub loadstyle
-{
- my $ls_key= shift(@_);
- my $ls_uri= shift(@_);
- my $uncatched = "";
- my $line = "";
- my $style_doc;
- pipe P, STDERR;
- STDERR->autoflush(1);
- eval { $style_doc = $parser->parse_file($ls_uri); };
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
-
- if ($@ or $uncatched ne "")
- {
- return err_replace($error{"add_xml_error"},$ls_key,$ls_uri,parser_error_replace($@.$uncatched));
- }
- else
- {
- pipe P, STDERR;
- STDERR->autoflush(1);
- $uncatched = "";
- $line = "";
- eval { $_[0] = $xslt->parse_stylesheet($style_doc); };
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
- if ($@ or $uncatched ne "")
- {
- return err_replace($error{"add_xslt_error"},$ls_key,$ls_uri,parser_error_replace($@.$uncatched));
- }
- else {return 0}
- }
-}
-
-sub load_xml_doc
-{
- my $xmluri = shift(@_);
- my $uncatched = "";
- my $line = "";
- pipe P, STDERR;
- STDERR->autoflush(1);
- eval { $_[0] = $parser->parse_file($xmluri); };
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
- if ($@ or $uncatched ne "")
- {
- return err_replace($error{"apply_xml_error"},"",$xmluri,parser_error_replace($@.$uncatched));
- }
- else {return 0}
-}
-
-sub apply_style
-{
- my $k = shift(@_);
- my $params_ptr = shift(@_);
- my %params = XML::LibXSLT::xpath_to_string(%$params_ptr);
- my $pippo;
- my $uncatched = "";
- my $line = "";
- pipe P, STDERR;
- STDERR->autoflush(1);
- XML::LibXSLT->max_depth($max_depth);
- eval { $_[0] = $stylesheet_hash{$k}[1]->transform($_[0],%params); };
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
- if ($@ or $uncatched ne "")
- {
- my $e_r = parser_error_replace($@.$uncatched);
- return err_replace($error{"apply_xslt_error"},$k,$stylesheet_hash{$k}[0],$e_r);
- }
- else {return 0}
-}
-sub get_results
-{
- my $k = shift(@_);
- my $results = shift(@_);
- my $retval;
- my $uncatched = "";
- my $line = "";
- pipe P, STDERR;
- STDERR->autoflush(1);
- eval { $retval = $stylesheet_hash{$k}[1]->output_string($results); };
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
- if ($@ or $uncatched ne "")
- {
- my $e_r = parser_error_replace($@.$uncatched);
- return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r));
- }
- else { return $retval; }
-}
-sub get_results_prop
-{
- my $result = shift(@_);
- my $retval;
- my $uncatched = "";
- my $line = "";
- pipe P, STDERR;
- STDERR->autoflush(1);
- eval { $retval = $result->toString; };
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
- if ($@ or $uncatched ne "")
- {
- my $e_r = parser_error_replace($@.$uncatched);
- return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r));
- }
- else { return $retval; }
-}
-
-sub get_results_html
-{
- my $result = shift(@_);
- my $retval;
- my $uncatched = "";
- my $line = "";
- pipe P, STDERR;
- STDERR->autoflush(1);
- eval { $retval = $result->toStringHTML();};
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
- if ($@ or $uncatched ne "")
- {
- my $e_r = parser_error_replace($@.$uncatched);
- return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r));
- }
- else { return $retval; }
-}
-
-sub decode
-{
- my $result = shift(@_);
- my $enc = shift(@_);
- my $retval;
- my $uncatched = "";
- my $line = "";
- pipe P, STDERR;
- STDERR->autoflush(1);
- eval { $retval = decodeFromUTF8($enc, $result);};
- print STDERR "____\n";
- while(($line = <P>) ne "____\n") { $uncatched .= $line; }
- close P;
- if ($@ or $uncatched ne "")
- {
- my $e_r = parser_error_replace($@.$uncatched);
- return operror_print(err_replace($error{"apply_xslt_out_error"},"","",$e_r));
- }
- else { return $retval; }
-}
-#################################################################################################