基于XML技术的可离线式网络课件生成平台研究

时间:2022-10-26 05:34:20

基于XML技术的可离线式网络课件生成平台研究

摘 要:可离线式的网络课件平台是目前新一代网络课件创建平台的一个发展趋势,本文以XML技术创建了一个实例模型,以讨论XML技术在这一类型平台研发的优势。

关键词:网络课件 离线 XML XMLDOM

引言

教学资源的共享越来越受到人们的重视,网络课件作为教学资源共享的一个重要载体越来越受到各大院校的认同,目前很多网络课件创建平台创建的课件只能在其本身平台的环境下使用,很多教师在建设了网络课件后在日常教学中还得用PPT等工具重新准备课件,这使得网络课件使用的范围大大减小。所以可分离的课件创建平台必将成为一个重要的研究方向。

本文旨在研究用XML技术实现一个基础的网络课件创建平台,除了达到基本的网络课件创建功能,还要达到课件在线上生成后可以分离于平立使用的目的,所有线上的课程信息能单独从平台剥离并可以打包下载,离线后的课件要保持尽量一致的线上功能。

1 技术架构

本人提出基于XML的技术架构作为设计基础,并创建了一个实例模型。下图为方案的架构模型,该方案特点是结构简单,表现力强,实现容易,同时利用XML的特点能比较完好地支持线下功能。基本架构如下图:

架构模型采用我们现在程序开发的常见的三层架构体系,采用XML数据文件作为数据层,内容打包引擎、数据展示引擎和信息编辑引擎作为业务逻辑层,网页作为表现层。

平台采用XML作为整个系统的数据源,XML是以文本形式来描述的一种文件格式,所以适合于各种平台环境的数据交换。平台设计考虑使用XML而不使用传统型的关系型数据库是因为由于XML的组织数据的灵活性和文本性访问快的特点,同时在将课程打包下载时需要将数据导出,采用XML数据源可以有效地避免数据转换这一环节,减少了开发周期和降低了难度,同时也减轻了服务器的负荷,加快了访问速度。

另一方面,XML数据离线下载后,需要能与线上一样的展示方显示,才能保持其可用性,可扩展标记语言(XML)由于支持半结构化数据,有自描述、可交换、与平台无关等特点,通过XSL和客户端脚本语言(通过XMLDOM操作XML)可对XML进行快速格式化显示,由于XSL和XMLDOM可以灵活操作XML数据源,可以以几乎任意的格式在网页上展示XML数据。这种格式化显示可以非常强大而复杂,使得平台在实现课件离线的同时,能几乎保持与线上一致的展现方式和功能。

2 实现重点

平台实现的重点主要是解决以下三个方面的问题:

2.1XML数据文件的组织

为了便于课程的展示和在线打包,在平台设计要注意文件布局合理,避免在线打包压缩时进行大量的文件拷贝,这样会在平台规模比较大时占用大量的系统资源,同时大量文件拷贝也容易造成打包时间过长和打包文件不全,所以采用以下的文件存放模型对网站文件进行组织:

这个模型设计简化了网站结构,每当创建一门课程,系统均会创建一个单独的文件存放该课相关的所有文件(页面、XML数据、图片、多媒体数据等),当选定一个风格样式后,系统将该风格样式所相关的模板文件拷入到该课程文件夹中,更换新的风格时替换掉原有风格样式文件,当课程要进行离线时只要对该课程文件夹进行单独打包压缩就行了。同时对于只能在线上运作的功能,如课程BBS可以使用公用的系统文件进行处理,这部分文件可以存放于系统文件夹中。

2.2XML数据格式的设计与格式化显示

由于课程信息需要支持线上和线下的显示,所以在XML的格式化显示方面采用一套程序编码是一个便捷高效的方式,这一套程序编码必须是客户端的模式,通过XSL和XMLDOM对XML进行操作可以很好地解决这一问题。

2.2.1XML数据定义

由于这一领域没有系统标准,我们利用XML的可自定义标记的特点可以以尽可能方便程序实现的方式定义我们需要的XML格式,同时考虑显示的速度,我们需要尽可能借鉴关系型数据库索引的方式来组织一门课所有的XML数据,以避免一个单一的XML文件过大而影响响应速度。

2.2.2采用XSL对XML进行格式化显示

虽然XSL(eXtensible Stylesheet Language)可以方便地处理XML文件,在平台设计中考虑到如果XML的格式如果设计过于复杂的话,建议用XMLDOM对XML进行操作更为方便些,XSL用于顺序型展示同时没有复杂的变化操作时更为高效有优势。

2.2.3采用XMLDOM操作XML

XMLDOM是用来访问和操作XML文档的编程接口规范,XMLDOM被设计为可用于任何语言和任何操作系统。借助DOM我们可以遍历菜单的XML,DOM将整个XML文档视作一棵树,根据每个树叉的自定义的属性值,对其代表的元素进行不同的处理,如显示图标、链接地址、状态等。

2.3 课件在线打包和下载

要进行课程离线服务,就必须对课程所有相关文件进行打包压缩,供在线下载,在线压缩可以使用RAR等压缩软件的开发接口。

2.3.1创建在线压缩的类

Class rarClass

Public rarpath As String

Public desrarfile As String

Public sourcefold As String

Friend RetVal As Boolean

Sub rar()

rarpath = rarpath & ″ a -r -ep1 -y ″ & desrarfile &

″ ″ & sourcefold

Shell(rarpath,AppWinStyle.Hide,True,1000000)

RetVal = True

End Sub

End Class

2.3.2调用该类完成课程文件夹的打包压缩

Dim rarpath As String = ″C:/Program Files/WinRAR/rar.exe″

Dim desrarfile As String = Server.MapPath(″kc/″ & filename & ″.rar″)

Dim sourcefolde As String = Server.MapPath

(″kc/″ & filename)

ysinfo.Text = ″课程正在压缩中″

Dim AarObject As New rarClass()

Dim Thread As New System.Threading.Thread _

(AddressOf AarObject.rar)

AarObject.rarpath = rarpath

AarObject.desrarfile = desrarfile

AarObject.sourcefold = sourcefolde

Thread.Start()

Thread.Join()

If AarObject.RetVal = True Then

ysinfo.Text = ″课程压缩完成!″

End If

基于XML技术的可离线式网络课件自动生成平台研究主要为现代教育在网络环境支撑方面摸索一个新的思路,主要是为了让网络课件更易组织,同时不再局限于服务器环境。

参考文献:

[1]XML Handbook,Fourth Edition Charles F.Goldfarb Paul Prescod.

[2]The XSL CompanionNeil Bradley.

[3]XML Path Language (XPath) Version 1.0. http://www.省略/TR/xpath.

[4]XML-based Network Management Phil Shafer.

上一篇:项目驱动的《数字视频与音频技术》教学探析 下一篇:如何提高学生的终身体育意识