matts 2003/01/27 04:24:50
Modified: lib/Apache/AxKit/Language XSP.pm Log: Fix for XSP Inheritance Revision Changes Path 1.30 +11 -6 xml-axkit/lib/Apache/AxKit/Language/XSP.pm Index: XSP.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Language/XSP.pm,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- XSP.pm 27 Jan 2003 11:53:27 -0000 1.29 +++ XSP.pm 27 Jan 2003 12:24:50 -0000 1.30 @@ -67,7 +67,7 @@ } elsif (my $xmlstr = $r->pnotes('xml_string')) { if ($r->no_cache() - || !defined &{"${package}::handler"}) { + || !defined &{"${package}::xml_generator"}) { AxKit::Debug(5, 'XSP: parsing xml_string'); $to_eval = $parser->parse($xmlstr); } @@ -81,7 +81,7 @@ no strict 'refs'; if (exists($cache->{$key}) && !$xml->has_changed($cache->{$key}{mtime}) - && defined &{"${package}::handler"} + && defined &{"${package}::xml_generator"} ) { # cached @@ -139,7 +139,7 @@ } } - undef &{"${package}::handler"}; + undef &{"${package}::xml_generator"}; AxKit::Debug(5, 'Recompiling XSP script'); AxKit::Debug(10, $to_eval); eval $to_eval; @@ -373,7 +373,7 @@ ## we assume that if $e->{XSP_User_Root} is true, somebody, somewhere ## (most likely the default start_element() sub) must have started the - ## "sub handler {" declaration, and that we need to close it + ## "sub xml_generator {" declaration, and that we need to close it if ($e->{XSP_User_Root}) { $e->{XSP_Script} .= "return OK;\n}\n"; } @@ -829,7 +829,7 @@ 'Apache::AxKit::Language::XSP::Page'; $e->{XSP_Script} .= join("\n", "[EMAIL PROTECTED]>{XSP_Package}::ISA = ('$base_class');", - 'sub handler {', + 'sub xml_generator {', 'my $class = shift;', 'my ($r, $cgi, $document) = @_;', 'my ($parent);', @@ -1111,6 +1111,11 @@ my $class = shift; my ($r, $cgi) = @_; return ''; +} + +sub handler { + my $class = shift; + $class->xml_generator(@_); } sub __mk_text_node {