/[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.4 by wakaba, Mon Jul 21 09:15:55 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    my $out = $self->output;    my $out = $self->output;
17    $out->start_section (id => 'parse-errors', title => 'Parse Errors');    $out->start_section (role => 'parse-errors');
18    $out->start_tag ('dl', class => 'parse-errors-list');    $out->start_error_list (role => 'parse-errors');
19    
20    my $input = $self->input;    my $input = $self->input;
21    my $result = $self->result;    my $result = $self->result;
22    
23    my $onerror = sub {    my $onerror = sub {
24      my $err = shift;      my $err = shift;
25      my $line = $err->location->line_number;      $result->add_error (line => $err->location->line_number,
26      $out->start_tag ('dt');                          column => $err->location->column_number,
27      $out->xref (qq[Line $line], target => 'line-' . $line);                          type => 'xml parse error',
28      $out->html (' column ' . $err->location->column_number . '<dd>');                          value => $err->text,
29      $out->text ($err->text);                          level => [
   
     add_error ('syntax', {type => $err->text,  
                 level => [  
30                            $err->SEVERITY_FATAL_ERROR => 'm',                            $err->SEVERITY_FATAL_ERROR => 'm',
31                            $err->SEVERITY_ERROR => 'm',                            $err->SEVERITY_ERROR => 'm',
32                            $err->SEVERITY_WARNING => 's',                            $err->SEVERITY_WARNING => 's',
33                           ]->[$err->severity]} => $result);                          ]->[$err->severity],
34                            layer => 'syntax');
35      return 1;      return 1;
36    };    };
37    
# Line 45  sub generate_syntax_error_section ($) { Line 43  sub generate_syntax_error_section ($) {
43    }    }
44    
45    open my $fh, '<', $t;    open my $fh, '<', $t;
46    my $doc = Message::DOM::XMLParserTemp->parse_byte_stream    my $dom = Message::DOM::DOMImplementation->new;
47      $self->{structure} = Message::DOM::XMLParserTemp->parse_byte_stream
48        ($fh => $dom, $onerror, charset => $input->{charset});        ($fh => $dom, $onerror, charset => $input->{charset});
49    $doc->manakai_charset ($input->{official_charset})    $self->{structure}->manakai_charset ($input->{official_charset})
50        if defined $input->{official_charset};        if defined $input->{official_charset};
51    
52    $doc->document_uri ($input->{uri});    $self->{structure}->document_uri ($input->{uri});
53    $doc->manakai_entity_base_uri ($input->{base_uri});    $self->{structure}->manakai_entity_base_uri ($input->{base_uri});
54    
55    $out->end_tag ('dl');    $out->end_error_list;
56    $out->end_section;    $out->end_section;
57  } # generate_syntax_error_section  } # generate_syntax_error_section
58    

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24