将版权声明添加到svg文件中的语义正确方法?

时间:2016-08-04 19:27:25

标签: svg metadata copyright-display

我想在我的svg文件中添加版权声明,它应该只是"隐藏"文字,没有水印。 这不是真正的保护,因为如果您使用文本编辑器打开svg文件,则可以编辑所有内容并删除版权。但我认为这将是一个简单而有效的展示方式,如果有一些隐藏的信息,谁制作了文件并有机会找到未经许可的图片,如果你正在寻找它,你可以很容易地找到它。

我的主要问题是:如何将版权文本放入文件?

  • <title>元素用于辅助功能,某些用户代理将title元素显示为工具提示。
  • <desc>元素通常可以改善可访问性,您应该描述用户会看到什么。
  • 丑陋的方式:一个带有内联CSS的文本元素来隐藏它。不要想到这个! :)
  • <!--Copyright info here-->也可以是一个简单的解决方案。
  • <metadata>:这是最好的方式,但我没有找到详细的定义以及哪些子元素可以存在。 https://developer.mozilla.org/en-US/DOM/SVGMetadataElement也给出了404。 在https://www.w3.org/TR/SVG/metadata.html#MetadataElement下(21.3一个示例),我们可以找到更多详细信息。但是RDF真的有必要吗?

我认为<metadata>元素是正确的位置,但是应该使用哪些子元素并且只是RDF的路径?

1 个答案:

答案 0 :(得分:4)

我认为metadata element是正确的选择。它必须包含XML,但 不是RDF序列化(例如,RDF/XML)。

但我认为在这里使用RDF是有道理的,因为这正是RDF的工作(提供有关资源的元数据,如SVG文档),并且可能没有其他基于XML的元数据语言具有更大的覆盖范围/更好的支持。 / p>

一个简单的RDF语句(在RDF / XML中)可能如下所示:

<metadata>
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:schema="http://schema.org/">
    <rdf:Description rdf:about="http://example.com/my-svg-file.svg">
      <schema:license rdf:resource="https://creativecommons.org/licenses/by-sa/4.0/"/>
    </rdf:Description>
  </rdf:RDF>
</metadata>

about属性takes an IRI as value;对于独立的SVG文档,您可以提供一个空值(=文档的基本IRI)。

在此示例中,我使用license property from Schema.org

  

适用于此内容的许可文档,通常由URL表示。

(几个大型搜索引擎支持词汇表Schema.org。)