HTML5では、要素の名前がdata-
などの<p data-myid="123456">
で始まるXML属性に格納された任意のメタデータを持つことができます。これもSVG仕様の一部ですか?
実際には、この手法は多くの場所のSVGドキュメントでうまく機能します。しかし、公式のSVG仕様の一部であるかどうかを知りたいと思います。なぜなら、このフォーマットはまだ若く、ブラウザー間、特にモバイルではまだ多くの非互換性があるからです。したがって、コードをコミットする前に、将来のブラウザがこれをサポートすることに収束することを期待できるかどうかを知りたいと思います。
私は、ワーキンググループのメーリングリストから このメッセージ が「彼らがサポートすることを期待している」と言っています。これは公式になりましたか?
他の回答は技術的には正しいものの、SVGがdata-*
。 SVG 属性とタグを許可 は、既存のものと競合しない限り含まれます(言い換えると、名前空間を使用する必要があります)。
この(同等の)メカニズムを使用するには:
mydata:id
の代わりに data-myid
、 このような: <p mydata:id="123456">
<svg xmlns:mydata="http://www.myexample.com/whatever">
EDIT:SVG2 、現在のW3C候補勧告(2018年10月4日)、 support data-
直接 (名前空間なし、HTMLと同じ)。ただし、サポートが普及するまでには時間がかかります。 これを指摘している に@cvrebertに感謝します。
data-*
属性 はHTML5の一部です。一般的なXML属性ではありません。
現在のSVG W3C勧告は、 SVG 1.1 (2011-08以降)です。 属性リスト で確認できるため、この属性は許可されません。
same は、 SVG 2 Working Draft (2012-08以降)の場合です。 更新(2015): が意図しているようです (data-*
属性を SVG 2 (現在も作業中ドラフト)。
SVG要素のdata-*
属性は、SVG2の現在のドラフトで公式にサポートされています。見る:
より一般的なメカニズムがあります。
svgは、他の名前空間からの任意のxmlを含む可能性のあるdesc
要素をサポートします。依存IDまたはrefid属性によって、この要素のインスタンスまたは独自の名前空間の子ノードをリンクします。
これは仕様の関連部分(5.4) です。