1644 |
redo X; |
redo X; |
1645 |
} elsif (not defined $code) { # no hexadecimal digit |
} elsif (not defined $code) { # no hexadecimal digit |
1646 |
!!!parse-error (type => 'bare hcro'); |
!!!parse-error (type => 'bare hcro'); |
1647 |
|
!!!back-next-input-character ($x_char, $self->{next_input_character}); |
1648 |
$self->{next_input_character} = 0x0023; # # |
$self->{next_input_character} = 0x0023; # # |
|
!!!back-next-input-character ($x_char); |
|
1649 |
return undef; |
return undef; |
1650 |
} elsif ($self->{next_input_character} == 0x003B) { # ; |
} elsif ($self->{next_input_character} == 0x003B) { # ; |
1651 |
!!!next-input-character; |
!!!next-input-character; |
1717 |
!!!next-input-character; |
!!!next-input-character; |
1718 |
|
|
1719 |
my $value = $entity_name; |
my $value = $entity_name; |
1720 |
my $match; |
my $match = 0; |
1721 |
require Whatpm::_NamedEntityList; |
require Whatpm::_NamedEntityList; |
1722 |
our $EntityChar; |
our $EntityChar; |
1723 |
|
|
1737 |
$match = 1; |
$match = 1; |
1738 |
!!!next-input-character; |
!!!next-input-character; |
1739 |
last; |
last; |
1740 |
} elsif (not $in_attr) { |
} else { |
1741 |
$value = $EntityChar->{$entity_name}; |
$value = $EntityChar->{$entity_name}; |
1742 |
$match = -1; |
$match = -1; |
1743 |
} else { |
!!!next-input-character; |
|
$value .= chr $self->{next_input_character}; |
|
1744 |
} |
} |
1745 |
} else { |
} else { |
1746 |
$value .= chr $self->{next_input_character}; |
$value .= chr $self->{next_input_character}; |
1747 |
|
$match *= 2; |
1748 |
|
!!!next-input-character; |
1749 |
} |
} |
|
!!!next-input-character; |
|
1750 |
} |
} |
1751 |
|
|
1752 |
if ($match > 0) { |
if ($match > 0) { |
1753 |
return {type => 'character', data => $value}; |
return {type => 'character', data => $value}; |
1754 |
} elsif ($match < 0) { |
} elsif ($match < 0) { |
1755 |
!!!parse-error (type => 'no refc'); |
!!!parse-error (type => 'no refc'); |
1756 |
return {type => 'character', data => $value}; |
if ($in_attr and $match < -1) { |
1757 |
|
return {type => 'character', data => '&'.$entity_name}; |
1758 |
|
} else { |
1759 |
|
return {type => 'character', data => $value}; |
1760 |
|
} |
1761 |
} else { |
} else { |
1762 |
!!!parse-error (type => 'bare ero'); |
!!!parse-error (type => 'bare ero'); |
1763 |
## NOTE: No characters are consumed in the spec. |
## NOTE: No characters are consumed in the spec. |