SVG xmlns属性有什么作用?

sar*_*den 5 xml html5 svg

我见过嵌入式SVG的源代码,如下所示:

<svg>...</svg>
Run Code Online (Sandbox Code Playgroud)

和其他看起来像:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">...</svg>
Run Code Online (Sandbox Code Playgroud)

具体指定xmlns/xmlns:xlink属性是做什么的?

Rob*_*son 11

在XML文档中,属性和元素属于命名空间.这是为了防止来自不同技术的元素发生冲突,例如SVG <a>元素和HTML <a>元素可以区分,如果一个被称为svg:a和另一个html:a

xmlns:xlink表示前缀为xlink的元素应该由理解该规范的UA使用xlink规范来解释.

xmlns定义了默认命名空间,因此不需要前缀,你可以只写<a> 而不是命名空间:a和UA知道它是一个SVG <a>元素而不是HTML <a>元素或<a>你自己为应用程序编写的某个元素.