Поддерживают ли SVG docs пользовательские атрибуты данных?
в HTML5 элементы могут иметь произвольные метаданные, хранящиеся в атрибутах XML, имена которых начинаются с data- например <p data-myid="123456">. Это тоже часть спецификации SVG?
на практике этот метод отлично работает для SVG docs во многих местах. Но я хотел бы знать, является ли это частью официальной спецификации SVG или нет, потому что формат достаточно молод, что все еще существует много несовместимости между браузерами, особенно в мобильных устройствах. Поэтому, прежде чем совершать код, я хотел бы знать, могу ли я ожидайте, что будущие браузеры сойдутся на поддержке этого.
4 ответов:
в то время как другие ответы технически правильны, они опускают тот факт, что SVG предоставляет альтернативный механизм для
data-*. SVG позволяет любой атрибут и тег для включения, если он не конфликтует с существующими (другими словами: вы должны использовать пространства имен).чтобы использовать этот (эквивалентный) механизм:
- использовать
mydata:idвместоdata-myid, например:<p mydata:id="123456">- убедитесь, что вы определяете пространство имен в открытии SVG тег, вот так:
<svg xmlns:mydata="http://www.myexample.com/whatever">
The
data-*атрибут является частью HTML5. Это не общий атрибут XML.Текущая рекомендация SVG W3C SVG 1.1 (от 2011-08). Это не позволяет этот атрибут, как вы можете проверить в список атрибутов.
The то же самое на SVG 2 Рабочий проект (от 2012-08). обновление (2015): похоже, что предназначен для поддержки
data-*атрибуты SVG 2 (в настоящее время еще рабочий проект).
data-*атрибуты элементов SVG официально поддерживаются в текущем проекте SVG2. Смотрите:
w3c/svgwgcommit1cb4ee9: добавилSVGElement.datasetи разрешеноdata-*атрибуты для всех элементов SVG.- действие-3694: добавить" данные -* " атрибуты примечания к спецификации. (создано: 15 января 2015 года)
- разрешение: мы зарезервируем атрибуты "data -*" для использования в содержании SVG. API для их обработки включен Элемент. (от SVG WG Telecon 15-Jan-2015)
- https://lists.w3.org/Archives/Public/www-svg/2014Dec/0022.html
есть более общий механизм.
svg поддерживает
descэлементы, которые могут содержать произвольный XML из других пространств имен. свяжите экземпляры этих элементов или дочерние узлы из собственного пространства имен с помощью зависимых идентификаторов или атрибутов refid.
Comments