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

Diff of /test/html-webhacc/WebHACC/Language/XML.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.5 by wakaba, Thu Aug 14 15:50:42 2008 UTC
# Line 10  sub new ($) { Line 10  sub new ($) {
10  sub generate_syntax_error_section ($) {  sub generate_syntax_error_section ($) {
11    my $self = shift;    my $self = shift;
12        
13      require Message::DOM::DOMImplementation;
14    require Message::DOM::XMLParserTemp;    require Message::DOM::XMLParserTemp;
15    
16      $self->result->layer_uncertain ('encode');
17      $self->result->layer_uncertain ('charset');
18    
19    my $out = $self->output;    my $out = $self->output;
20    $out->start_section (id => 'parse-errors', title => 'Parse Errors');    $out->start_section (role => 'parse-errors');
21    $out->start_tag ('dl', class => 'parse-errors-list');    $out->start_error_list (role => 'parse-errors');
22    
23    my $input = $self->input;    my $input = $self->input;
24    my $result = $self->result;    my $result = $self->result;
25      $self->result->layer_applicable ('syntax');
26    
27    my $onerror = sub {    my $onerror = sub {
28      my $err = shift;      my $err = shift;
29      my $line = $err->location->line_number;      $result->add_error (line => $err->location->line_number,
30      $out->start_tag ('dt');                          column => $err->location->column_number,
31      $out->xref (qq[Line $line], target => 'line-' . $line);                          type => 'xml parse error',
32      $out->html (' column ' . $err->location->column_number . '<dd>');                          value => $err->text,
33      $out->text ($err->text);                          level => [
   
     add_error ('syntax', {type => $err->text,  
                 level => [  
34                            $err->SEVERITY_FATAL_ERROR => 'm',                            $err->SEVERITY_FATAL_ERROR => 'm',
35                            $err->SEVERITY_ERROR => 'm',                            $err->SEVERITY_ERROR => 'm',
36                            $err->SEVERITY_WARNING => 's',                            $err->SEVERITY_WARNING => 's',
37                           ]->[$err->severity]} => $result);                          ]->[$err->severity],
38                            layer => 'syntax');
39      return 1;      return 1;
40    };    };
41    
# Line 45  sub generate_syntax_error_section ($) { Line 47  sub generate_syntax_error_section ($) {
47    }    }
48    
49    open my $fh, '<', $t;    open my $fh, '<', $t;
50    my $doc = Message::DOM::XMLParserTemp->parse_byte_stream    my $dom = Message::DOM::DOMImplementation->new;
51      $self->{structure} = Message::DOM::XMLParserTemp->parse_byte_stream
52        ($fh => $dom, $onerror, charset => $input->{charset});        ($fh => $dom, $onerror, charset => $input->{charset});
53    $doc->manakai_charset ($input->{official_charset})    $self->{structure}->manakai_charset ($input->{official_charset})
54        if defined $input->{official_charset};        if defined $input->{official_charset};
55    
56    $doc->document_uri ($input->{uri});    $self->{structure}->document_uri ($input->{uri});
57    $doc->manakai_entity_base_uri ($input->{base_uri});    $self->{structure}->manakai_entity_base_uri ($input->{base_uri});
58    
59    $out->end_tag ('dl');    $out->end_error_list;
60    $out->end_section;    $out->end_section;
61  } # generate_syntax_error_section  } # generate_syntax_error_section
62    

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24