Does anyone know how the HTML5 data attributes (
data-*) can be implemented in XHTML without rendering the markup as invalid?
Is there a custom namespacing hack that would allow this on existing HTML elements?
You could use XHTML5. Then your mark-up would be XML, and valid XHTML5.
I think you could also use XML namespacing to use them on XHTML1 — I’m not very familiar with XML, so I’m not sure.
I think that both of these methods technically require you to serve your pages as XML (instead of
text/html), which Internet Explorer doesn’t support. But I suspect they’d work just fine in browsers even if you didn’t.
I don’t know if this is a general solution, but it worked for me:
Ie. just append
="" to make it a valid XML attribute.