According to the HTML5 Working Draft , the doctype to be used in the case you are using the HTML syntax is:
<!DOCTYPE HTML> case-insensitive
Unfortunately the class org.apache.tapestry5.dom.DTD doesn't allow doctypes with empty public and system identifier. It is also not possible to output the DOCTYPE legacy string <!DOCTYPE HTML SYSTEM "about:legacy-compat">, because some parser internal to Tapestry tries to resolve the system identifier. The best thing, I was able to output is the full HTML 4.01 strict doctype:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
It is allowed in HTML5 as obsolete permitted DOCTYPE string, but not desired.
It would be very simple to allow for what empty HTML5 doctype in org.apache.tapestry5.dom.DTD.