如何在 SVG 中存储额外的数据?
How to store additional data in SVG?
我有一个小型编辑器,可以创建带有图表的 .svg 文件(使用 svg.js)。
编辑器以其自己的简单文本格式存储有关文件创建方式的数据,这与 this one.
没有什么不同
我想将源文本直接嵌入到 SVG 文件中,这样我就可以在不丢失用户指定的任何元信息(如评论和格式)的情况下加载它。
正确的做法是什么?我上面链接的编辑器将其数据存储在 <svg>
正下方的 <source>
标签中。这是一种符合标准的好方法吗?
<svg
xmlns="http://www.w3.org/2000/svg"
width="445" height="319"
xmlns:xlink="http://www.w3.org/1999/xlink"
>
<source><![CDATA[Andrew->China: Says Hello
Note right of China: China thinks\nabout it
China-->Andrew: How are you?
Andrew->>China: I am good thanks!]]></source>
<!-- SVG content here -->
</svg>
创建 a custom namespace 并在该自定义命名空间的元素下存储您想要的任何内容。如果需要,您可以调用自定义命名空间元素源。
将您的自定义内容包装在 <metadata>
标签中是 recommended in the SVG specification。感谢 Alexander Gladysh 提醒我这一点。
我有一个小型编辑器,可以创建带有图表的 .svg 文件(使用 svg.js)。
编辑器以其自己的简单文本格式存储有关文件创建方式的数据,这与 this one.
没有什么不同我想将源文本直接嵌入到 SVG 文件中,这样我就可以在不丢失用户指定的任何元信息(如评论和格式)的情况下加载它。
正确的做法是什么?我上面链接的编辑器将其数据存储在 <svg>
正下方的 <source>
标签中。这是一种符合标准的好方法吗?
<svg
xmlns="http://www.w3.org/2000/svg"
width="445" height="319"
xmlns:xlink="http://www.w3.org/1999/xlink"
>
<source><![CDATA[Andrew->China: Says Hello
Note right of China: China thinks\nabout it
China-->Andrew: How are you?
Andrew->>China: I am good thanks!]]></source>
<!-- SVG content here -->
</svg>
创建 a custom namespace 并在该自定义命名空间的元素下存储您想要的任何内容。如果需要,您可以调用自定义命名空间元素源。
将您的自定义内容包装在 <metadata>
标签中是 recommended in the SVG specification。感谢 Alexander Gladysh 提醒我这一点。