使用SVG和XSL创建动态图像

ZDNet软件频道 时间:2002-12-26 作者:BUILDER.COM |  我要评论(9)
本文关键词:svg
使用XML发布图像可能会是很麻烦的,如果你正在使用老的图像格式的话,例如GIF和JPEG。但是有了可伸缩矢量图(SVG),这就是轻而易举的事了。

使用XML发布图像可能会是很麻烦的,如果你正在使用老的图像格式的话,例如GIF和JPEG。但是有了可伸缩矢量图(svg),这就是轻而易举的事了。由于svg是符合XML语法规格的,所以你可以只使用一点点XSL就创建好自定义的动态svg图像。

svg模板

这项技术是基于创建一个svg模板,并修改其内容,让其产生新svg图像的。要开始这个过程,就需要使用一个背景图像。你可以使用多种工具,例如JASC的WebDraw,来创建启动图像。实际上,你也可以使用任何文本编辑器,因为所有的svg图像都只不过是XML。

Listing A是一个简单的svg按纽,你会用它作为这个过程的基础模板。如果把这个文档载入到svg浏览器,你会看到一个显示着“按纽”字样的简单蓝色按钮。如果点击这个按钮,它会把你带到Builder.com的主页。

把XML作为源数据

把这个svg文档转换成为XSL模板,你就可以开始了。这个模板基本上把这个文档分割成两部分:静态部分是XSL模板,动态部分是一个XML文档,你会用这个文档来完成转换。这个你要动态处理的图像有两个组件——URL和按纽的文本。一个新的XML文档,如Listing B所示,包含有动态源数据。

正如你能够看到的那样,这个新的按钮会显示Google的字样,并会链接到这个常用的搜索引擎。下一步是把svg图像转换成XSL模板。从本质上说,通过把数据从XML文档里抽出来,你就能把链接和按钮文字做成动态的。Listing C显示的是XSL模板。

这个XSL模板已经翻新了原来的svg文档,让它的动态更强。这是个只使用了单元素模板的简单转换。在被处理的时候,这个链点会用源文档的/button/url元素填充,而且按纽文本的内容是/button/text元素的值。

把XML转换成svg

实际处理源XML和XSL模板的方法有很多种。在实际操作过程中,你最有可能使用Xalan API来用程序把XSL和XML转换成svg文档。为了更好的说明问题,就是要使用Xalan命令行。要运行这一过程,在命令提示符下输入以下的内容:

    java org.apache.xalan.xslt.Process -IN custombutton.xml -XSL button.xsl -OUT 
    custombutton.svg

这一步的结果看起来会和Listing D里的svg文档类似。


深入svg
  • 《使用svg在浏览器里绘画和注释》
    svg是一种描述XML 2-D图形的语言,它可以让你把浏览器作为绘画的工具。尽管没有获得当前浏览器的支持,svg的功能还是可以通过免费的插件来实现。这个教程就能告诉你怎么使用svg的功能。
  • 《浏览器里轻松创建表格和图表》
    svg让在浏览器里表示图形的过程变得很容易。在这篇文章里你就能看到如何在基于浏览器的客户端创建表格和图表。


在Web上显示svg

和通常的观念不一样,你可以在Web页面上使用svg图形。它们没有被作为<img>标签的源文件来实现,而是作为嵌入对象被实现的。Listing E是一个显示新svg图像的简单Web页面。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134