Package: emacs24-common
Version: 24.1+1-4
The XHTML RELAX NG schema currently packaged with Emacs 24.1 in
Debian doesn't support XHTML5. For instance, nXML doesn't seem
to recognize ‘aside’ as a valid element in the example XHTML5
document MIME'd.
I was able to find the schema with XHTML5 support at [1, 2],
and, in order to force nXML use it instead of the one shipped,
created a schemas.xml file (in the directory that holds the
example document) based on the contents of Emacs' own
etc/schema/schemas.xml, with only the following edit:
<typeId id="XSLT" uri="xslt.rnc"/>
<typeId id="RELAX NG" uri="relaxng.rnc"/>
- <typeId id="XHTML" uri="xhtml.rnc"/>
+ <!-- formely: xhtml.rnc -->
+ <typeId id="XHTML" uri="validator-syntax-ed90a83ab0fd/relaxng/xhtml5.rnc"/>
<typeId id="DocBook" uri="docbook.rnc"/>
<typeId id="RDF" uri="rdfxml.rnc"/>
(I've unpacked the schema snapshot [2] into the same directory
as well.)
Unfortunately, this schema uses the following datatype library
declaration [3], which Emacs doesn't seem to support:
datatypes w = "http://whattf.org/datatype-draft"
Thus, I've also had to provide the following “stub” code:
(defun rng-html5-compile (name params)
"A stub for the http://whattf.org/datatype-draft datatype library."
'(t identity))
(put (intern "http://whattf.org/datatype-draft")
'rng-dt-compile
'rng-html5-compile)
Finally, it made Emacs recognize the ‘aside’ element introduced
in XHTML5.
Hopefully, someone could implement proper support for [3].
Either way, my suggestion would be to switch to the RELAX NG
XHTML schema that supports XHTML5 [1].
TIA.
[1] http://syntax.whattf.org/
[2] http://bitbucket.org/validator/syntax/get/ed90a83ab0fd.tar.bz2
[3] http://hsivonen.iki.fi/html5-datatypes/
--
FSF associate member #7257 http://sf-day.org/
binxOSVk7kToJ.bin
Description: application/xhtml

