2119 |
redo A; |
redo A; |
2120 |
} else { |
} else { |
2121 |
!!!cp (154); |
!!!cp (154); |
|
## XML5: Not a parse error. |
|
|
!!!parse-error (type => 'dash in comment', |
|
|
line => $self->{line_prev}, |
|
|
column => $self->{column_prev}); |
|
2122 |
$self->{ct}->{data} .= '--' . chr ($self->{nc}); # comment |
$self->{ct}->{data} .= '--' . chr ($self->{nc}); # comment |
2123 |
$self->{state} = COMMENT_STATE; |
$self->{state} = COMMENT_STATE; |
2124 |
!!!next-input-character; |
!!!next-input-character; |
2130 |
$self->{state} = BEFORE_DOCTYPE_NAME_STATE; |
$self->{state} = BEFORE_DOCTYPE_NAME_STATE; |
2131 |
!!!next-input-character; |
!!!next-input-character; |
2132 |
redo A; |
redo A; |
2133 |
|
} elsif ($self->{nc} == -1) { |
2134 |
|
!!!cp (155.1); |
2135 |
|
!!!parse-error (type => 'unclosed DOCTYPE'); |
2136 |
|
$self->{ct}->{quirks} = 1; |
2137 |
|
|
2138 |
|
$self->{state} = DATA_STATE; |
2139 |
|
## Reconsume. |
2140 |
|
!!!emit ($self->{ct}); # DOCTYPE (quirks) |
2141 |
|
|
2142 |
|
redo A; |
2143 |
} else { |
} else { |
2144 |
!!!cp (156); |
!!!cp (156); |
2145 |
## XML5: Unless EOF, swith to the bogus comment state. |
## XML5: Swith to the bogus comment state. |
2146 |
!!!parse-error (type => 'no space before DOCTYPE name'); |
!!!parse-error (type => 'no space before DOCTYPE name'); |
2147 |
$self->{state} = BEFORE_DOCTYPE_NAME_STATE; |
$self->{state} = BEFORE_DOCTYPE_NAME_STATE; |
2148 |
## reconsume |
## reconsume |