Как я могу использовать атрибуты данных HTML5 в XHTML?

Кто-нибудь знает, как атрибуты данных HTML5 (data-*) могут быть реализованы в XHTML, не делая разметку недействительной?

Есть ли хакерский хакерский хакер, который позволил бы это сделать в существующих HTML-элементах?


person matsko    schedule 19.07.2010    source источник


Ответы (2)


Вы можете использовать XHTML5. Тогда ваша разметка будет XML и действительным XHTML5.

Я думаю, что вы также можете использовать пространства имен XML, чтобы использовать их в XHTML1 - я не очень знаком с XML, поэтому не уверен.

Я думаю, что оба этих метода технически требуют, чтобы ваши страницы обслуживались в формате XML (вместо text/html), который Internet Explorer не поддерживает. Но я подозреваю, что они отлично работали бы в браузерах, даже если бы вы этого не сделали.

person Paul D. Waite    schedule 20.07.2010
comment
Я видел предложение по этому поводу, что для XHTML 1.0 / 1.1 вы могли бы расширить DTD с помощью настраиваемого пространства имен (например, mycorp: data-foo = bar), и это будет проверять, если вы ссылаетесь на это DTD в элементе! DOCTYPE .. ... но перемещение XHTML5, вероятно, лучше :-). - person Iain Collins; 29.02.2012
comment
@IainCollins: да, я не очень разбираюсь в пользовательских DTD, но я думаю, что в открытой сети это вообще плохая идея - например, они поместили IE 6 в Quirks Mode. - person Paul D. Waite; 29.02.2012

Я не знаю, является ли это общим решением, но у меня оно сработало:

<ul data-clearing="">

Т.е. просто добавьте ="", чтобы сделать его допустимым атрибутом XML.

person Jonas Ørting    schedule 04.06.2013