programing

'xmlns' 및 'version'과 같은 SVG 매개 변수가 필요합니까?

telecom 2023. 9. 17. 12:08
반응형

'xmlns' 및 'version'과 같은 SVG 매개 변수가 필요합니까?

인터넷에서 보는 svg 예제의 절반 정도에서 코드는 단순하게 포장되어 있습니다.<svg></svg>꼬리표를 붙이기

나머지 절반은 svg 태그가 다음과 같은 복잡한 속성을 가지고 있습니다.

<svg 
  xmlns="http://www.w3.org/2000/svg" 
  version="1.1" 
  xmlns:xlink="http://www.w3.org/1999/xlink"> 

제 질문은 간단한 svg 태그를 사용해도 괜찮으냐는 것입니다.저는 복잡한 것들을 가지고 놀려고 노력해보았고, 그것들을 포함하지 않으면 모든 것이 제 끝에서 잘 작동합니다.

xmlns="http://www.w3.org/2000/svg"속성은 다음과 같습니다.

  • image/svg+xml 파일필요합니다.
  • 인라인용 옵션 <svg>. 2

xmlns:xlink="http://www.w3.org/1999/xlink"속성은 다음과 같습니다.

  • xlink: 특성이 있는 image/svg+xml 파일필요합니다.
  • 인라인용 옵션 <svg>xlink: 특성을 사용합니다.

version="1.1"속성은 다음과 같습니다.

  • image/svg+xml 파일 표준을 준수하는 것이 좋습니다.
  • 모든 사용자 에이전트가 무시한 으로 보입니다.
  • SVG 2에서 제거됨.

1된 자원 (RFC3987) (RFC3987)
2HTML5 HTML5 이후로
3 언어0 (XML) 1.0
4 아마 주요 버전이 더 나올 때까지.
5 2, 후보 .08.. SVG 2, W3C , 2018.08.08.07.

모든 사용자 에이전트(브라우저)는 버전 속성을 무시하므로 항상 해당 속성을 삭제할 수 있습니다.

만약 당신이 당신의 SVG를 HTML 페이지에 인라인으로 내장하고 그 페이지를 다음과 같이 제공한다면,text/htmlxmlns 특성은 필요하지 않습니다.HTML 문서에 SVG를 인라인으로 내장하는 것은 HTML5의 일부로 등장한 상당히 최근의 혁신입니다.

페이지를 image/svg+xml 또는 application/xhtml+xml 또는 사용자 에이전트가 XML 파서를 사용하게 하는 다른 MIME 유형으로 제공하는 경우 xmlns 특성필요합니다.이것이 최근까지 유일한 방법이었기 때문에 이렇게 제공되는 콘텐츠가 많습니다.

두 답변 모두 추가하고 싶은데, 포인트가 없어서 새로운 답변을 추가합니다.Chrome(Version 63.0.3239.132(Official Build)(64비트 Windows)에 대한 최근 테스트에서 다음과 같은 결과를 얻었습니다.

  1. HTML 파일에 직접 입력되는 inline SVG의 경우 text editor 또는 javascript와 elm.inner를 통해 입력됩니다.HTML, xmlns 속성은 다른 두 답변에서 언급된 것처럼 필요하지 않습니다.
  2. 그러나 자바스크립트와 AJAX를 통해 로드되는 인라인 SVG의 경우 두 가지 옵션이 있습니다.
    • 사용하다xhr.responseText그리고.elm.innerHTML. 이것은 xmlns를 필요로 하지 않아도 됩니다.
    • 사용하다xhr.responseXML.documentElement그리고.elm.appendChild()아니면elm.insertBefore()하는 이 은 에 나와 네임스페이스가 상태에서 합니다. . . SVG 하는 은 처럼 가 SVG 되지 합니다 를 에서 를 합니다 를 에서 가 되지 xmlns="http://www.w3.org/2000/svg". <svg>는 HTML로 로드되지만 문서 수준의 기능은 다음과 같습니다.getElementById()<jpg> 요소에서 인식되지 않습니다.HTML 외부의 XML HttpRequest XML 파서를 사용하기 때문이라고 생각합니다.

SVG 버전 속성에 대해 MDN WebDoc은 말합니다.

SVG 2 이후 사용하지 않음
이 기능은 더 이상 권장되지 않습니다.일부 브라우저에서는 여전히 이 기능을 지원할 수 있지만 관련 웹 표준에서 이미 제거되었거나 삭제 중이거나 호환성을 위해 보관된 것일 수 있습니다.사용을 피하고 가능한 경우 기존 코드를 업데이트합니다. 이 페이지 하단의 호환성 표를 참조하여 결정을 안내합니다.이 기능은 언제든지 작동하지 않을 수 있습니다.

버전 속성은 SVG 문서가 준수하는 규격을 표시하는 데 사용됩니다.루트 요소에서만 허용됩니다.이것은 순수하게 조언적인 것이며 렌더링이나 처리에 영향을 주지 않습니다.

추신: SVG 2는 아직 표준이 되기에는 거리가 멀었습니다.

언급URL : https://stackoverflow.com/questions/18467982/are-svg-parameters-such-as-xmlns-and-version-needed

반응형