xml - 为什么命名空间参数?

标签 xml svg namespaces xlink

From the "Namespaces Crash Course" by Mozilla : “有时有必要定义参数,以便它们可以在许多不同的元素上重复使用,并且仍然被认为是相同的参数,独立于使用它们的元素。”

给出的例子:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <script xlink:href="cool-script.js" type="text/ecmascript"/>
</svg>

谁能举个例子说明为什么要给参数命名空间?我看到他们正在引用 xlink 命名空间,并且只将 href 参数与 xlink 相关联。但这意味着元素本身是一个独立于参数的命名空间。

此外,显然 SVG 2.0 是 deprecating the use of Xlink in favor of a plain ole href attribute .这意味着您可以从 xlink:href 中删除 xlink:。在 2.0 之前,您是否不能在没有它的情况下链接 SVG 元素?它是否像一个 mixin,您可以在其中将来自其他 xml 工具(“方言”)的新属性添加到元素中,有点像向元素注入(inject)类固醇或益智药以使其变得更好?

最佳答案

当时的想法是,链接是一种通用功能,多个规范会使用它。这从来没有真正流行过,这就是为什么它基本上被放弃以支持将所有内容放在一个 namespace 中。

假设您有一个描述狗和树的 XML 文件,因为狗喜欢从特定的树上取木棍。

所以狗有吠叫属性,树也有。也许这没关系,只是有人在库存中放了一只会发出吠叫声的木头狗。

  1. 您不能拥有多个具有给定名称的属性,否则您的 XML 无效
  2. 如果木狗有吠叫属性是什么意思?

命名空间将允许您拥有噪声命名空间和树命名空间,并具有 tree:bark 或 noise:bark,以便您知道哪个属性是哪个。

关于xml - 为什么命名空间参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61407454/

相关文章:

php - 包含文件中的命名空间声明是否自动包含父文件的命名空间 (PHP)?

Python:删除子类中的类属性

ios - 如何使用 XML 发送请求

css - 带边的可扩展剪辑路径多边形

F# 2.0 命名空间警告

javascript - 检测浏览器对 SVGFragmentIdentifier(s) 的支持

javascript - 如何在 D3 折线图中正确添加填充到绘图区域?

javascript - 为什么换行符 ( ) 通过客户端上的 XSLT 在 Google Chrome 浏览器中正确呈现字符?

xml - 如何访问 upcdatabase.org API?

xml - sqlite、xml 还是组合?