【问题标题】:Why namespaced parameters?为什么要命名空间参数?
【发布时间】:2020-08-07 23:20:23
【问题描述】:

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 工具(“方言”)的新属性添加到元素中,有点像用类固醇或益智药注入元素以使其更好?

【问题讨论】:

    标签: xml svg namespaces xlink


    【解决方案1】:

    这个想法是链接是一种常见的功能,多个规范都会使用它。这从未真正起飞,这就是为什么它基本上被放弃了,转而将所有东西都放在一个命名空间中。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 2016-12-10
      • 2011-02-21
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      相关资源
      最近更新 更多