摘 要:可離線式的網絡課件平臺是目前新一代網絡課件創建平臺的一個發展趨勢,本文以XML技術創建了一個實例模型,以討論XML技術在這一類型平臺研發的優勢。
關鍵詞:網絡課件 離線 XML XMLDOM
引言
教學資源的共享越來越受到人們的重視,網絡課件作為教學資源共享的一個重要載體越來越受到各大院校的認同,目前很多網絡課件創建平臺創建的課件只能在其本身平臺的環境下使用,很多教師在建設了網絡課件后在日常教學中還得用PPT等工具重新準備課件,這使得網絡課件使用的范圍大大減小。所以可分離的課件創建平臺必將成為一個重要的研究方向。
本文旨在研究用XML技術實現一個基礎的網絡課件創建平臺,除了達到基本的網絡課件創建功能,還要達到課件在線上生成后可以分離于平臺獨立使用的目的,所有線上的課程信息能單獨從平臺剝離并可以打包下載,離線后的課件要保持盡量一致的線上功能。
1 技術架構
本人提出基于XML的技術架構作為設計基礎,并創建了一個實例模型。下圖為方案的架構模型,該方案特點是結構簡單,表現力強,實現容易,同時利用XML的特點能比較完好地支持線下功能?;炯軜嬋缦聢D:

架構模型采用我們現在程序開發的常見的三層架構體系,采用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.w3.org/TR/xpath.
[4]XML-based Network Management Phil Shafer.