istar 图 的web 显示 ——从xml 经xsl 到svg

Posted on 2007-09-01 19:40  三体星  阅读(490)  评论(0编辑  收藏  举报

        这回小学期,我们的任务是做一个需求获取和自动分析的web工具。

        从通过问题获得用户的需求(大量文本) 到通过“着色法”获取关键信息(主要包括element和link),接着生成xml文件作为中间的信息存储,通过相应的xslt转换最后显示某种特定的图表,用svg文件表示。
        在下的任务就是从xml 经xsl 到svg。     

        主要的步骤是这样滴:

                 1)开发XML schema;

                2)开发XML数据文件;

                3)根据schema文件验证XML数据文件的有效性;

                4)开发XSLT变换程序,通过XSLT程序变换XML数据文件;

                5)通过SVG浏览器显示对应图表。

         实际中,是先做2), 然后通过visual studio或者Altova XMLSpy等转换出Schema文件框架,修改后就完成了。
         
         在XLST转换中,需要为svg元素们分配位置,我感觉XSLT这样一种在变量的编译和处理上比较不直观的语言来说,是不太合适的,它可以很好的处理局部,因为xPointer的关系,它就像一个很好的正则表达式机器,可以管好局部,对整体缺稍显乏力。(其实是比较难学,XSLT2.0的高级功能都没看过呢~ ~)

          于是,在挣扎了一番,将element的位置用xslt诡异的递归计算出来后,决定将link的位置计算交给javascript了。

          javascript是挺好用的,语法上较为规范,与C、java等较一致,DOM的处理结构性很强,加上SVG本身的一些图像转换函数,使用起来果然功能强大。

          学了这么多东西,感觉web技术上手还是较快的,但是一些服务器端 客户端 处理函数 的具体执行过程—postback的问题,xml中的一些编码和节点类型的问题(DOM处理的时候,空白文本被算成了文本节点,这个让我郁闷了一下,对DOM的功能产生了暂时的怀疑),还有svg中的转换矩阵还是有点晕。

          其实这回主要是在学习新技术,对于设计、算法和知识工程本身都了解甚少,技术和科学,技术容易上手却很容易变,像在海里游泳,看得越来越广,也许最终陷入迷茫;科学却总掩着一层薄雾,像在山间行走,看得越来越深,也许最终不可自拔。

  
来日有机会 贴上 代码。小分析一下。

Copyright © 2024 三体星
Powered by .NET 9.0 on Kubernetes