| 1558 |
} elsif ($self->{s_kwd} eq '[CDATA' and |
} elsif ($self->{s_kwd} eq '[CDATA' and |
| 1559 |
$self->{nc} == 0x005B) { # [ |
$self->{nc} == 0x005B) { # [ |
| 1560 |
!!!cp (135.2); |
!!!cp (135.2); |
| 1561 |
|
|
| 1562 |
|
if ($self->{is_xml} and |
| 1563 |
|
not $self->{tainted} and |
| 1564 |
|
@{$self->{open_elements} or []} == 0) { |
| 1565 |
|
!!!parse-error (type => 'cdata outside of root element', |
| 1566 |
|
line => $self->{line_prev}, |
| 1567 |
|
column => $self->{column_prev} - 7); |
| 1568 |
|
$self->{tainted} = 1; |
| 1569 |
|
} |
| 1570 |
|
|
| 1571 |
$self->{ct} = {type => CHARACTER_TOKEN, |
$self->{ct} = {type => CHARACTER_TOKEN, |
| 1572 |
data => '', |
data => '', |
| 1573 |
line => $self->{line_prev}, |
line => $self->{line_prev}, |
| 2341 |
!!!next-input-character; |
!!!next-input-character; |
| 2342 |
redo A; |
redo A; |
| 2343 |
} elsif ($self->{nc} == -1) { |
} elsif ($self->{nc} == -1) { |
| 2344 |
|
if ($self->{is_xml}) { |
| 2345 |
|
!!!parse-error (type => 'no mse'); ## TODO: type |
| 2346 |
|
} |
| 2347 |
|
|
| 2348 |
$self->{state} = DATA_STATE; |
$self->{state} = DATA_STATE; |
| 2349 |
$self->{s_kwd} = ''; |
$self->{s_kwd} = ''; |
| 2350 |
!!!next-input-character; |
!!!next-input-character; |