| 3030 |
} |
} |
| 3031 |
|
|
| 3032 |
redo A; |
redo A; |
| 3033 |
|
} elsif ($self->{nc} == -1) { |
| 3034 |
|
|
| 3035 |
|
$self->{parse_error}->(level => $self->{level}->{must}, type => 'unclosed DOCTYPE'); |
| 3036 |
|
$self->{ct}->{quirks} = 1; |
| 3037 |
|
|
| 3038 |
|
$self->{state} = DATA_STATE; |
| 3039 |
|
## Reconsume. |
| 3040 |
|
return ($self->{ct}); # DOCTYPE (quirks) |
| 3041 |
|
|
| 3042 |
|
redo A; |
| 3043 |
} else { |
} else { |
| 3044 |
|
|
| 3045 |
## XML5: Unless EOF, swith to the bogus comment state. |
## XML5: Swith to the bogus comment state. |
| 3046 |
$self->{parse_error}->(level => $self->{level}->{must}, type => 'no space before DOCTYPE name'); |
$self->{parse_error}->(level => $self->{level}->{must}, type => 'no space before DOCTYPE name'); |
| 3047 |
$self->{state} = BEFORE_DOCTYPE_NAME_STATE; |
$self->{state} = BEFORE_DOCTYPE_NAME_STATE; |
| 3048 |
## reconsume |
## reconsume |