发明名称 一种基于XML的问卷脚本语言设计和开发方法
摘要 本发明公开了一种基于XML的问卷脚本语言设计和开发方法,该方法包括一个基于XML的问卷脚本语言SurvML(Survey Marked Language)的定义和基于SurvML的问卷调研系统的实现方法。本发明将XML技术引入到问卷设计领域,通过XML来编写调查问卷,并提出了问题和逻辑分开的理念,使得问卷编写人员更多地关注问题本身,从而克服传统的问题和逻辑混编的脚本语言带来的复杂性;此外,基于XML的问卷脚本语言能够更方便地扩展,支持更丰富的问题类型,而且能够同时支持CATI,CAPI和CAWI。本发明涉及计算机辅助访问调查领域,可以帮助调研人员更加简便快捷地编写各类丰富多样的问卷,更加高效地执行访问调查,提高调查的即时性,完整性和有效性,具有广阔的应用前景。
申请公布号 CN103699370B 申请公布日期 2016.09.14
申请号 CN201310172635.5 申请日期 2013.05.10
申请人 上海萌泰网络科技有限公司 发明人 李军;李磊;王艺杰;张飞
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 上海国智知识产权代理事务所(普通合伙) 31274 代理人 潘建玲
主权项  一种基于XML的问卷脚本语言设计和开发方法,包含一个基于XML的问卷脚本语言SurvML(Survey Marked Language)的定义和基于SurvML的问卷调研系统的实现方法,其特性在于:所述基于XML的问卷脚本语言SurvML的定义包括SurvML问卷脚本语法规则和SurvML文档结构;所述基于SurvML的问卷调研系统的实现方法包括问卷引擎执行流程和问卷调研系统设计方法;所述SurvML问卷脚本语法规则遵循XML的语法规则,SurvML在XML基础上扩展了一系列符合问卷特性的标签,且通过不同标签将问卷的问题和逻辑进行分离;所述SurvML文档结构包括一个<survml>标签,<survml>中包含一个<head>和<body>,分别代表问卷的头部和问卷的主体;<head>中包含一个<id>,一个<title>,一个<description>和多个<meta>标签,分别表示问卷的唯一编号,问卷名称,问卷描述和元数据信息;<body>中包含<constants>,<variables>,<questions>,<validators>和<filters>标签各一个,分别代表常量区,变量区,问题区,验证区和控制区;所述SurvML常量区定义问卷需要的全局常量,包括多个<constant>标签;所述SurvML变量区定义问卷需要的全局变量,包括多个<variable>标签;所述SurvML问题区定义问卷所有问题,包括多个<question>标签;所述SurvML验证区定义问卷需要的验证逻辑,包括多个<validator>标签;所述SurvML控制区定义问卷需要的控制逻辑,包括多个<filter>标签;所述问卷引擎执行流程包括以下步骤:第一步,问卷引擎初始化SurvML问卷,开始第一题,若第一题不是提示题,则回答第一题后,执行第二步;第二步,问卷引擎在执行下一题之前,先检查上一题是否有逻辑验证器,若有,则验证上一题的答案是否通过上一题的所有验证器进行验证,验证器有多个时,问卷引擎按验证器的先后顺序进行验证,任何一个验证器不通过,则仍然停留在当前题,若全部通过则执行第三步;第三步,问卷引擎检查是否有上一题的后置过滤器,若有,则执行上一题的所有后置过滤器,后置过滤器有多个时,问卷引擎按过滤器的先后顺序进行执行,后置过滤器执行相关动作,若跳转到一问题,一旦执行跳转,则转到第四步,若没有跳转,在所有后置过滤器都执行完成后,进入下一题,若本题已经是最后一题,则执行第五步,否则执行第四步;第四步,问卷引擎在执行本问题之前,先检查是否有本问题的前置过滤器,若有,则执行本题的所有前置过滤器,前置过滤器有多个时,问卷引擎按过滤器的先后顺序进行执行,前置过滤器执行相关动作,若跳转到一问题,一旦执行跳转,则继续执行第四步,若没有跳转,在所有前置过滤器都执行完成后,进入本题,若本题不是提示题,则回答本题后,重复执行第二步;第五步,问卷引擎处理问卷结束,访问调查结束,问卷调研客户端将问卷引擎收集的答案保存或汇报到答卷收集服务器;所述问卷调研系统的实现方法包括以下步骤:第一步,基于SurvML问卷引擎开发问卷调研客户端,是CS版本或者BS版本;第二步,问卷编写人员设计问卷脚本SurvML,通过可视化的设计工具进行问卷设计;第三步,问卷调研客户端中的问卷引擎加载SurvML问卷脚本,并执行问卷调查,收集用户的回答;第四步:问卷调研客户端将用户的回答提交到答卷回收服务器。
地址 200433 上海市翔殷路1128号13楼A1