平面文档索引解决方案(基于XML与XSLT)
在企业信息系统日常使用过程中经常需要处理一些平面文件,有些可能是通过网站平台传到统一的文档服务器进行管理,有些可能会有专门的文档管理应用系统。在这些系统的使用过程中经常需要添加一些文档的附属信息,比如上传上员,上传时间,文件的用途等。
虽然专业的文档系统可以使文档的管理变得非常简单高效,但是还是有一部分人需要将平时使用的平面文档导出到本地文件夹进行查看和管理。但是如果单单只将这些文件导出的话会丢失一文件的附属信息给查阅带来麻烦。如果专门开发应用程序去文档系统读取相关信息的话又过于麻烦,而且对于使用的环境要求也比较高,不能进行脱机浏览和查阅。
基于以上的这些问题,从需求角度分析,客户是希望能够通过有一个良好使用界面查阅到文档的相关信息。但最好不需要安装任何软件或者对运行环境有什么特别的要求,同时需要能够对内容进行搜索和定位到具体的文件。
接下来我们来讲讲解决方案。大家都知道XML是专门用于描述格式化数据的语言,我们可以使用将文档的附属信息通过定义好的格式进行存储。文档系统在导出的时候只需要按照定义好的XML格式进行导出就可以了。(不同的系统可能需要做开发)。以下是示例的XML.
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
XML有了之后就是显示的问题了,当然你可以自己开发WinForm之类的程序来进行展现。但是还有更简单(可能对于有些人可能会觉得更复杂)的方法就是直接在浏览器上进行显示。基于Javascript对XML操作的支持可以提供良好的使用体验。如果数据文件只有一个的话可以使用HTML内嵌Javascript的方式去访问XML.当然有时可能会有多个数据XML文件,这样的话就可以使用XSLT(XML转换语言)了。只要在XML文档只引用该类型的文件就可以在显示时将XML转换为HTML再显示。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
以下的演示截图参考MSNShell对于聊天记录的管理与展现,将文档相关数据以XML格式进行存储,采用XSLT将XML转换为HTML进行显示,并且应用了XML模糊查询和分页技术,增加用户的体验效果。
综上所述本解决方案可以满足用户对于文档查询的需求,另外本解决方案还有以下优点:
- 基于XML格式的数据存储提供了优秀的扩展性。
- 数据存储与展现分离降低了开发复杂度。
- 使用基于javascript和标准的XML,XSLT技术降低了后期维护成本。
- 跨平台的解决方案,只要有浏览器即可运行。
- 良好的用户体验效果。
OK, 本解决方案已经讲完了。应该还不错吧,由于该演示源码不方便提供,在XSLT开发请参考MSNShell的消息转换代码,对于XML的模糊查询可参考:《使用Xpath对XML进行模糊查询》。另外如果有更好的解决方案或开发过程中遇到问题的话,欢迎一起探讨。
posted on 2009-03-19 14:25 Gary Zhang 阅读(1997) 评论(5) 编辑 收藏 举报