52 |
my ($self, %opt) = @_; |
my ($self, %opt) = @_; |
53 |
|
|
54 |
my $out = $self->output; |
my $out = $self->output; |
55 |
|
$out->has_error (1); |
56 |
|
|
57 |
my $error_level = $opt{level}; |
my $error_level = $opt{level}; |
58 |
if (not defined $error_level) { |
if (not defined $error_level) { |
81 |
$error_layer = 'syntax'; ## NOTE: Unknown - an error of the implementation |
$error_layer = 'syntax'; ## NOTE: Unknown - an error of the implementation |
82 |
} |
} |
83 |
|
|
|
my $error_type_text = $opt{type}; |
|
|
|
|
84 |
my $class = qq[level-$error_level layer-$error_layer]; |
my $class = qq[level-$error_level layer-$error_layer]; |
85 |
|
|
86 |
## Line & column numbers (prepare values) |
## Line & column numbers (prepare values) |
192 |
} |
} |
193 |
|
|
194 |
unless ($has_location) { |
unless ($has_location) { |
195 |
$out->text ('Unknown location'); |
$out->nl_text ('Unknown location'); |
196 |
} |
} |
197 |
} |
} |
198 |
|
|
203 |
$out->text (': '); |
$out->text (': '); |
204 |
|
|
205 |
## Error message |
## Error message |
206 |
|
my $error_type_text = $opt{type}; |
207 |
$out->nl_text ($error_type_text, node => $opt{node}, text => $opt{text}); |
$out->nl_text ($error_type_text, node => $opt{node}, text => $opt{text}); |
208 |
|
|
209 |
## Additional error description |
## Additional error description |
210 |
if (defined $opt{text}) { |
if (defined $opt{text}) { ## TODO: Remove this block once all errors are put into the catalog. |
211 |
$out->html (' (<q>'); |
$out->html (' (<q>'); |
212 |
$out->text ($opt{text}); |
$out->text ($opt{text}); |
213 |
$out->html ('</q>)'); |
$out->html ('</q>)'); |
287 |
$out->start_tag ('th', colspan => 7, scope => 'col'); |
$out->start_tag ('th', colspan => 7, scope => 'col'); |
288 |
$out->nl_text ('Main document'); |
$out->nl_text ('Main document'); |
289 |
}, |
}, |
290 |
{label => 'Transfer', status => $self->{layers}->{transfer}, |
{label => 'Transfer L.', status => $self->{layers}->{transfer}, |
291 |
target => 'transfer-errors', score_base => 20, |
target => 'transfer-errors', score_base => 20, |
292 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
293 |
{label => 'Encode', status => $self->{layers}->{encode}, |
{label => 'Encode L.', status => $self->{layers}->{encode}, |
294 |
score_base => 10, |
target => 'parse-errors', score_base => 10, |
295 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
296 |
{label => 'Charset', status => $self->{layers}->{charset}, |
{label => 'Char L.', status => $self->{layers}->{charset}, |
297 |
score_base => 10, |
score_base => 10, |
298 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
299 |
{label => 'Syntax', status => $self->{layers}->{syntax}, |
{label => 'Syntax L.', status => $self->{layers}->{syntax}, |
300 |
target => 'parse-errors', score_base => 20, |
target => 'parse-errors', score_base => 20, |
301 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
302 |
{label => 'Structure', status => $self->{layers}->{structure}, |
{label => 'Structure L.', status => $self->{layers}->{structure}, |
303 |
target => 'document-errors', score_base => 20, |
target => 'document-errors', score_base => 20, |
304 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
305 |
{label => 'Semantics', status => $self->{layers}->{semantics}, |
{label => 'Semantics L.', status => $self->{layers}->{semantics}, |
306 |
score_base => 20, |
score_base => 20, |
307 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
308 |
); |
); |