🤔

SVG の http://www.w3.org/2000/svg ってなに?

に公開

http://www.w3.org/2000/svg とは「SVG(Scalable Vector Graphics)」用のXML名前空間(namespace)です。

詳しく解説

名前空間(namespace)とは?

XMLやSVGでは、要素や属性の「意味」を区別するために名前空間を使います。
同じ名前の要素でも、どの技術で定義されたものかを区別できるようにする仕組みです。

http://www.w3.org/2000/svg について

  • これは「SVG仕様」で定義された要素や属性を識別するためのURLです。
  • SVGファイルやHTML内のSVG記述で、SVG要素であることを示すために使われます。

SVGタグの中でよく見かけます:

<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
  <circle cx="50" cy="50" r="40" fill="skyblue" />
</svg>

このxmlns属性が「このSVG要素とその中身はSVG名前空間ですよ」と宣言しています。

まとめ

  • http://www.w3.org/2000/svg はSVG専用の名前空間を表すURL
  • SVG要素や属性を他のXML要素と区別するために使われる
  • SVG仕様で定義されている標準のもの

SVGを正しく使うために必須のものなので、SVGを書くときは必ずこの名前空間を指定しましょう。

別の単語でもいいの?

SVGの名前空間(xmlns="http://www.w3.org/2000/svg")は、SVG要素が「SVG仕様に従うものである」とブラウザなどに伝えるためのものです。
この部分は**「SVGの標準を示すための決められた文字列」**なので、別の単語やURLに変更することはできません

  • 名前空間はただの文字列ですが、SVGの場合は「 http://www.w3.org/2000/svg 」と定められています。
  • これを変えてしまうと、ブラウザはその要素をSVGとして認識できなくなります。
  • 名前空間はXMLやSVG仕様で厳格に決まっているため、必ずこのURIを使う必要があります

「名前空間名はただの文字列であることに注意してください。つまり SVG 名前空間名も URI のように見えますが重要ではありません。URI は一意ですが、一般的に使用されて、どこかに『リンク』する意志はありません。」

まとめ
SVGの名前空間は他の単語やURLに変えることはできません。必ず「 http://www.w3.org/2000/svg 」を指定してください。

Discussion