/[suikacvs]/webroot/gate/2007/html/WebHACC/Language/WebIDL.pm
Suika

Contents of /webroot/gate/2007/html/WebHACC/Language/WebIDL.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (hide annotations) (download)
Thu Aug 14 15:50:42 2008 UTC (15 years, 8 months ago) by wakaba
Branch: MAIN
Changes since 1.4: +5 -0 lines
++ ChangeLog	14 Aug 2008 15:42:17 -0000
	* cc.cgi: Generate result summary sections for
	each subdocument.

	* error-description-source.xml: New entries to
	support localization of result sections.

2008-08-14  Wakaba  <wakaba@suika.fam.cx>

	* cc-style.css: Support for revised version of result summary
	section styling.

2008-08-14  Wakaba  <wakaba@suika.fam.cx>

++ html/WebHACC/Language/ChangeLog	14 Aug 2008 15:50:38 -0000
	* Base.pm, CSS.pm, CacheManifest.pm, DOM.pm, Default.pm,
	HTML.pm, WebIDL.pm, XML.pm: Set |layer_applicable|
	or |layer_uncertain| flag appropriately.

2008-08-14  Wakaba  <wakaba@suika.fam.cx>

++ html/WebHACC/ChangeLog	14 Aug 2008 15:48:38 -0000
	* Input.pm: Methods |generate_transfer_sections|
	and |generate_http_header_section| are moved to HTTP
	subclass, since they are irrelevant to non-HTTP inputs.
	(_get_document): Forbidden host error was not represented
	by WebHACC::Input::Error subclass.
	(WebHACC::Input::Error generate_transfer_sections): Use
	role name for the section.
	(WebHACC::Input::HTTPError generate_transfer_sections): New method
	added, since the main superclass, i.e. WebHACC::Input::Error,
	no longer dumps HTTP headers due to the change mentioned above.

	* Output.pm (start_section): New roles "transfer-errors" and "result".

	* Result.pm (parent_result): New attribute.
	(layer_applicable, layer_uncertain): New methods to set flags.
	(add_error): Natural language strings are now handled
	by the catalog mechanism.  Use new scoring mechanism.
	(generate_result_section): Use catalog for all natural
	language strings.  Table generation is now much more sophiscated
	that it was.  Support for subdoc result summary.  Support
	for the column of the number of informational message.  Support
	for "N/A" status.

2008-08-14  Wakaba  <wakaba@suika.fam.cx>

1 wakaba 1.1 package WebHACC::Language::WebIDL;
2     use strict;
3     require WebHACC::Language::Base;
4     push our @ISA, 'WebHACC::Language::Base';
5    
6     sub new ($) {
7     my $self = bless {}, shift;
8     return $self;
9     } # new
10    
11     sub generate_syntax_error_section ($) {
12     my $self = shift;
13    
14     require Whatpm::WebIDL;
15    
16 wakaba 1.5 $self->result->layer_uncertain ('encode');
17     $self->result->layer_uncertain ('charset');
18    
19 wakaba 1.1 my $out = $self->output;
20 wakaba 1.3 $out->start_section (role => 'parse-errors');
21     $out->start_error_list (role => 'parse-errors');
22 wakaba 1.5 $self->result->layer_applicable ('syntax');
23 wakaba 1.1
24     my $input = $self->input;
25     my $result = $self->result;
26    
27     require Encode;
28     my $s = $input->{is_char_string} ? $input->{s} : Encode::decode ($input->{charset} || 'utf-8', $input->{s}); ## TODO: charset
29     my $parser = Whatpm::WebIDL::Parser->new;
30    
31 wakaba 1.2 $self->{structure} = $parser->parse_char_string ($input->{s}, sub {
32     $result->add_error (@_, layer => 'syntax');
33     });
34 wakaba 1.1
35 wakaba 1.3 $out->end_error_list (role => 'parse-errors');
36     $out->end_section;
37 wakaba 1.1 } # generate_parse_error_section
38    
39     sub generate_structure_dump_section ($) {
40     my $self = shift;
41    
42     my $out = $self->output;
43 wakaba 1.3
44     $out->start_section (role => 'reformatted');
45    
46 wakaba 1.1 $out->start_code_block;
47     $out->text ($self->{structure}->idl_text);
48     $out->end_code_block;
49 wakaba 1.3
50 wakaba 1.1 $out->end_section
51     } # generate_structure_dump_section
52    
53 wakaba 1.4 sub generate_structure_error_section ($) {
54     my $self = shift;
55    
56     my $out = $self->output;
57    
58     $out->start_section (role => 'structure-errors');
59     $out->start_error_list (role => 'structure-errors');
60 wakaba 1.5 $self->result->layer_applicable ('structure');
61 wakaba 1.4
62     $self->{structure}->check (sub {
63     $self->result->add_error (@_, layer => 'structure');
64     });
65    
66     $out->end_error_list (role => 'structure-errors');
67     $out->end_section;
68     } # generate_structure_error_section
69    
70 wakaba 1.1 1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24