XML技术在现代远程教育工程中的应用

2022-09-11

现代远程教育工程建设的核心是教学资源建设, 包括素材类教学资源建设、网络课程库建设、教育资源管理系统的开发、通用远程教学系统支持平台的开发。

现有的大多数远程教育平台, 其教学资源大多是用各种类型的数据库进行数据的存储, 在教育平台的创建和二次开发中, 大部分时间和精力都花费在用户界面的更新以及界面与后台数据库的数据衔接上, 这样无形中就增大了教学资源相对固定的远程教育平台更新的难度和成本。XML作为远程教育资源描述的工具, 是目前基于W E B的资源共享最理想的手段。因为XML具有自描述性, 同时XML描述的数据具有良好的结构, 所以不仅XML描述的数据可以进行高效、准确的搜索, 而且XML文件是不同应用间交换数据的理想格式。

XML语言具有优良的数据存储格式、可扩展性、高度结构化以及方便的网络传输四大特点, 在对资源的描述和管理方面XML有着很大的优势。

实现教育信息资源的标准化。

XML具有良好的语义和清晰的结构, 可以根据具体情况自定义所需的标记。XML又是Internet上不同系统、不同平台间进行数据交换的理想格式。所以可以用来定义标准化的教育信息资源格式。

实现教育信息资源形式的个性化。

XML实现了形式与内容的分离, 数据从最原始形式就与其最终表达分离开来。XML文档重在描述数据及其之间的关系, 专门用XSL和CSS来表现其内容, 使同一数据可以根据实际情况具有多种表现形式, 真正实现教育信息资源与媒体无关与平台无关的个性化发布。

实现教育信息资源的组织。

教学资源内容的树状层次数据结构表示与XML层次和结构化文档组织正好相符合。各知识点之间的顺序不是一成不变的, 必须根据实际情况实现动态组织。利用XML中的多种链接类型Xpath可以表达教育信息资源间复杂的关系, 定义其统一的组织结构。

实现教育信息资源的开放性。

以标准化格式表示的资源可以突破以前教学信息单一、教学单位各自为政的局限而放到Intemet上, 利用教学搜索引擎或搜索代理可以找到需要的资源信息。XML强大的数据检索能力为资源信息的开放性提供了基础, 并达到资源共享和重用的目的。因此我们认为可以用XML来构造网络化多媒体资源, 而将HTML作为网络化多媒体资源外在表现的描述形式。

因此找到一种行之有效的数据库与XMl文档之间的数据转化的方法, 对于远程教育平台教育资源的标准化将起到很大的作用。

1 X M L与数据库的区别

严格意义上讲, 当XML指XML文档时它不是一种数据库。虽然XML文档包含了数据, 但需要其他相关软件来处理这些数据, 与数据库比较起来, 它与其他文本文件没有什么本质上的区别。

当XML是指XML文档及其周边相关的工具和技术时, 可以当作数据库管理系统 (DBMS) 来看待。因为XML技术阵营提供了许多数据库所应具备的东西:存储 (XML文档) , 模式 (DTD, XML schema) , 查询语言 (XQuery, XPath, XQL, XML-QL, QUILT) , 编程接口 (SA X, DO M, JDOM) 等等。

2 Open XML技术

Open XML项目是Windows下DOM规范的一个实现, 它是由一组Delphi对象组成的。XDOM软件包是OpenXML的核心组成部分, 它包含了对XML对象的所有操作。该包完全符合W3C DOM (核心) 第一版规范, 同时也实现了DOM第二版规范中描述的待修订和增强部分。连同标准的DOM实现一起, XDOM提供了许多扩展, 尤其在建立DTD模型方面。这也就为我们进行数据库与XMl文档之间的数据转化找到了一个行之有效的工具。

3 数据库与X M l文档之间的数据转化的具体实现

在数据库与XMl文档之间的数据转化中, 主要用到了X D O M包中的以下几个类:Tdom Document、Tdom Node、Tdom Element、Tdom Text。用这几个类可以完成RDBMS和XML相互转换过程中的相关工作:RDBMS-XML过程中XML文件的生成, XML-R DBMS过程中XML文件的解析、数据的获取。

3.1 Tdom Document类的使用

Constructor Create (const AOwner:TDom Implementation) ;virtual;

使用该构造函数可以创建XML文档, 使用本构造函数可以保证文档得到XDOM包的适当管理。它也允许定制自己的XML文档, 可以根据被注册类型的实现对象生成。

Property doctype:Tdom Document Type read Get Doctype;

通过该只读属性获取对文档的文档类型节点的访问。如果没有设置文档类型, 则返回nil。

Property document Element:Tdom Element read Get Document Element;

利用该只读属性可以迅速地定位顶级元素节点。它返回一个Tdom Element节点。

Property filename:TFILENAME read Get File Name write Set File Name;

从本地文件系统加载的文档将这个属性设置为那个文件的全名, 否则, 返回一个空字符串。

Property xml Declaration:Tdom Xml Declaration read Get Xml Declaration;

通过本属性访问这个XML文档的声明节点。如果没有与文档关联的声明, 则返回nil。

Function Create Element (const Tag Name:Wide String) :Tdom Element;virtual;

用指定的名称为该XML文档创建一个新的元素节点。除非元素被添加到一个文档或者文档段中, 否则它没有父节点。

Function Create Text (const Data:Wide String) :Tdom Text;virtual;

产生一个新的文本节点 (Tdom Text) , 它包含所提供的文本, 用于保存文档的实际内容。文本节点没有子节点, 只出现在DOM层次结构中的底层。

Procedure Clear;override;

释放所有属于这个文档的节点、节点列表、节点复述器和树遍历器。然后开始建立一个新的文档。

3.2 Tdom Node类的使用

Property Node Name:Wide String read Get Node Name;

该只读属性返回节点的名称。实际值依赖于节点的类型。对于在某个命名空间内的节点, 这个数值包含相关的前缀。

Property Namespace URI:Wide String read Get Namespace URI;

由该只读属性得到识别这个节点的命名空间的完整URI。如果该节点没有使用命名空间, 则返回一个空字符串。

Property Node Value:Wide String read Get Node Value write Set Node Value;

如果可用, 该属性包含节点的文本值。对于一个文本节点, 这是实际的文本;对于一个处理指令节点, 则将其命令数据放置于此。对于那些没有数值的节点, 该属性为一个空字符串。

Property Code:Wide String read Get Code;

使用该只读属性获取对应于这一节点和他的全部子节点的XML文本。当使用DOM产生一个文档或者文档片段时, 在将其保存到一个文件或者发送给另外一个过程之前, 可由此获得结果XML。

Property First Child:Tdom Node read Get First Node;

这个属性便利地返回当前节点的第一个子节点。如果没有子节点, 则返回nil。

Property Child Nodes:Tdom Node List read Get Child Nodes;

使用该属性在DOM层次结构中往下移动。它返回一个节点列表。

Property Previous Sibling:Tdom Node read Get Previous Sibling;

该只读属性返回这个节点的父节点的子节点列表中的前一个节点, 也就是该节点的前一个兄弟节点。如果这个节点前面没有同一级的节点, 就返回nil。

Property Next Sibling:Tdom Node read Get Next Sibling;

与上一个属性相反, 该只读属性提供了对父节点的子节点列表中下一个节点的访问, 也就是该节点的下一个兄弟节点。

Function Replace Child (const new Child, old Child:Tdom Node) :Tdom Node;virtual;

利用该方法在一个现有节点的位置插入一个新节点。该函数返回一个被替代节点的引用。如果现有节点不能作为子节点, 或者当前节点是只读的, 将引发异常。

Function Remove Child (const old Child:Tdon Node) :Tdom Node;virtual;

利用该方法删除一个特定的子节点。它返回被删除节点的一个引用。如果在子节点中找不到要被删除的节点或当前节点是只读的, 会导致异常出现。

Function Append Child (const new Child:Tdom Node) :Tdom Node;virtual;

利用该方法在这个节点的子节点尾部添加一个新节点。它返回一个指向新节点的指针。如果该节点已经存在, 将从DOM中删除。

3.3 Tdom Element类的使用

Property Tag Name:Wide String rea Get Tag Name;

通过该属性获取元素的名称。该名称是只读的, 在元素节点建立期间被设置。

Function Get Element By Tag Name (constName:Wide String) :Tdom Node List;virtual;

给定一个元素的名称, 该方法获取这个节点下面子树内这类元素的一个列表 (Tdom Node List) 。列表中节点出现的顺序, 等于在先序遍历该树时遇到他们的顺序 (与你在XML文档内读到他们的顺序相同) 。列表内的节点是“活跃的”, 对他们的任何改变同样会影响子树内原始的节点。

4 结语

本文给出了一个基于XML (Open XML包) 的远程教育平台教育资源整合的思路和实现方法, 解决了不同的远程教育平台 (异构数据库平台) 间的数据交流问题, 实现了RDBM S-XML的数据交换。

摘要:本文围绕着数据库和XML文档之间的数据转换问题, 探讨分析了一种利用OpenXML技术把数据库表单转换成XML文档, 从而能将远程教育平台素材类教学资源进行有效整合的方法。

关键词:远程教育,教学资源整合,XML,OpenXML,XDOM,数据库

参考文献

[1] [美]H.M.Deitel&P.J.Deitel.XML编程技术大全.美国培生出版集团.

[2] [美]Chuck White.XSLT从入门到精通[M].电子工业出版社.

[3] [美]XML:The Complete Reference.Heather Williamson, McGraw-Hill.

[4] [英]Professional XML, 2nd Edition.Mark Birbect, Wrox.

[5] XML by Example, Second Edition.Benoit Marchal, QUE/Macmillan/Pearson.

[6] Delphi6组件大全[M].电子工业出版社, 2002.

上一篇:信息化环境下企业财会工作职能转变的相关问题探讨下一篇:含锂无水氟化铝的应用探究