mach 2003/10/26 16:59:55
Modified: . Tag: axkit-pipeline-2 MANIFEST lib Tag: axkit-pipeline-2 AxKit.pm lib/Apache/AxKit Tag: axkit-pipeline-2 Language.pm Pipeline.pm lib/Apache/AxKit/Language Tag: axkit-pipeline-2 XPathScript.pm XSP.pm lib/Apache/AxKit/Pipeline Tag: axkit-pipeline-2 Head.pm Language.pm XSP.pm lib/Apache/AxKit/Provider Tag: axkit-pipeline-2 Scalar.pm t/conf Tag: axkit-pipeline-2 extra.last.conf.in Added: lib/Apache/AxKit Tag: axkit-pipeline-2 PipeCtrl.pm lib/Apache/AxKit/Pipeline Tag: axkit-pipeline-2 DoStyles.pm Tail.pm lib/Apache/AxKit/Provider Tag: axkit-pipeline-2 DOM.pm t/htdocs/pipeline/styles Tag: axkit-pipeline-2 01.xsp t/htdocs/style/pipeline/styles Tag: axkit-pipeline-2 01.xsl t/pipeline Tag: axkit-pipeline-2 03styles.t Log: Dynamic adding of styles to pipeline. Revision Changes Path No revision No revision 1.20.2.4 +13 -4 xml-axkit/MANIFEST Index: MANIFEST =================================================================== RCS file: /home/cvs/xml-axkit/MANIFEST,v retrieving revision 1.20.2.3 retrieving revision 1.20.2.4 diff -u -r1.20.2.3 -r1.20.2.4 --- MANIFEST 22 Oct 2003 21:48:29 -0000 1.20.2.3 +++ MANIFEST 27 Oct 2003 00:59:54 -0000 1.20.2.4 @@ -157,13 +157,19 @@ lib/Apache/AxKit/Provider/FileWrite.pm lib/Apache/AxKit/Provider/Filter.pm lib/Apache/AxKit/Provider/Scalar.pm -lib/Apache/AxKit/Pipeline.pm -lib/Apache/AxKit/Pipeline/Trace.pm -lib/Apache/AxKit/Pipeline/XSP.pm -lib/Apache/AxKit/Pipeline/LibXSLT.pm +lib/Apache/AxKit/Provider/DOM.pm +lib/Apache/AxKit/PipeCtrl.pm lib/Apache/AxKit/Pipeline/Cache.pm +lib/Apache/AxKit/Pipeline/DoStyles.pm +lib/Apache/AxKit/Pipeline/Head.pm lib/Apache/AxKit/Pipeline/Language.pm +lib/Apache/AxKit/Pipeline/LibXSLT.pm lib/Apache/AxKit/Pipeline/SAX.pm +lib/Apache/AxKit/Pipeline/Tail.pm +lib/Apache/AxKit/Pipeline/Trace.pm +lib/Apache/AxKit/Pipeline/Transformer.pm +lib/Apache/AxKit/Pipeline/XSP.pm +lib/Apache/AxKit/Pipeline.pm lib/Apache/AxKit/StyleChooser/Cookie.pm lib/Apache/AxKit/StyleChooser/FileSuffix.pm lib/Apache/AxKit/StyleChooser/PathInfo.pm @@ -225,4 +231,7 @@ t/htdocs/style/pipeline/sax t/htdocs/style/pipeline/sax/03.xsl t/AxKitSaxTest.pm +t/htdocs/pipeline/styles/01.xsp +t/htdocs/style/pipeline/styles/01.xsl +t/pipeline/03styles.t typemap No revision No revision 1.53.2.2 +62 -158 xml-axkit/lib/AxKit.pm Index: AxKit.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/AxKit.pm,v retrieving revision 1.53.2.1 retrieving revision 1.53.2.2 diff -u -r1.53.2.1 -r1.53.2.2 --- AxKit.pm 20 Oct 2003 20:55:36 -0000 1.53.2.1 +++ AxKit.pm 27 Oct 2003 00:59:54 -0000 1.53.2.2 @@ -1,6 +1,6 @@ package AxKit; use strict; -use vars qw/$VERSION/; +use vars qw/$VERSION $Pipeline/; use DynaLoader (); use UNIVERSAL (); @@ -14,7 +14,7 @@ use Apache::AxKit::Provider::File; use Apache::AxKit::Provider::Scalar; use Apache::AxKit::CharsetConv; -use Apache::AxKit::Pipeline; +use Apache::AxKit::PipeCtrl; use File::Basename (); use Data::Dumper; use Compress::Zlib (); @@ -181,6 +181,7 @@ Carp::confess("caught SIGUSR2!"); }; + local($AxKit::Pipeline) = Apache::AxKit::PipeCtrl->new(); my $rc = $r->status(); $AxKit::Cfg = Apache::AxKit::ConfigReader->new($r); @@ -234,6 +235,8 @@ local $AxKit::Cfg; local $AxKit::DebugLevel; local $Error::Debug; + local($AxKit::Pipeline) = Apache::AxKit::PipeCtrl->new(); + my $rc = $r->status(); @@ -288,17 +291,17 @@ # $AxKit::OrigType = $r->content_type('changeme'); reset_depends(); - + my $pipeline = build_pipeline($r, $provider, 0); return $pipeline->send($r); # restore $r -# if (ref($r) eq 'AxKit::Apache') { - # bless $r, 'Apache'; - # tie *STDOUT, 'Apache', $r; - # } - }; + if (ref($r) eq 'AxKit::Apache') { + bless $r, 'Apache'; + tie *STDOUT, 'Apache', $r; + } + }; my $E = $@; unless ($E) { return $retcode; @@ -400,11 +403,6 @@ AxKit::Debug(2, "media: $media, preferred style: $preferred"); my $styles = get_styles($media, $preferred, $provider, $r); - - # reconsecrate Apache request object (& STDOUT) into our own class - -# bless $r, 'AxKit::Apache'; -# tie *STDOUT, 'AxKit::Apache', $r; if (my $charset = $AxKit::Cfg->OutputCharset) { AxKit::Debug(5, "Different output charset: $charset"); @@ -415,85 +413,23 @@ # This is here so that lookup_uri() works on the real thing # that we're requesting, not on the thing plus the PATH_INFO + my $uri = $r->uri(); my $path_info = $r->path_info(); substr($uri, -length($path_info)) = '' if length($path_info); # trim off the end that many chars (negative offset to substr) $r->uri($uri); $ENV{PATH_INFO} = $path_info; + $AxKit::Pipeline->add_styles( @$styles ); + my ($transformer, $doit) = AxKit::get_output_transformer(); my $last_in_chain = !($no_output || $doit || lc($r->dir_config('Filter')) eq 'on' ); + + my $pipeline = $AxKit::Pipeline->create_pipeline( $r, $provider, $last_in_chain ); - my $pipeline = Apache::AxKit::Pipeline->create_pipeline( - apache => $r, - provider => $provider, - styles => $styles, - lastinchain => $last_in_chain - ); - return $pipeline; } -#sub run_axkit_engine { -# my ($r, $provider, $no_output) = @_; -# -# # get preferred stylesheet and media type -# my ($preferred, $media) = get_style_and_media(); -# AxKit::Debug(2, "media: $media, preferred style: $preferred");# -# -# my $styles = get_styles($media, $preferred, $provider, $r); -# -# # reconsecrate Apache request object (& STDOUT) into our own class -# -# bless $r, 'AxKit::Apache'; -# tie *STDOUT, 'AxKit::Apache', $r; -# -# if (my $charset = $AxKit::Cfg->OutputCharset) { -# AxKit::Debug(5, "Different output charset: $charset"); -# if (!$r->notes('axkit_passthru_type')) { -# $r->content_type("text/html; charset=$charset"); -# } -# } - - # This is here so that lookup_uri() works on the real thing - # that we're requesting, not on the thing plus the PATH_INFO -# my $uri = $r->uri(); -# my $path_info = $r->path_info(); -# substr($uri, -length($path_info)) = '' if length($path_info); # trim off the end that many chars (negative offset to substr) -# $r->uri($uri); -# $ENV{PATH_INFO} = $path_info; - - # Main grunt of the work done here... -# return process_request( $r, $provider, $styles, $no_output ); - -#} - -#sub process_request { -# my ($r, $provider, $styles, $no_output) = @_;# - -# my ($transformer, $doit) = AxKit::get_output_transformer(); -# my $last_in_chain = !($no_output || $doit || lc($r->dir_config('Filter')) eq 'on' ); - -# my $pipeline = Apache::AxKit::Pipeline->create_pipeline( -# apache => $r, -# provider => $provider, -# styles => $styles, -# lastinchain => $last_in_chain -# ); - - -# my $str_ref = $pipeline->get_strref( $r, $last_in_chain ); - -# my $ret_val = $r->status(); - -# AxKit::Debug(5, "pipeline finished with apache status $ret_val"); - -# return $str_ref; -#} - - - - sub get_axkit_uri { my ($uri) = @_; @@ -535,6 +471,8 @@ local $AxKit::Cfg = Apache::AxKit::ConfigReader->new($r); my $provider = Apache::AxKit::Provider->new_content_provider($r); + + local($AxKit::Pipeline) = Apache::AxKit::PipeCtrl->new(); my $pipeline = build_pipeline($r, $provider, 1); # no output; @@ -599,6 +537,8 @@ my $error = $E->as_xml($r->filename); + local($AxKit::Pipeline) = Apache::AxKit::PipeCtrl->new(); + my $provider = Apache::AxKit::Provider::Scalar->new( $r, $error, $error_styles ); @@ -606,13 +546,11 @@ eval { my ($transformer, $doit) = AxKit::get_output_transformer(); my $last_in_chain = !( $doit || lc($r->dir_config('Filter')) eq 'on' ); - - my $pipeline = Apache::AxKit::Pipeline->create_pipeline( - apache => $r, - provider => $provider, - styles => $error_styles, - lastinchain => $last_in_chain - ); + + + $AxKit::Pipeline->add_styles( @$error_styles ); + + my $pipeline = $AxKit::Pipeline->create_pipeline( $r, $provider, $last_in_chain ); $pipeline->send($r); @@ -630,9 +568,43 @@ return OK; } -sub insert_next_stylesheet { die("Not supported anymore") } -sub insert_last_stylesheet { die("Not supported anymore") } -sub reset_stylesheets { die("Not supported anymore") } +sub insert_next_stylesheet { + my ($type, $href) = @_; + my $mapping = $AxKit::Cfg->StyleMap; + my $module = $mapping->{$type}; + if (!$module) { + throw Apache::AxKit::Exception::Declined( + reason => "No implementation mapping available for type '$type'" + ); + } + + $AxKit::Pipeline->add_style( + type => $type, + href => $href, + module => $module, + prepend => 1, + ); +} + +sub insert_last_stylesheet { + my ($type, $href) = @_; + my $mapping = $AxKit::Cfg->StyleMap; + my $module = $mapping->{$type}; + if (!$module) { + throw Apache::AxKit::Exception::Declined( + reason => "No implementation mapping available for type '$type'" + ); + } + $AxKit::Pipeline->add_style( + type => $type, + href => $href, + module => $module, + ); +} + +sub reset_stylesheets { + $AxKit::Pipeline = Apache::AxKit::PipeCtrl->new(); +} sub get_style_and_media { my $style = $AxKit::Cfg->PreferredStyle; @@ -679,74 +651,6 @@ return $styles; } } - -#sub deliver_to_browser { -# my ($r, $str_ref) = @_; - -# if (ref($r) eq 'AxKit::Apache') { -# bless $r, 'Apache'; -# tie *STDOUT, 'Apache', $r; -# } - -# my $result_code = $r->status(); - -# AxKit::Debug(4, "delivering to browser"); - -# -# if ($r->content_type eq 'changeme' && !$r->notes('axkit_passthru_type')) { -# $AxKit::Cfg->AllowOutputCharset(1); -# $r->content_type('text/html; charset=' . ($AxKit::Cfg->OutputCharset || "UTF-8")); -# } -# elsif ($r->notes('axkit_passthru_type')) { -# $r->content_type($AxKit::OrigType); -# } - -# if (my $charset = $AxKit::Cfg->OutputCharset()) { -# my $ct = $r->content_type; -# $ct =~ s/charset=.*?(;|$)/charset=$charset/i; -# $r->content_type($ct); -# } -# -# I've removed all this cause it breaks error documents -# -# if ($result_code != OK && $result_code != 200) { -# # no caching - probably makes no sense, and will be turned off -# # anyways, as currently only XSP pages allow to send custom responses -# AxKit::Debug(4,"sending custom response: $result_code"); -# my ($transformer, $doit) = get_output_transformer(); -# if ($doit) { -# $r->custom_response($result_code,$transformer->( ${$str_ref} )); -# } -# else { -# $r->custom_response($result_code,${$str_ref}); -# } -# return $result_code; -# } -# -# $r->status(200); - -# AxKit::Debug(4, "writing xml string to browser"); -# my ($transformer, $doit) = get_output_transformer(); -# if ($AxKit::Cfg->DoGzip) { -# AxKit::Debug(4, 'Sending gzipped xml string to browser'); -# my $data = Compress::Zlib::memGzip($doit ? -# $transformer->($r->pnotes('xml_string')) : -# $r->pnotes('xml_string') -# ); -# $r->header_out('Content-Length' => length($data)); -# AxKit::Apache::send_http_header($r); -# return DONE if $r->method eq 'HEAD'; -# $r->print($data); -# } -# else { -# my $data = $doit ? $transformer->( ${$str_ref} ) : ${$str_ref}; -# $r->header_out('Content-Length' => length($data)); -# AxKit::Apache::send_http_header($r); - # return DONE if $r->method eq 'HEAD'; -# $r->print($data); -# } - # return OK; -#} sub prep_exception { my $err = shift; No revision No revision 1.4.2.1 +3 -1 xml-axkit/lib/Apache/AxKit/Language.pm Index: Language.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Language.pm,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -r1.4 -r1.4.2.1 --- Language.pm 16 Jul 2003 15:18:20 -0000 1.4 +++ Language.pm 27 Oct 2003 00:59:54 -0000 1.4.2.1 @@ -18,6 +18,8 @@ return $provider->mtime(); } +sub enable_dynamic_styles{ 0; } + sub stylesheet_exists { 1; } sub get_params { 1.1.2.3 +2 -97 xml-axkit/lib/Apache/AxKit/Attic/Pipeline.pm Index: Pipeline.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Attic/Pipeline.pm,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- Pipeline.pm 22 Oct 2003 21:48:29 -0000 1.1.2.2 +++ Pipeline.pm 27 Oct 2003 00:59:54 -0000 1.1.2.3 @@ -1,4 +1,3 @@ - package Apache::AxKit::Pipeline; use strict; @@ -6,10 +5,6 @@ use Apache::Constants; use Apache::Request; use Apache::AxKit::Provider; -use Apache::AxKit::Pipeline::Trace; -use Apache::AxKit::Pipeline::Language; -use Apache::AxKit::Pipeline::Head; -use Apache::AxKit::Pipeline::Cache; sub new{ my ($class) = shift; @@ -22,98 +17,6 @@ return $self; } -sub create_pipeline{ - my ($class, %args) = @_; - - my $r = delete $args{'apache'}; - my $provider = delete $args{'provider'}; - my $styles = delete $args{'styles'} || []; - my $lastinchain = delete $args{'lastinchain'}; - - # passthru interface.... only take the first N - 1 styles. - # So N=1 is the provider only. N=2 is provider + first stylesheet.... - - my @styles = @$styles; - - if( my $p = $r->notes()->{'axkit_passthru'} ) { - my @passthru = splice( @styles, 0, $p - 1 ); - @styles = @passthru; - } - - # Add a pipeline head at the top of the pipeline. - # Allows for cleaner interface into provider. - - unshift(@styles, { - module => 'Apache::AxKit::Pipeline::Head', - href => undef, - }); - - if( $AxKit::Cfg->TraceIntermediate ) { - - # Add a trace module between each style. - - @styles = map { - ( { module => 'Apache::AxKit::Pipeline::Trace', - href => undef }, - $_ - ) } @styles; - } - - my $pipeline = $provider; - - foreach my $style ( @styles ) { - $pipeline = $class->create_processor($r, $style )->upstream($pipeline); - } - - # always ensure pipeline is cache enabled. - # so add one on the end, unless either there already is a cache somewhere in the pipeline - # or the cache is disabled. - - if($pipeline->cache_required() && !$AxKit::Cfg->NoCache()) { - $pipeline = Apache::AxKit::Pipeline::Cache->new()->upstream($pipeline); - } - - if($lastinchain) { - unless( $pipeline->output_binary() ) { - - my ($transformer, $doit) = AxKit::get_output_transformer(); - - if( $doit ) { - $pipeline = Apache::AxKit::Pipeline::Transformer->new()->upstream($pipeline); - } - } - } - - # initialise the pipeline. (very important). - - $pipeline->set_stage(); - $pipeline->init($r); - - return $pipeline; -} - -sub create_processor{ - my ($class, $r, $style ) = @_; - - AxKit::Debug(4, "styles: ", $style->{module}, "(", $style->{href}, ")"); - no strict 'refs'; - my $processor = $style->{module} || $AxKit::Cfg->StyleMap->{$style->{type}}; - - AxKit::Debug(3, "Pipeline: about to create $processor"); - AxKit::load_module($processor); - - return UNIVERSAL::isa( $processor, 'Apache::AxKit::Language') ? - Apache::AxKit::Pipeline::Language->new( - href => $style->{href}, - module => $processor, - - ) : - $processor->new( - href => $style->{href}, - ); -} - - sub init{ my $self = shift; my $r = shift; @@ -266,6 +169,8 @@ } sub stylesheet_exists { 1; } + +sub enable_dynamic_styles{ 0 }; sub get_params { my $class = shift; No revision Index: Pipeline.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Attic/Pipeline.pm,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- Pipeline.pm 22 Oct 2003 21:48:29 -0000 1.1.2.2 +++ Pipeline.pm 27 Oct 2003 00:59:54 -0000 1.1.2.3 @@ -1,4 +1,3 @@ - package Apache::AxKit::Pipeline; use strict; @@ -6,10 +5,6 @@ use Apache::Constants; use Apache::Request; use Apache::AxKit::Provider; -use Apache::AxKit::Pipeline::Trace; -use Apache::AxKit::Pipeline::Language; -use Apache::AxKit::Pipeline::Head; -use Apache::AxKit::Pipeline::Cache; sub new{ my ($class) = shift; @@ -22,98 +17,6 @@ return $self; } -sub create_pipeline{ - my ($class, %args) = @_; - - my $r = delete $args{'apache'}; - my $provider = delete $args{'provider'}; - my $styles = delete $args{'styles'} || []; - my $lastinchain = delete $args{'lastinchain'}; - - # passthru interface.... only take the first N - 1 styles. - # So N=1 is the provider only. N=2 is provider + first stylesheet.... - - my @styles = @$styles; - - if( my $p = $r->notes()->{'axkit_passthru'} ) { - my @passthru = splice( @styles, 0, $p - 1 ); - @styles = @passthru; - } - - # Add a pipeline head at the top of the pipeline. - # Allows for cleaner interface into provider. - - unshift(@styles, { - module => 'Apache::AxKit::Pipeline::Head', - href => undef, - }); - - if( $AxKit::Cfg->TraceIntermediate ) { - - # Add a trace module between each style. - - @styles = map { - ( { module => 'Apache::AxKit::Pipeline::Trace', - href => undef }, - $_ - ) } @styles; - } - - my $pipeline = $provider; - - foreach my $style ( @styles ) { - $pipeline = $class->create_processor($r, $style )->upstream($pipeline); - } - - # always ensure pipeline is cache enabled. - # so add one on the end, unless either there already is a cache somewhere in the pipeline - # or the cache is disabled. - - if($pipeline->cache_required() && !$AxKit::Cfg->NoCache()) { - $pipeline = Apache::AxKit::Pipeline::Cache->new()->upstream($pipeline); - } - - if($lastinchain) { - unless( $pipeline->output_binary() ) { - - my ($transformer, $doit) = AxKit::get_output_transformer(); - - if( $doit ) { - $pipeline = Apache::AxKit::Pipeline::Transformer->new()->upstream($pipeline); - } - } - } - - # initialise the pipeline. (very important). - - $pipeline->set_stage(); - $pipeline->init($r); - - return $pipeline; -} - -sub create_processor{ - my ($class, $r, $style ) = @_; - - AxKit::Debug(4, "styles: ", $style->{module}, "(", $style->{href}, ")"); - no strict 'refs'; - my $processor = $style->{module} || $AxKit::Cfg->StyleMap->{$style->{type}}; - - AxKit::Debug(3, "Pipeline: about to create $processor"); - AxKit::load_module($processor); - - return UNIVERSAL::isa( $processor, 'Apache::AxKit::Language') ? - Apache::AxKit::Pipeline::Language->new( - href => $style->{href}, - module => $processor, - - ) : - $processor->new( - href => $style->{href}, - ); -} - - sub init{ my $self = shift; my $r = shift; @@ -266,6 +169,8 @@ } sub stylesheet_exists { 1; } + +sub enable_dynamic_styles{ 0 }; sub get_params { my $class = shift; No revision Index: Pipeline.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Attic/Pipeline.pm,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- Pipeline.pm 22 Oct 2003 21:48:29 -0000 1.1.2.2 +++ Pipeline.pm 27 Oct 2003 00:59:54 -0000 1.1.2.3 @@ -1,4 +1,3 @@ - package Apache::AxKit::Pipeline; use strict; @@ -6,10 +5,6 @@ use Apache::Constants; use Apache::Request; use Apache::AxKit::Provider; -use Apache::AxKit::Pipeline::Trace; -use Apache::AxKit::Pipeline::Language; -use Apache::AxKit::Pipeline::Head; -use Apache::AxKit::Pipeline::Cache; sub new{ my ($class) = shift; @@ -22,98 +17,6 @@ return $self; } -sub create_pipeline{ - my ($class, %args) = @_; - - my $r = delete $args{'apache'}; - my $provider = delete $args{'provider'}; - my $styles = delete $args{'styles'} || []; - my $lastinchain = delete $args{'lastinchain'}; - - # passthru interface.... only take the first N - 1 styles. - # So N=1 is the provider only. N=2 is provider + first stylesheet.... - - my @styles = @$styles; - - if( my $p = $r->notes()->{'axkit_passthru'} ) { - my @passthru = splice( @styles, 0, $p - 1 ); - @styles = @passthru; - } - - # Add a pipeline head at the top of the pipeline. - # Allows for cleaner interface into provider. - - unshift(@styles, { - module => 'Apache::AxKit::Pipeline::Head', - href => undef, - }); - - if( $AxKit::Cfg->TraceIntermediate ) { - - # Add a trace module between each style. - - @styles = map { - ( { module => 'Apache::AxKit::Pipeline::Trace', - href => undef }, - $_ - ) } @styles; - } - - my $pipeline = $provider; - - foreach my $style ( @styles ) { - $pipeline = $class->create_processor($r, $style )->upstream($pipeline); - } - - # always ensure pipeline is cache enabled. - # so add one on the end, unless either there already is a cache somewhere in the pipeline - # or the cache is disabled. - - if($pipeline->cache_required() && !$AxKit::Cfg->NoCache()) { - $pipeline = Apache::AxKit::Pipeline::Cache->new()->upstream($pipeline); - } - - if($lastinchain) { - unless( $pipeline->output_binary() ) { - - my ($transformer, $doit) = AxKit::get_output_transformer(); - - if( $doit ) { - $pipeline = Apache::AxKit::Pipeline::Transformer->new()->upstream($pipeline); - } - } - } - - # initialise the pipeline. (very important). - - $pipeline->set_stage(); - $pipeline->init($r); - - return $pipeline; -} - -sub create_processor{ - my ($class, $r, $style ) = @_; - - AxKit::Debug(4, "styles: ", $style->{module}, "(", $style->{href}, ")"); - no strict 'refs'; - my $processor = $style->{module} || $AxKit::Cfg->StyleMap->{$style->{type}}; - - AxKit::Debug(3, "Pipeline: about to create $processor"); - AxKit::load_module($processor); - - return UNIVERSAL::isa( $processor, 'Apache::AxKit::Language') ? - Apache::AxKit::Pipeline::Language->new( - href => $style->{href}, - module => $processor, - - ) : - $processor->new( - href => $style->{href}, - ); -} - - sub init{ my $self = shift; my $r = shift; @@ -266,6 +169,8 @@ } sub stylesheet_exists { 1; } + +sub enable_dynamic_styles{ 0 }; sub get_params { my $class = shift; 1.1.2.1 +229 -0 xml-axkit/lib/Apache/AxKit/Attic/PipeCtrl.pm No revision No revision 1.12.2.1 +3 -1 xml-axkit/lib/Apache/AxKit/Language/XPathScript.pm Index: XPathScript.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Language/XPathScript.pm,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -u -r1.12 -r1.12.2.1 --- XPathScript.pm 19 Sep 2003 10:08:04 -0000 1.12 +++ XPathScript.pm 27 Oct 2003 00:59:55 -0000 1.12.2.1 @@ -22,6 +22,8 @@ $VERSION = '0.05'; +sub enable_dynamic_styles{ 0; } + sub handler { my $class = shift; my ($r, $xml_provider, $style_provider) = @_; 1.51.2.2 +2 -1 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.51.2.1 retrieving revision 1.51.2.2 diff -u -r1.51.2.1 -r1.51.2.2 --- XSP.pm 20 Oct 2003 20:58:01 -0000 1.51.2.1 +++ XSP.pm 27 Oct 2003 00:59:55 -0000 1.51.2.2 @@ -17,6 +17,7 @@ @ISA = ('Apache::AxKit::Language'); sub stylesheet_exists () { 0; } +sub enable_dynamic_styles{ 1; } sub get_mtime { return 30; # 30 days in the cache? No revision No revision 1.1.2.3 +3 -0 xml-axkit/lib/Apache/AxKit/Pipeline/Attic/Head.pm Index: Head.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Pipeline/Attic/Head.pm,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- Head.pm 22 Oct 2003 21:48:29 -0000 1.1.2.2 +++ Head.pm 27 Oct 2003 00:59:55 -0000 1.1.2.3 @@ -10,6 +10,9 @@ $VERSION = 1.0; # this fixes a CPAN.pm bug. Bah! +sub init{ + return +}; sub new{ my $class = shift; 1.1.2.2 +4 -2 xml-axkit/lib/Apache/AxKit/Pipeline/Attic/Language.pm Index: Language.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Pipeline/Attic/Language.pm,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- Language.pm 20 Oct 2003 20:58:01 -0000 1.1.2.1 +++ Language.pm 27 Oct 2003 00:59:55 -0000 1.1.2.2 @@ -21,14 +21,16 @@ return $self; } +sub enable_dyanmic_styles{ + return shift->{'module'}->enable_dynamic_styles(); +} sub has_changed{ return shift->upstream()->has_changed( shift ); } sub stylesheet_exists{ - my $self = shift; - return $self->{'module'}->stylesheet_exists(); + return shift->{'module'}->stylesheet_exists(); } sub get_dom { 1.1.2.2 +1 -1 xml-axkit/lib/Apache/AxKit/Pipeline/Attic/XSP.pm Index: XSP.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Pipeline/Attic/XSP.pm,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- XSP.pm 20 Oct 2003 20:58:01 -0000 1.1.2.1 +++ XSP.pm 27 Oct 2003 00:59:55 -0000 1.1.2.2 @@ -254,7 +254,7 @@ sub stylesheet_exists{ 0; } - +sub enable_dynamic_styles{ 1 }; 1; No revision Index: XSP.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Pipeline/Attic/XSP.pm,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- XSP.pm 20 Oct 2003 20:58:01 -0000 1.1.2.1 +++ XSP.pm 27 Oct 2003 00:59:55 -0000 1.1.2.2 @@ -254,7 +254,7 @@ sub stylesheet_exists{ 0; } - +sub enable_dynamic_styles{ 1 }; 1; No revision Index: XSP.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Pipeline/Attic/XSP.pm,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- XSP.pm 20 Oct 2003 20:58:01 -0000 1.1.2.1 +++ XSP.pm 27 Oct 2003 00:59:55 -0000 1.1.2.2 @@ -254,7 +254,7 @@ sub stylesheet_exists{ 0; } - +sub enable_dynamic_styles{ 1 }; 1; 1.1.2.1 +39 -0 xml-axkit/lib/Apache/AxKit/Pipeline/Attic/DoStyles.pm 1.1.2.1 +39 -0 xml-axkit/lib/Apache/AxKit/Pipeline/Attic/Tail.pm No revision No revision 1.1.8.1 +4 -3 xml-axkit/lib/Apache/AxKit/Provider/Scalar.pm Index: Scalar.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Provider/Scalar.pm,v retrieving revision 1.1 retrieving revision 1.1.8.1 diff -u -r1.1 -r1.1.8.1 --- Scalar.pm 13 Jan 2002 20:45:12 -0000 1.1 +++ Scalar.pm 27 Oct 2003 00:59:55 -0000 1.1.8.1 @@ -28,8 +28,8 @@ sub init { my $self = shift; - $self->{data} = $_[0]; - $self->{styles} = $_[1]; + $self->{data} = shift; + $self->{styles} = shift; # warn "Scalar Provider constructed with: $self->{data}\n"; } @@ -55,6 +55,7 @@ sub get_strref { my $self = shift; + return \$self->{data}; } No revision Index: Scalar.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Provider/Scalar.pm,v retrieving revision 1.1 retrieving revision 1.1.8.1 diff -u -r1.1 -r1.1.8.1 --- Scalar.pm 13 Jan 2002 20:45:12 -0000 1.1 +++ Scalar.pm 27 Oct 2003 00:59:55 -0000 1.1.8.1 @@ -28,8 +28,8 @@ sub init { my $self = shift; - $self->{data} = $_[0]; - $self->{styles} = $_[1]; + $self->{data} = shift; + $self->{styles} = shift; # warn "Scalar Provider constructed with: $self->{data}\n"; } @@ -55,6 +55,7 @@ sub get_strref { my $self = shift; + return \$self->{data}; } No revision Index: Scalar.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Provider/Scalar.pm,v retrieving revision 1.1 retrieving revision 1.1.8.1 diff -u -r1.1 -r1.1.8.1 --- Scalar.pm 13 Jan 2002 20:45:12 -0000 1.1 +++ Scalar.pm 27 Oct 2003 00:59:55 -0000 1.1.8.1 @@ -28,8 +28,8 @@ sub init { my $self = shift; - $self->{data} = $_[0]; - $self->{styles} = $_[1]; + $self->{data} = shift; + $self->{styles} = shift; # warn "Scalar Provider constructed with: $self->{data}\n"; } @@ -55,6 +55,7 @@ sub get_strref { my $self = shift; + return \$self->{data}; } 1.1.2.1 +77 -0 xml-axkit/lib/Apache/AxKit/Provider/Attic/DOM.pm No revision No revision 1.7.2.3 +6 -0 xml-axkit/t/conf/extra.last.conf.in Index: extra.last.conf.in =================================================================== RCS file: /home/cvs/xml-axkit/t/conf/extra.last.conf.in,v retrieving revision 1.7.2.2 retrieving revision 1.7.2.3 diff -u -r1.7.2.2 -r1.7.2.3 --- extra.last.conf.in 22 Oct 2003 21:48:29 -0000 1.7.2.2 +++ extra.last.conf.in 27 Oct 2003 00:59:55 -0000 1.7.2.3 @@ -169,3 +169,9 @@ AxAddProcessor text/xsl /style/pipeline/sax/03.xsl </Location> +<Location "/pipeline/styles/01.xsp"> + SetHandler axkit + AxAddStyleMap application/xsp Apache::AxKit::Pipeline::XSP + AxAddProcessor application/xsp NULL + AxResetProcessors +</Location> No revision No revision 1.1.2.1 +11 -0 xml-axkit/t/htdocs/pipeline/styles/Attic/01.xsp No revision No revision 1.1.2.1 +9 -0 xml-axkit/t/htdocs/style/pipeline/styles/Attic/01.xsl No revision No revision 1.1.2.1 +16 -0 xml-axkit/t/pipeline/Attic/03styles.t