html 中命名空间声明的有效位置

Valid locations for namespace declarations in html

我想将 xmlns:xlink 声明集中在我的 html 文档中,以避免在使用具有 xref 属性的 svg <use> 标签时重复它们。

而不是

<svg xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 125">
  <use class="ic-3" xlink:href="#ic" x="0" y="0" />
</svg>

我只需要写

<svg viewBox="0 0 100 125">
  <use class="ic-3" xlink:href="#ic" x="0" y="0" />
</svg>

问题是我未能找到 html 树中的 locations/nodes 可以有效放置这些命名空间声明的良好来源。我知道 svg 节点是合适的,并且此 W3 Fools article 还提到文档根目录对 XML 文档有效,这是我假设的。但是任何父节点都是命名空间声明的有效位置吗?比如说,我可以把它放在父 divbody 标签中吗?不要求最佳实践,只要求符合 xml.

的合法性

html 不支持标记中的命名空间声明,因此您可以将它们全部删除。