177 |
$out->text (substr $opt{value}, $opt{pos_start}, |
$out->text (substr $opt{value}, $opt{pos_start}, |
178 |
$opt{pos_end} - $opt{pos_start} + 1); |
$opt{pos_end} - $opt{pos_start} + 1); |
179 |
$out->end_tag ('mark'); |
$out->end_tag ('mark'); |
180 |
$out->text (substr $opt{value}, $opt{pos_end} + 1); |
$out->text (substr $opt{value}, $opt{pos_end} + 1) |
181 |
|
if $opt{pos_end} < length $opt{value}; |
182 |
$out->end_tag ('code'); |
$out->end_tag ('code'); |
183 |
} elsif ($opt{value_mark_end}) { |
} elsif ($opt{value_mark_end}) { |
184 |
$out->start_tag ('code'); |
$out->start_tag ('code'); |
235 |
## Error message |
## Error message |
236 |
my $error_type_text = $opt{type}; |
my $error_type_text = $opt{type}; |
237 |
$out->nl_text ($error_type_text, node => $opt{node}, text => $opt{text}, |
$out->nl_text ($error_type_text, node => $opt{node}, text => $opt{text}, |
238 |
value => $opt{value}); |
value => $opt{value}, char => $opt{char}, |
239 |
|
octets => $opt{octets}); |
240 |
|
|
241 |
## Link to a long description |
## Link to a long description |
242 |
|
|
321 |
target => 'parse-errors', score_base => 10, |
target => 'parse-errors', score_base => 10, |
322 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
323 |
{label => 'Char L.', status => $self->{layers}->{charset}, |
{label => 'Char L.', status => $self->{layers}->{charset}, |
324 |
score_base => 10, |
target => 'parse-errors', score_base => 10, |
325 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |
326 |
|
## TODO: char semantics layer |
327 |
{label => 'Syntax L.', status => $self->{layers}->{syntax}, |
{label => 'Syntax L.', status => $self->{layers}->{syntax}, |
328 |
target => 'parse-errors', score_base => 20, |
target => 'parse-errors', score_base => 20, |
329 |
parent_status => $maindoc_status}, |
parent_status => $maindoc_status}, |