【问题标题】:Metadata in SVGSVG 中的元数据
【发布时间】:2010-12-11 19:00:09
【问题描述】:

有没有办法将元数据直接附加到 svg 文件中的分组元素 ()?我在规范或网络上的其他地方找不到任何关于此的内容,所以我认为这是不可能的。也许还有其他方法可以在 svg 文件中附加元素特定的元数据...

我尝试做的是创建地图并附上有关相邻国家的信息。

干杯。

【问题讨论】:

    标签: svg metadata grouping


    【解决方案1】:

    由于 XML 是可扩展的,您可以根据需要添加属性和子元素。这是一个可能的例子:

    <svg xmlns="http://www.w3.org/2000/svg" xmlns:sol="http://www.sol.org">
      <circle cx="10" cy="20" sol:country="ruritania" r="5"/>
    </svg>
    

    这里 svg 和 circle 元素位于 SVG 命名空间中,sol:country 位于 your 命名空间中。我相信 SVG 用户代理会忽略外部命名空间。您还可以使用元数据方案,例如 Dublin Core。

    或者,您可以使用 desc 元素 (http://www.w3.org/TR/SVG/struct.html#DescElement)


    5.4 'desc' 和 'title' 元素

    SVG 绘图中的每个容器元素或图形元素都可以提供“desc”和/或“title”描述字符串,其中描述为纯文本。当当前 SVG 文档片段在可视媒体上呈现为 SVG 时,“desc”和“title”元素不会呈现为图形的一部分。然而,例如,当定点设备在特定元素上移动时,用户代理可以将“标题”元素显示为工具提示。视觉和听觉的替代演示是可能的,它们显示“desc”和“title”元素但不显示“path”元素或其他图形元素。这很容易通过使用不同的(可能是用户的)样式表来实现。对于深层层次结构和遵循“使用”元素引用,有时需要允许用户控制他们深入到描述性文本的深度。

    【讨论】:

    • 很好的解决方案。我可能会选择第二个。我什至没有看 desc 元素,因为我认为它仅适用于元数据元素作为整个文件的描述。谢谢。
    • @peter:在您的回答中,“sol:country”被添加为属性。是否可以添加不是属性而是元素作为 '' ?
    • 应该可以。试试吧!据我所知,SVG 用户代理会忽略外部命名空间。查看规范中的内容模型。除非它是 EMPTY,否则应该没问题
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多