/[suikacvs]/test/html-webhacc/WebHACC/Language/CacheManifest.pm
Suika

Diff of /test/html-webhacc/WebHACC/Language/CacheManifest.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by wakaba, Sun Jul 20 14:58:24 2008 UTC revision 1.4 by wakaba, Thu Aug 14 07:19:44 2008 UTC
# Line 1  Line 1 
1  package WebHACC::Language::CacheManifest;  package WebHACC::Language::CacheManifest;
2  use strict;  use strict;
3  require WebHACC::Language::Base;  require WebHACC::Language::Base;
4  push our @ISA, 'WebHACC::Langauge::Base';  push our @ISA, 'WebHACC::Language::Base';
5    
6  sub new ($) {  sub new ($) {
7    my $self = bless {}, shift;    my $self = bless {}, shift;
# Line 15  sub generate_syntax_error_section ($) { Line 15  sub generate_syntax_error_section ($) {
15    
16    my $out = $self->output;    my $out = $self->output;
17    
18    $out->start_section (id => 'parse-errors', title => 'Parse Errors');    $out->start_section (role => 'parse-errors');
19    $out->start_tag ('dl', id => 'parse-errors-list');    $out->start_error_list (role => 'parse-errors');
20    
21    my $input = $self->input;    my $input = $self->input;
22    my $result = $self->result;    my $result = $self->result;
23    
   my $onerror = sub {  
     my (%opt) = @_;  
     my ($type, $cls, $msg) = get_text ($opt{type}, $opt{level});  
     $out->html (qq[<dt class="$cls">], get_error_label ($input, \%opt));  
     $type =~ tr/ /-/;  
     $type =~ s/\|/%7C/g;  
     $msg .= qq[ [<a href="../error-description#@{[htescape ($type)]}">Description</a>]];  
     $out->html (qq[<dd class="$cls">], get_error_level_label (\%opt) . $msg);  
   
     add_error ('syntax', \%opt => $result);  
   };  
   
24    my $m = $input->{is_char_string} ? 'parse_char_string' : 'parse_byte_string';    my $m = $input->{is_char_string} ? 'parse_char_string' : 'parse_byte_string';
25    $self->{structure} = Whatpm::CacheManifest->$m    $self->{structure} = Whatpm::CacheManifest->$m
26        ($input->{s}, $input->{uri}, $input->{base_uri}, $onerror);        ($input->{s}, $input->{uri}, $input->{base_uri}, sub {
27            $result->add_error (@_, layer => 'syntax', index_has_link => 1);
28    $out->end_tag ('dl');        });
29          
30      $out->end_error_list (role => 'parse-errors');
31    $out->end_section;    $out->end_section;
32  } # generate_syntax_error_section  } # generate_syntax_error_section
33    
# Line 45  sub generate_structure_dump_section ($) Line 35  sub generate_structure_dump_section ($)
35    my $self = shift;    my $self = shift;
36    my $manifest = $self->{structure};    my $manifest = $self->{structure};
37    
38    $self->start_section (id => 'dump-manifest', title => 'Cache Manifest');    my $out = $self->output;
39    
40      $out->start_section (role => 'structure');
41    
42    $self->html (qq[<dl><dt>Explicit entries</dt>]);    $out->html (qq[<dl><dt>Explicit entries</dt>]);
43    my $i = 0;    my $i = 0;
44    for my $uri (@{$manifest->[0]}) {    for my $uri (@{$manifest->[0]}) {
45      $out->start_tag ('dd', id => 'index-' . $i++);      $out->start_tag ('dd', id => 'index-' . $i++);
# Line 81  sub generate_structure_error_section ($) Line 73  sub generate_structure_error_section ($)
73    
74    my $out = $self->output;    my $out = $self->output;
75    
76    $out->start_section (id => 'document-errors', title => 'Document Errors');    $out->start_section (role => 'structure-errors');
77    $out->start_tag ('dl');    $out->start_error_list (role => 'structure-errors');
78    
79    my $result = $out->result;    my $result = $self->result;
80    
81    Whatpm::CacheManifest->check_manifest ($self->{structure}, sub {    Whatpm::CacheManifest->check_manifest ($self->{structure}, sub {
82      my %opt = @_;      $result->add_error (@_, layer => 'structure');
     my ($type, $cls, $msg) = get_text ($opt{type}, $opt{level}, $opt{node});  
     $type =~ tr/ /-/;  
     $type =~ s/\|/%7C/g;  
     $msg .= qq[ [<a href="../error-description#@{[htescape ($type)]}">Description</a>]];  
     $out->html (qq[<dt class="$cls">] . get_error_label ($input, \%opt) .  
         qq[</dt>\n<dd class="$cls">], $msg, "</dd>\n");  
     add_error ('structure', \%opt => $result);  
83    });    });
84    
85      $out->end_error_list;
86    $out->end_section;    $out->end_section;
87  } # generate_structure_error_section  } # generate_structure_error_section
88    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24