1. When a document uses an XHTML 1.0 doctype, then KompoZer preserves and creates XHTML syntax.
E.g. for the img element, then it creates '/>' instead of '>'.
2. When it comes to HTML5, then there is both a XHTML serialization and a text/html serialization.
3. The tex/HTML serialization considers an case insensitive mach of the uppercased string <!DOCTYPE HTML>
as the correct doctype. See HTML5 draft: http://dev.w3.org/html5/spec/syntax#the-doctype
4. However, for the XHTML serialization, then the option is either to not use any doctype at all, or to use a XHTML compatible DOCTYPE.
Which means that the 'html' string must be lowercase, to mach the syntax of the root element. Also, the doctype string MUST be
uppercase in XHTML. Hence: <!DOCTYPE html>.
ERROR 1:
Unlike XHTMl 1.0, then KompoZer isn't able to work with XHTML5 syntax. Whenever one uses any variant of the HTML5 doctype, then KompoZer will transform the code to HTML4.01 compatible syntax. That is: it will transform <link /> and <img /> into <link> and <img>.
ERROR 2:
KompoZer is unable to handle namespace prefixes in 'application/xhtml+xml' mode. See bug 2991822
(URL: https://sourceforge.net/tracker/?func=detail&atid=853122&aid=2991822&group_id=170132 )
OPTIONS ON THE TABLE:
OPTION 1: 'application/xhtml+xml'
Make it possible to edit in 'application/xhtml+xml' mode = handle prefixes. If you make this option the *only* option, then there is a possible problem: Currently you support XHTML 1.0 editing in 'text/html' mode only. And, to be compatible with existing XHTMl 1.0 documents online and on people's computeres, you must continue to support editing of XHTMl 1.0 in 'text/html' mode.
OPTION 2: discern between <!DOCTYPE html> and <!DOCTYPE HTML>
That is: Use the XHTML compatible doctype as an XHTML5 syntax trigger.
OPTION 3: Convert all HTML5 documents into XHTML5 documents.
That is: Always create XHTML compatilble HTML5 syntax.
Regardless of OPTION 1, 2 or 3, KompoZer should create Appendix C compatible - aka polyglot HTML/XHTML - syntax.
To put it simply, XHTMl 1.0, Appendix C compatible syntax is considered as valid HTML5 syntax, even in the 'text/html' serialization.
A updated version of appendix C, especially aimed at HTML5, has just begun: http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html
Based on gecko 1.8, kompozer only supporte html4.01 and xhtml1 for now.
Support of html5 will come with kompozer 0.9 which will use gecko 1.9.3.
Resolution -> Later