写程序,做产品,过日子

成功其实很简单,就是强迫自己坚持下去

BlogJava 首页 新随笔 联系 聚合 管理
  69 Posts :: 1 Stories :: 92 Comments :: 0 Trackbacks

如今的XML,在文档生成方面可谓大红大紫。使用XML + XSLT可以动态生成HTML文档和表单。而XML + XSL + FO更可以动态生成PDF/RTF文档。

所谓动态生成,就是在运行,才将数据放到具有指定DTD/schema的XML文档中,使用预定义的XSL文档生成可供浏览或打印的文档。

一般来说,生成HTML和PDF的XSLT要分别定义。对于HTML和PDF表现差别较大的文档,有必要使用这种方法。

但是,对于一些格式要求较高的表单和报表,在HTML和PDF下的表现是基本一致的。这个时候就有必要用同一个样式表输出HTML和PDF。要知道,手工定义一份XSLT可是很费工夫的。

FO似乎能达到这个目标,它具备足够精细的样式定义,借助FOP等工具,可直接输出PDF等格式。可惜的是,目前的主流浏览器,如IE和firefox,并不能直接显示FO文档。必须将其转换成HTML或XHTML。然后,我没有发现任何的开源工具可以做到这一点。

 

Altove StyleVision,恰到好处的实现上述目标。

顾名思义,StyleVision就是用来设计样式表的,它提供一个非常友好的GUI设计界面。它使用一个私有的XML格式(SPS)来保存样式表,这个样式表可转换成生成HTML的XSLT和生成FO的XSLT。

这样,做为开发方,购买一份Altova StyleVision,用来设计样式表,然后将其生成的XSLT发布给用户,就可以实现同源输出报表了。而最终用户可以不购买Altova StyleVision

附图:两种动态文档生成方案(在图中体现为两条可选的路线):

 

posted on 2006-12-30 12:26 Welkin Hu 阅读(1848) 评论(0)  编辑  收藏 所属分类: MicrosoftJava

只有注册用户登录后才能发表评论。


网站导航: