/[suikacvs]/markup/html/whatpm/Whatpm/HTML.pm.src
Suika

Diff of /markup/html/whatpm/Whatpm/HTML.pm.src

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.36 by wakaba, Mon Jul 16 04:51:22 2007 UTC revision 1.37 by wakaba, Mon Jul 16 07:03:09 2007 UTC
# Line 1644  sub _tokenize_attempt_to_consume_an_enti Line 1644  sub _tokenize_attempt_to_consume_an_enti
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;
# Line 1717  sub _tokenize_attempt_to_consume_an_enti Line 1717  sub _tokenize_attempt_to_consume_an_enti
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    
# Line 1737  sub _tokenize_attempt_to_consume_an_enti Line 1737  sub _tokenize_attempt_to_consume_an_enti
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.

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24