282 |
$r .= code $Info, $_->get_attribute_value ('Main'); |
$r .= code $Info, $_->get_attribute_value ('Main'); |
283 |
$r .= line $Info, reset => 1; |
$r .= line $Info, reset => 1; |
284 |
$r .= qq(}\n); |
$r .= qq(}\n); |
285 |
|
} elsif ({qw/content_written 1 content_removed 1 content_type_changed_from 1/} |
286 |
|
->{my $node_name = $_->local_name}) { |
287 |
|
$r .= q(sub ).$node_name |
288 |
|
. q( {)."\n".q(my ($self, %opt) = @_;) |
289 |
|
. line $Info, node_path => qq(Format[module-name()=$module_name]/$node_name]); |
290 |
|
$r .= code $Info, $_->get_attribute_value ('Main'); |
291 |
|
$r .= line $Info, reset => 1; |
292 |
|
$r .= qq(}\n); |
293 |
} elsif ($_->local_name eq 'Use') { |
} elsif ($_->local_name eq 'Use') { |
294 |
$r .= line $Info, node_path => qq(Format[module-name()=$module_name]/Use); |
$r .= line $Info, node_path => qq(Format[module-name()=$module_name]/Use); |
295 |
$r .= code $Info, $_->inner_text; |
$r .= code $Info, $_->inner_text; |
509 |
|
|
510 |
sub make_view_template_method ($$) { |
sub make_view_template_method ($$) { |
511 |
my ($src, $Info, $ViewProp) = @_; |
my ($src, $Info, $ViewProp) = @_; |
512 |
|
my $media_type = $src->get_attribute_value |
513 |
|
('media-type', |
514 |
|
default => q<application/octet-stream>); |
515 |
my $r = <<EOH; |
my $r = <<EOH; |
516 |
|
|
517 |
sub main (\$\$\$) { |
sub main (\$\$\$) { |
536 |
$x?q{$opt2->{output}->{status_code} = }.(0 + $x).q{;}:q{}}]} |
$x?q{$opt2->{output}->{status_code} = }.(0 + $x).q{;}:q{}}]} |
537 |
@{[do{my $x=$src->get_attribute('http-status-phrase',make_new_node=>1)->inner_text; |
@{[do{my $x=$src->get_attribute('http-status-phrase',make_new_node=>1)->inner_text; |
538 |
$x?q{$opt2->{output}->{status_phrase} = }.literal($x).q{;}:q{}}]} |
$x?q{$opt2->{output}->{status_phrase} = }.literal($x).q{;}:q{}}]} |
539 |
\$opt2->{output}->{entity}->{media_type} = @{[literal |
\$opt2->{output}->{entity}->{media_type} = @{[literal $media_type]}; |
540 |
$src->get_attribute ('media-type',make_new_node=>1) |
|
|
->inner_text || 'application/octet-stream']}; |
|
541 |
@{[($src->get_attribute ('use-media-type-charset',make_new_node=>1) |
@{[($src->get_attribute ('use-media-type-charset',make_new_node=>1) |
542 |
->inner_text || 0) ? |
->inner_text || 0) ? |
543 |
q{$opt2->{output}->{entity}->{charset} = $self->{view}->{wiki}->{config}->{charset}->{output};}: |
q{$opt2->{output}->{entity}->{charset} = $self->{view}->{wiki}->{config}->{charset}->{output};}: |
557 |
\$self->{view}->{wiki}->init_db; |
\$self->{view}->{wiki}->init_db; |
558 |
\$self->main_pre (\$opt, \$opt2); |
\$self->main_pre (\$opt, \$opt2); |
559 |
|
|
560 |
|
@{[$media_type eq 'text/html' ? q{require Message::Markup::XML::Serialize::HTML;} : '']} |
561 |
use Message::Util::Error; |
use Message::Util::Error; |
562 |
try { |
try { |
563 |
\$opt2->{output}->{entity}->{body} |
\$opt2->{output}->{entity}->{body} |
564 |
= SuikaWiki::Plugin->formatter ('view') |
= @{[$media_type eq 'text/html' ? q{Message::Markup::XML::Serialize::HTML::html_simple} : '']} |
565 |
->replace (\$opt2->{template}, param => \$opt2->{o}); |
(SuikaWiki::Plugin->formatter ('view') |
566 |
|
->replace (\$opt2->{template}, param => \$opt2->{o})); |
567 |
} \$self->{view}->{wiki}->{config}->{catch}->{ @{[ |
} \$self->{view}->{wiki}->{config}->{catch}->{ @{[ |
568 |
$ViewProp->{Name} eq '-error' ? 'formatter_view_error' |
$ViewProp->{Name} eq '-error' ? 'formatter_view_error' |
569 |
: 'formatter_view' ]} }; |
: 'formatter_view' ]} }; |