mathiasbynens / he

A robust HTML entity encoder/decoder written in JavaScript.
https://mths.be/he
MIT License
3.45k stars 254 forks source link

Incorrect error message for unknown named character references #51

Open youming-lin opened 8 years ago

youming-lin commented 8 years ago

A minor issue:

he.decode('&abc;', {strict: true}) throws error with this message: Parse error: named character reference was not terminated by a semicolon, when in fact neither a nor ab are valid legacy named character references and &abc; is terminated by ;. I think an error message to the effect of Parse error: named character reference is not spec-defined would be better in this case.

This and #50 notwithstanding, he has been a great companion to the HTML5 spec as I learn about and write a spec-compliant HTML entity decoder for Swift :)

mathiasbynens commented 8 years ago

Another excellent report. Thank you, @youming-lin!

Will your decoder be open-source?

youming-lin commented 8 years ago

@mathiasbynens Yup, it is Apache 2.0 licensed: https://github.com/IBM-Swift/swift-html-entities

Version 1 supports HTML4 named character references; I'm currently working on version 2 which will support HTML5 named character references and improve parsing to detect parse errors as defined in the spec.