我正在玩 SVG 和 HTML5。目前我正在检查客户端 SVG 生成的可能性。这个想法是 HTML5 提供了<embed>
一个元素,该元素包含一个描述基于十六进制的游戏地图的 XML 文档(以我自己的“格式”)。该文档附加了指向 XSL 文件(在服务器上)的 XSLT 转换,该文件从文档中生成 SVG。我想在单独的 SVG 文件(存储在服务器上)中制作地图的不同十六进制,并且生成的 SVG 地图只会引用它们。
这让你“在上下文中”。然而真正的问题从 HTML5 开始,所以我们开始吧。
如何从 SVG 文档中引用其他 SVG 文档(或其片段),以便包含的内容可用于样式和脚本?似乎这些元素在添加不属于文档的“克隆片段”<use>
方面<image>
非常有限(即使对于脚本......)。我不确定<animation>
SVG 1.2 的情况如何,但我想它是一样的。
我显然缺乏原始的 C++ 预处理器之类的#inlcude
.
该标准鼓励使用<defs>
和<symbol>
增加意义和可访问性。然而,似乎一旦你这样做了(因此必须用 引用符号<use>
),你的造型就不走运了。我看不到如何使用更改样式的相同符号。
所有这些都使得重用和表示/内容分离变得更加困难。
有什么方法可以避免这些问题吗?