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 文件,因为狗喜欢从特定的树上取木棍。
所以狗有吠叫属性,树也有。也许这没关系,只是有人在库存中放了一只会发出吠叫声的木头狗。
- 您不能拥有多个具有给定名称的属性,否则您的 XML 无效
- 如果木狗有吠叫属性是什么意思?
命名空间将允许您拥有噪声命名空间和树命名空间,并具有 tree:bark 或 noise:bark,以便您知道哪个属性是哪个。
关于xml - 为什么命名空间参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61407454/