
Followup: here's a version of the "xhtml" library which supports selectable doctypes (HTML 4.01, XHTML 1.0, XHTML 1.1): https://patch-tag.com/r/jmillikin/haddock-html/home I couldn't find a darcs repo for "xhtml", so this repo starts from the current version on Hackage. The main "xhtml" library has not been updated in years; it may be easier to upload it under the name "haddock-html", or even merge it into Haddock itself. There are three patches to Haddock to use this library, in varying degrees. They attached to this email (I can't upload my Haddock branch to patch-tag, for some reason). Also hosted at < http://ianen.org/temp/haddock-xhtml.patch >, if your client strips attachments. The first patch simply corrects minor errors in attributes, so <a> uses "id" instead of "name", and group header IDs don't start with a number. The second patch uses the upgraded "xhtml" to generate HTML 4.01. This effectively just corrects the doctypes on the files Haddock is already generating, so the patch is very small. Both of these patches are, I believe, suitable for commitment to the main repository/ The third patch is large, and I think it needs some reviewing before commit. It enables Haddock to generate XHTML (*real* XHTML). The vast majority is plumbing, so files are generated with the correct filenames, so servers can send them with correct mimetypes. Here's samples of the modified Haddock's output: http://ianen.org/temp/haddock/html/ http://ianen.org/temp/haddock/xhtml/ And here's verification that the pages are valid: http://validator.w3.org/check?uri=http%3A%2F%2Fianen.org%2Ftemp%2Fhaddock%2Fhtml%2F http://validator.w3.org/check?uri=http%3A%2F%2Fianen.org%2Ftemp%2Fhaddock%2Fxhtml%2F I haven't had time to extensively test the JavaScript yet, but it appears to work correctly in XHTML mode, so I believe no significant modification to it will be required.