[svg] SVG 문서는 사용자 정의 데이터 속성을 지원합니까?

HTML5에서 요소 이름이 시작 XML 속성에 저장된 임의의 메타 데이터를 가질 수 data-등을 <p data-myid="123456">. 이 부분도 SVG 사양의 일부입니까?

실제로이 기술은 여러 곳에서 SVG 문서에 대해 잘 작동합니다. 그러나 공식 SVG 사양의 일부인지 여부를 알고 싶습니다. 형식이 충분히 어려서 특히 모바일에서 브라우저간에 여전히 많은 비 호환성이 있기 때문입니다. 따라서 코드를 작성하기 전에 미래의 브라우저가이를 지원하기 위해 수렴 할 것으로 예상 할 수 있는지 알고 싶습니다.

나는 워킹 그룹 메일 링리스트에서 “[그들이] 지원할 것으로 예상한다”는 메시지 를 발견 했습니다. 이것이 공식화 되었습니까?



답변

다른 답변은 기술적으로 정확하지만 SVG가 .NET Framework에 대한 대체 메커니즘을 제공한다는 사실을 생략합니다 data-*. SVG 는 기존 속성과 충돌하지 않는 한 모든 속성 및 태그 를 포함 할 수 있습니다 (즉, 네임 스페이스를 사용해야 함).

이 (동등한) 메커니즘을 사용하려면 :

  • 사용하는 mydata:id대신 data-myid이 같은 :<p mydata:id="123456">
  • 다음과 같이 SVG 여는 태그에 네임 스페이스를 정의해야합니다. <svg xmlns:mydata="http://www.myexample.com/whatever">

편집 : SVG2 , 현재 W3C 후보 권장 사항 (2018 년 10 월 4 일)은 직접 지원 data-합니다 (네임 스페이스없이 HTML과 동일). 하지만 지원이 널리 퍼지기까지는 시간이 좀 걸릴 것입니다. 이것을 지적 해 주신 @cvrebert에게 감사드립니다 .


답변

data-*속성은 HTML5의 일부입니다. 일반적인 XML 속성이 아닙니다.

현재 SVG W3C 권장 사항은 SVG 1.1 (2011-08)입니다. 속성 목록 에서 확인할 수 있으므로이 속성은 허용되지 않습니다 .

동일 대한 경우 SVG 2 작업 초안 (2012-08)에서. 업데이트 (2015) : SVG 2 (현재는 여전히 Working Draft)의 속성 을 지원 하기위한 것 같습니다 .data-*


답변

data-*SVG 요소의 속성은 현재 SVG2 초안에서 공식적으로 지원됩니다. 보다:


답변

더 일반적인 메커니즘이 있습니다.

svg는 desc다른 네임 스페이스의 임의 xml을 포함 할 수있는 요소를 지원 합니다. 이 요소 또는 하위 노드의 인스턴스를 종속 ID 또는 참조 속성으로 소유 한 네임 스페이스에서 연결합니다.

이것은 스펙 (5.4)의 관련 부분입니다 .


답변