Efficient formalism-only parsing of XML/HTML using the §-calculus

Quinn Tyler Jackson
DOI: https://doi.org/10.1145/772970.772974
2003-02-01
ACM SIGPLAN Notices
Abstract:Traditionally, correct parsing of XML and HTML has been littered with semantic hacks in the parsing code to deal with the oddities of these languages, since HTML accepts unbalanced tags and tags that do not match in case, but XML is less forgiving. The detection of well-formedness of XML documents has, to date, required semantic analysis outside of the grammar specification. We present a grammar-only (HT\X)ML parser which, upon detecting that it is parsing XML, modifies itself dynamically in order to insure that the document conforms to XML'S stricter rules. Our grammar detects unbalanced tags in XML, as well as mismatched case in otherwise balanced tags, while, at the same time, requiring XML document tag's attribute values to be in quotes, but accepting the looser attribute syntax when in an HTML document. On a 733 MHz Windows 2000 machine, our parser did a wellformedness detecting parse on XML documents such as the KJV Old Testament at a rate of 92 Kb/second, the Austin's Pride and Prejudice at a rate of 108 Kb/second, and Wolfgang May 's Mondial 3.0 database at a rate of 149 Kb/second.
What problem does this paper attempt to address?