基于XML的动态表单设计
xmlDom.10adX地(strXML) if(!xmlDom.parseError.errorCode) {
var xmlHttp=new ActiveXObject(”MSXML2. XMLHTTP.4.0”)//建立XML HTTP物件
xmlHttp.open(”POST”,”data.asp”,false) xmlHttp.send(xmlDom) )
在c/s模式下,在服务器端完成对控件的拖动和样式编 排处理,不仅交互速度慢,而且拖放功能也难以实现。通 常,考虑到将这些功能放在客户端完成,然后将定义好的坐 标数据传递给服务器端,由于涉及的是批量数据,采用常用 的form和urls传递方式不可取,因此必须通过一种中间机 制来实现这种批量信息传送的功能,通常考虑用ActiveX控 件的方式来完成,即设计一个Activex表单控件,该ActiveX 表单控件上可以实现文本区和按钮等表单元素的拖动,如 用Delphi、VC、VB等都可以实现,每个表单元素与数据库关 联,将该控件发布到客户端,能实现个性化表单信息呈现。 但这种方式所实现的表单页面配色效果难以达到用户的需
sqlstr=”insert into mdcontent(m_id,c—id,…) values(一+moid,’,~+eid+”,…)”
Set Rs=OBJConn.Execute(sqlstr)’将表单控件 样式等信息写入数据表中
Set Rs=Nothing
strXML=strXML+”<Ⅲ_id>”+data[i][0]+”</m_id>”
4.Chul-Ki Nam;Gil-Sang Jang;Jae-HakJ Bae An XML-based active document for intelligent web applications[外文期刊] 2003(25) 5.陈会安 XML网页制作彻底研究 2003 6.Danny Goodman JavaScript宝典 2002
ment.chi ldNodes For Each objNode in objNodeList.chi ldNodes If objNode.nodeName=”m id”Then moid=objNode.text EndIf
当用户定义好了表单模板后,用XML文档装载表单上所 有控件的样式数据,并将它们发送到服务器端。其编制成 XML文档的过程和解析语句如下:
本文读者也读过(10条) 1. 向宏.马智骢.胡海波.XIANG Hong.MA Zhi-cong.HU Hai-bo 基于虚拟表的动态表单设计与实现[期刊论文]-重庆 工学院学报(自然科学版)2009,23(2) 2. 欧阳星明.官峰.刘昕 基于XML动态Web发布技术的实现[期刊论文]-计算机应用研究2003,20(8) 3. 宋少忠.欧阳涛.赵浩宇.SONG Shao-zhong.OUYANG Tao.ZHAO Hao-yu 动态数据库功能在B/S结构程序设计中的实 现[期刊论文]-吉林大学学报(理学版)2011,49(1) 4. 苟园捷.莫蓉.常智勇.郭永辉.GOU Yuan-jie.MO Rong.CHANG Zhi-yong.GUO Yong-hui 面向企业管理系统的动态 表单技术研究[期刊论文]-航空计算技术2006,36(6) 5. 蒋海彦.鄂明成.习中革 基于Web的表单工作流系统设计与实现[期刊论文]-北方交通大学学报2004,28(4) 6. 王智广.陈涛.陈明.陈雪飞.鲁亿方.WANG Zhi-guang.CHEN Tao.CHEN Ming.CHEN Xue-fei.LU Yi-fang 软件开发 中动态表单的解决方案[期刊论文]-内蒙古师范大学学报(自然科学汉文版)2010,39(5) 7. 张文治.张辉.ZHANG Wen-zhi.ZHANG Hui 工作流系统中的表单服务系统[期刊论文]-长春师范学院学报(自然科 学版)2005,24(5) 8. 杨忠秀.王硕苹.YANG Zhong-xiu.WANG Shuo-ping 用服务器端控件方式实现表单处理系统[期刊论文]-计算机工 程与设计2005,26(2) 9. 郭永辉 动态表单系统设计与实现[学位论文]2007 10. 张春玲.王桂萱.张慧敏.孔鲁文 保留数据语义约束的关系模式到XML模式的映射[会议论文]-2008
[2]张玉峰等.基于Agent的个性化信息服务模型研究[J].情报学报, 2001.20(5):555-559.
[3]张晓林等.基于Web的个性化信息服务机制【J].现代图书情报技术. 2001,(1):25-29.
[4]Chul—Ki Nam,Gi l—Sang Jang。Jae-Hak J.Bae.An XML—based ac— tive document for intelligent web applications[J].Expert Systems with Appl ications,2003,(25):165—1 76.
中国管理信息化(综合版) CHINA MANAGEMENT INFORMATIONIZATION 2006,9(9) 2次
参考文献(6条)
1.薛菘 基于Web数据库平台的图书馆个性化服务:MyLibrary[期刊论文]-图书情报工作 2002(08) 2.张玉峰 基于Agent的个性化信息服务模型研究[期刊论文]-情报学报 2001(05) 3.张晓林 基于Web的个性化信息服务机制[期刊论文]-现代图书情报技术 2001(01)
【收稿日期】2006-02-25
求,具体控件在表单上的位置精确度不高,因此,必须寻找 另外的数据传递模式来实现这种个性化的展示。
可扩展标记语言(XML,eXtensible Markup Language) 技术的出现,很好地解决了客户端信息的表示问题,文献 [4]用XML的方式将客户端的信息传至服务器端,基于这个 思路,用XML传递客户端页面上内容及样式信息至服务器 端,即可以解决信息个性化展示需求。通过XML和MSXML解 析器配合使用,将客户端表单上控件的样式信息编制成XML 文档,再通过HttpRequest对象,将XML文档发送到服务器 端,再通过MSXML解析器,将XML文档还原成普通的数据,最 后,利用数据存储机制存放于数据库中。 2实现策略
表单中控件的尺寸调整和位置拖动可通过脚本语言实 现,而表单控件所有样式属性用XML文件记录,并通过 HttpRequest对象将该x札文件发送到服务器端进行保存。 2.1 控件尺寸的调整和位置拖动
Javascript提供了强大的Web页面增强型功能,可以把 内容的静态页面转换为动人的、交互的、智能的体验。为了 在客户端实现灵活的控件样式,利用Javascript实现鼠标 捕捉和定位功能,可以实现页面上的控件拖放和调整大小 的目的,从而实现信息的个性化排版功能,图1即为工作流 管理系统中流程结点携带文档样式的个性化编制过程,通 过拖动控件,以调整内容在文档中的摆放位置;利用鼠标捕 捉和鼠标拖放功能,可以调整文档中控件或内容的展示区 域大小和基本样式,如长、宽、高等样式,通过在调色板中进 行颜色选择,可以设置文档中部分控件或内容的背景和前 景色,其中:用语句event.cl ientX+document.body.scro— llLeft来捕获鼠标的X坐标位置,用event.clientY+docu— ment.body.scrolITop来捕获鼠标的y坐标位置,通过与控 件的原始坐标比较,其差值为调整的距离,通过调整控件宽 度和高度,实现控件边框拖放的功能,并用数组data[i][j]
(1)用Javascript实现XML DOM访问)眦文件的过程。
function savexml() { vat strXML=”<NewDataSet>’
for(var i=O:i<120:i++){ strXML=strXML+一<movecontr01>一
Next
OBJConn.Open”Driver={SQL Server):Database=’& db&”:Server=’&sv&”:UID=’&uid&”:PWD=”&pwd&~
2006年9月 第9卷第9期
中国管理信息化 China Management Informationization
基于XML flcJ动态表单设计
Sep.,2006 V01.9,N0.9
蒋国银h,刘鹏远№
(1.湖北经济学院a.经济信息管理学院;b.计算机学院,武汉430205)
[摘要】 通过分析表单个性化样式实施的可行方案,提出了基于XML的动态表单解决方法,给出了实现策略和代 码实现方法,为电子商务、工作流管理系统中动态的信息个性化展示提供了有效方法。 [关键词] 个性化;XML;电子商务;工作流管理系统 【中图分类号】 F724.6 【文献标识码]A 【文章编号】1673-0194(2006)09—0083—02
else {
OBJConn.Close() Next
3结束语 本文提出了基于XML的动态表单的设计与实现方法,为
电子商务中单据的灵活设计,如订货单、采购单等的设计; 工作流系统中结点所携带文档的灵活排版设计提供了可行 方法。
主要参考文献
[1]薛菘.基于Web数据库平台的图书馆个性化服务:MyLibrary[J].图 书情报工作,2002.(8):22—25.
strXML=strXML+一</movecontrol>” ) strXML=strXML+’</NewDataSet>。//建立XML DOM对 象 var xmlDom=new ActiveX0bject(”MSⅪ儿2.DOMDocu— ment.4.O。) xmlDom async=”false”//加载XML文件的字符串
子数据库中(data.asp)。
set xmlDom=
Server.CreateObject(”Microsoft.XMLDOM”)
图1 控件拖动
xmlDom.async=’false’
xmlDom.10ad(Request) For Each objNodeList in xmlDom.documentEle—