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 {