论文部分内容阅读
【摘要】XML技术实用性强,但涉及的知识点非常多。单纯地讲解规范会使学生感到枯燥,且很难将各部分知识融会贯通。本文提出一种基于实践的教学方法,以一个RSS阅读器为载体,将XML课程涉及的各部分知识贯穿起来。通过演示阅读器的功能,使学生对各部分的功能和联系产生整体认识;通过分析阅读器的实现机制,讲解课程中XML语法规范、DTD、XML Schema验证等各部分知识内容。这种基于实践的教学方法可使学生认识到所学知识的实用性,有利于激发学生的学习兴趣,使学生更容易将理论与实际联系起来。
【关键词】XML 教学方法 实践教学
【中图分类号】C42 【文献标识码】A 【文章编号】1009-9646(2008)09(a)-0058-02
1 前言
XML 是可扩展标记语言(eXtensible Markup Language的缩写。XML是一种元标记语言,即可用于定义其他与特定领域有关的、语义的、结构化的标记语言。它最大的特点是内容与格式相分离。由于XML是以文本形式描述的,所以适合于各种平台环境的数据交换。目前在网络服务、电子数据交换和电子商务等领域已获得广泛应用,是一门软件业中实用性很强的技术。本科教学中将此课程作为计算机学科的一门专业课,对于拓宽学生的专业应用领域知识很有意义。
在本科教学中,XML课程面临两大主要问题:一是如何解决课时少而信息量大的矛盾。XML技术应用涉及一系列相关技术,包括XML标记语言,文档数据验证、显示输出、文件转换、文档对象等。每种技术都有自己的一套标准。对于如此庞大的技术体系,在课堂内不可能完全、透彻地讲解。另一个问题是如何能让学生将众多的知识点融会贯通。XML是一门实践性与应用性较强的课程,授课时如果只简单罗列各知识点的内容,不易激发学生主动学习的兴趣,或者很多学生虽然对各知识点有一定掌握,但是各部分知识联系不起来,整体感较差。
本文对XML课程的教学方法进行了一些探讨和尝试,提出一种基于实践的教学方法。在教学中自始至终以目前流行的RSS阅读器为载体,通过剖析该阅读器的实现技术,将XML课程中各相关章节的知识内容贯穿起来。这样在教授基本知识的同时,能够增强学生对各部分知识及其联系的理解,激发学生的学习兴趣,并通过相关实验环节培养学生的实践能力。
2 相关简介
2.1 XML课程简介
XML是一个技术家族,有一系列相关技术。因此,该课程的教学目标并非让学生背诵繁多的XML和相关技术的规范和语法,而是要使学生获得XML及相关技术的基本概念和用法, 了解XML相关技术规范,培养学生分析和解决相关问题的能力, 为今后的深入学习打下坚实基础。
目前本科XML[1]课程教学中可能涉及的基本知识点包括:
(1)XML规范。XML规范是整个XML技术体系的基础,特别是其中的基本语法是学生必须掌握的内容。
(2)文档类型定义(Document Type Definition, DTD)。DTD用于定义XML文档的逻辑结构,规定XML文档中所使用的元素、实体、元素的属性、元素与实体之间的关系。XML允许用户为应用程序创建自己的DTD,并可用DTD验证XML文档的有效性。
(3)XML Schema。其作用与DTD类似,但功能比DTD更为强大。XML Schema不仅可以定义XML文档的结构,而且还允许约束文档的内容,且它本身也符合XML规范。
(4)层叠样式表 (Cascading Style Sheet,CSS)。单纯的XML文档只为数据提供结构和内容,不涉及数据如何显示。CSS是用于为XML数据定义显示参数的一种技术,它利用简单的规则来控制元素内容在浏览器中的表现方式。
(5)可扩展样式表语言 (eXtensible Stylesheet Language, XSL)。XSL可将XML中的数据用指定的显示格式输出。XSL包括XSL转换 (XSL Transformation,XSLT) 和格式化对象(Formatting Object,FO)两部分。目前最常见的一种用法是利用XSLT将XML文档转化为html。
除了以上部分之外,XML还会涉及到XML数据源对象(Data Source Object, DSO)和文档对象模型(Document Object Model,DOM)等编程接口的知识。
2.2 RSS简介
RSS是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS是一种用于共享新闻和其它Web内容的数据交换规范,起源于网景通讯公司的推"Push"技术,将订户订阅的内容传送给他们的通讯协同格式。RSS可以是以下三个解释的其中一个:
>Really Simple Syndication:真正简单的连锁。
>RDF (Resource Description Framework) Site Summary :资源描述框架站点摘要。
>Rich Site Summary:丰富站点摘要。
其实上述三个解释都是指同一种企业联合组织的技术。RSS目前广泛用于网上新闻频道和blog(例如新浪RSS等),主要的版本有0.91,1.0,2.0。通过RSS规范,推出RSS信息的网站将各自的新闻或blog内容都按照规范输出为XML文档。这样RSS阅读器就能够主动地接收各站点的信息。
3 基于实践的XML教学方法
目前教学理论界对教学方法还没有统一的定义。我国教育学家李秉德认为,教学方法是在教学过程中,教师和学生为实现教学目的、完成教学任务而采取的教与学相互作用的活动形式的总称[2]。教学活动具有双边性,是教的方法与学的方法相互联系与作用的过程。在XML课程的教学过程中,教学方法不会孤立存在,它与XML课程内容、教学组织形式与教学模式、教学媒体与技术等密切相关。本文主要还是在教的方面进行了一些探讨。
3.1 教学方法的总体设计
本文提出的基于实践的XML教学方法是将讲授法和演示法融合,以实际案例为载体,在演示和说明RSS阅读器各功能实现原理的过程中,系统讲授各知识点及其之间的联系。
基于实践的XML教学方法的关键是:根据授课需求开发一个RSS阅读器(本文以RSS2.0标准为基础)作为授课载体。该阅读器应具备RSS阅读器的常用功能,特别是本科XML课程教学中涉及的相关知识。且除XML相关技术外,涉及的其它技术不宜过于复杂,否则很难突出XML课程知识。
基于实践的XML教学方法总体思路是:
(1)首先在综述性课时中,通过RSS阅读器让学生了解到XML的实际应用意义,并对各部分知识的用途和相互关系产生整体认识。以实践为基础,力图通过实例激发学生的学习兴趣。
(2)在后面的授课过程中,通过分析RSS阅读器的实现原理和过程,讲授XML各部分知识。
(3)对过于复杂的内容,通过拆分逐步说明。
本文作者在授课时各部分分配学时和RSS阅读器的对应如表1。
下面将以XML基本语法和DTD为例,说明如何以RSS阅读器为载体,在其上进行基于实践的教学方法。其它内容的教学类似,本文不再赘述。RSS阅读器的具体功能可根据具体的教学内容需要来设计。
3.2 XML基本语法实践
RSS阅读器的阅读内容是符合RSS规范的XML文档。授课时从该RSS阅读器可以正常阅读的一个RSS文档入手(如图1所示),分析XML标准的相关内容。讲授内容的顺序可如下:
(1)说明什么是标记(Markup),引出XML文档中元素的概念。
(2)XML文档的结构:
>XML文档构成包括文档头(图1中的前2行)和文档体(出文档头之外的部分)。分析说明各部分作用。
>文档体是一个树形结构。分析图1中的树形结构(元素间的包含关系用树中的父子关系表示)。
(3)XML文档的语法。
>说明标记的命名规则和使用规则
>说明XML文档中各种部分的作用。例如图1中第一行为处理指令。其语法格式为:
>说明XML文档的基本语法规则。例如文档体中根元素有且只能有一个等。
>引出什么是“结构良好”的XML文档,即满足所有语法规则的文档。在结构良好的XML文档中添加一些语法错误,通过错误提示等使学生加深对语法的理解。
3.3 DTD实践
DTD用来定义XML文档的逻辑结构。在RSS阅读器中可以设置一项功能,即利用预定义的DTD检查某XML文档是否符合RSS2.0规范。
授课时根据RSS2.0定义DTD文档。在定义文档的过程中说明DTD的相关规则和用法。
例1:RSS2.0规范中有一个元素为 “”,它不再包含其它元素,只包含字符串,这是一个典型的简单型元素,在DTD中应将其定义为:
(1)
例2:RSS2.0规范中规定元素“”的所有子元素都是可选的,但是其子元素“<title>”和“<description>”至少保证有一个存在。定义如:
<!ELEMENTitem((title|description)+,link?,(author|category|comments|enclosure|guid|pubDate|source)*)>(2)
这个例子比较复杂,可将其拆分逐步讲解。
(1)定义一个包含两个子元素的元素<item>,子元素必须存在且顺序不能改变:
<!ELEMENTitem(title,link)>
(2)定义一个包含两个子元素的元素<item>,子元素存在且只能存在一个:
<!ELEMENTitem(title|link)>
(3)定义一个包含子元素的元素<item>,子元素出现的次数满足一定要求(说明次数控制符“*”、“+”和“?”的作用和区别):
<!ELEMENTitem((title|description)+,link?)>
(4)最后定义如例2的完整元素。
在讲授DTD各知识点时,用该DTD去验证某个XML文档,通过错误提示,使学生更深入地理解各语法点的含义和作用。特别是通过实例对类似的语法点做对比,例如上述的次数控制符,通过实例说明“+”和“?”的不同。
在定义符合RSS规范的DTD文档过程中,不但可以讲解DTD的各基本语法,而且也是对规范的一个分析过程。这样,在分析语法的同时,还可以使学生了解通过某个特定规范来定义DTD的过程和方法。这在学生毕业后面临的实际工作中是非常有用的一项技能。
4 教学效果分析及总结
实践教学是人才培养的重要环节,是实现人才知识、能力、素质协调发展的重要途径和手段。目前大学教育中存在的一个严重问题是学生学完知识不知有什么用或如何使用。
本文所提教学方法的主要目的是希望教学的同时,让学生充分认识到学习这门课程的实用价值,培养学生对此课程的兴趣。该教学方法的整体思路是通过RSS阅读器将XML相关知识组合在一起。通过对RSS阅读器实现技术的剖析,使学生体会各技术的实用价值和各技术的相互关系。特别是在讲课中处处以实例说明语法,验证其正误和效果,而不是单纯讲解空洞的语法知识。此类教学方法更容易调动学生学习的积极性。
类似的教学方法已实际应用于北京信息科技大学本科教学的实践之中,在授课的2个大二班级中取得一定效果。基于实例讲解语法,并通过对比较深对类似语法点不同内涵的理解,锻炼了学生举一反三的能力,实现了知识和能力的迁移。
但是全部以RSS阅读器内的实现技术为起点讲解各部分内容,有时起点太高,学生无法完全理解。例如3.3节的例2。这些部分需要先对其分解,由浅入深,引导学生逐步理解,最后达到能够灵活运用的程度。类似问题,需要教师对知识进行深入分析,并设计合理的分解步骤。这是今后需要不断完善的内容。
参考文献
[1] 丁跃潮,张涛等.XML实用教程[M].北京大学出版社.2006.
[2] 李秉德等主编.教学论[M].北京人民教育出版社.2005.
【关键词】XML 教学方法 实践教学
【中图分类号】C42 【文献标识码】A 【文章编号】1009-9646(2008)09(a)-0058-02
1 前言
XML 是可扩展标记语言(eXtensible Markup Language的缩写。XML是一种元标记语言,即可用于定义其他与特定领域有关的、语义的、结构化的标记语言。它最大的特点是内容与格式相分离。由于XML是以文本形式描述的,所以适合于各种平台环境的数据交换。目前在网络服务、电子数据交换和电子商务等领域已获得广泛应用,是一门软件业中实用性很强的技术。本科教学中将此课程作为计算机学科的一门专业课,对于拓宽学生的专业应用领域知识很有意义。
在本科教学中,XML课程面临两大主要问题:一是如何解决课时少而信息量大的矛盾。XML技术应用涉及一系列相关技术,包括XML标记语言,文档数据验证、显示输出、文件转换、文档对象等。每种技术都有自己的一套标准。对于如此庞大的技术体系,在课堂内不可能完全、透彻地讲解。另一个问题是如何能让学生将众多的知识点融会贯通。XML是一门实践性与应用性较强的课程,授课时如果只简单罗列各知识点的内容,不易激发学生主动学习的兴趣,或者很多学生虽然对各知识点有一定掌握,但是各部分知识联系不起来,整体感较差。
本文对XML课程的教学方法进行了一些探讨和尝试,提出一种基于实践的教学方法。在教学中自始至终以目前流行的RSS阅读器为载体,通过剖析该阅读器的实现技术,将XML课程中各相关章节的知识内容贯穿起来。这样在教授基本知识的同时,能够增强学生对各部分知识及其联系的理解,激发学生的学习兴趣,并通过相关实验环节培养学生的实践能力。
2 相关简介
2.1 XML课程简介
XML是一个技术家族,有一系列相关技术。因此,该课程的教学目标并非让学生背诵繁多的XML和相关技术的规范和语法,而是要使学生获得XML及相关技术的基本概念和用法, 了解XML相关技术规范,培养学生分析和解决相关问题的能力, 为今后的深入学习打下坚实基础。
目前本科XML[1]课程教学中可能涉及的基本知识点包括:
(1)XML规范。XML规范是整个XML技术体系的基础,特别是其中的基本语法是学生必须掌握的内容。
(2)文档类型定义(Document Type Definition, DTD)。DTD用于定义XML文档的逻辑结构,规定XML文档中所使用的元素、实体、元素的属性、元素与实体之间的关系。XML允许用户为应用程序创建自己的DTD,并可用DTD验证XML文档的有效性。
(3)XML Schema。其作用与DTD类似,但功能比DTD更为强大。XML Schema不仅可以定义XML文档的结构,而且还允许约束文档的内容,且它本身也符合XML规范。
(4)层叠样式表 (Cascading Style Sheet,CSS)。单纯的XML文档只为数据提供结构和内容,不涉及数据如何显示。CSS是用于为XML数据定义显示参数的一种技术,它利用简单的规则来控制元素内容在浏览器中的表现方式。
(5)可扩展样式表语言 (eXtensible Stylesheet Language, XSL)。XSL可将XML中的数据用指定的显示格式输出。XSL包括XSL转换 (XSL Transformation,XSLT) 和格式化对象(Formatting Object,FO)两部分。目前最常见的一种用法是利用XSLT将XML文档转化为html。
除了以上部分之外,XML还会涉及到XML数据源对象(Data Source Object, DSO)和文档对象模型(Document Object Model,DOM)等编程接口的知识。
2.2 RSS简介
RSS是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用。RSS是一种用于共享新闻和其它Web内容的数据交换规范,起源于网景通讯公司的推"Push"技术,将订户订阅的内容传送给他们的通讯协同格式。RSS可以是以下三个解释的其中一个:
>Really Simple Syndication:真正简单的连锁。
>RDF (Resource Description Framework) Site Summary :资源描述框架站点摘要。
>Rich Site Summary:丰富站点摘要。
其实上述三个解释都是指同一种企业联合组织的技术。RSS目前广泛用于网上新闻频道和blog(例如新浪RSS等),主要的版本有0.91,1.0,2.0。通过RSS规范,推出RSS信息的网站将各自的新闻或blog内容都按照规范输出为XML文档。这样RSS阅读器就能够主动地接收各站点的信息。
3 基于实践的XML教学方法
目前教学理论界对教学方法还没有统一的定义。我国教育学家李秉德认为,教学方法是在教学过程中,教师和学生为实现教学目的、完成教学任务而采取的教与学相互作用的活动形式的总称[2]。教学活动具有双边性,是教的方法与学的方法相互联系与作用的过程。在XML课程的教学过程中,教学方法不会孤立存在,它与XML课程内容、教学组织形式与教学模式、教学媒体与技术等密切相关。本文主要还是在教的方面进行了一些探讨。
3.1 教学方法的总体设计
本文提出的基于实践的XML教学方法是将讲授法和演示法融合,以实际案例为载体,在演示和说明RSS阅读器各功能实现原理的过程中,系统讲授各知识点及其之间的联系。
基于实践的XML教学方法的关键是:根据授课需求开发一个RSS阅读器(本文以RSS2.0标准为基础)作为授课载体。该阅读器应具备RSS阅读器的常用功能,特别是本科XML课程教学中涉及的相关知识。且除XML相关技术外,涉及的其它技术不宜过于复杂,否则很难突出XML课程知识。
基于实践的XML教学方法总体思路是:
(1)首先在综述性课时中,通过RSS阅读器让学生了解到XML的实际应用意义,并对各部分知识的用途和相互关系产生整体认识。以实践为基础,力图通过实例激发学生的学习兴趣。
(2)在后面的授课过程中,通过分析RSS阅读器的实现原理和过程,讲授XML各部分知识。
(3)对过于复杂的内容,通过拆分逐步说明。
本文作者在授课时各部分分配学时和RSS阅读器的对应如表1。
下面将以XML基本语法和DTD为例,说明如何以RSS阅读器为载体,在其上进行基于实践的教学方法。其它内容的教学类似,本文不再赘述。RSS阅读器的具体功能可根据具体的教学内容需要来设计。
3.2 XML基本语法实践
RSS阅读器的阅读内容是符合RSS规范的XML文档。授课时从该RSS阅读器可以正常阅读的一个RSS文档入手(如图1所示),分析XML标准的相关内容。讲授内容的顺序可如下:
(1)说明什么是标记(Markup),引出XML文档中元素的概念。
(2)XML文档的结构:
>XML文档构成包括文档头(图1中的前2行)和文档体(出文档头之外的部分)。分析说明各部分作用。
>文档体是一个树形结构。分析图1中的树形结构(元素间的包含关系用树中的父子关系表示)。
(3)XML文档的语法。
>说明标记的命名规则和使用规则
>说明XML文档中各种部分的作用。例如图1中第一行为处理指令。其语法格式为:
>说明XML文档的基本语法规则。例如文档体中根元素有且只能有一个等。
>引出什么是“结构良好”的XML文档,即满足所有语法规则的文档。在结构良好的XML文档中添加一些语法错误,通过错误提示等使学生加深对语法的理解。
3.3 DTD实践
DTD用来定义XML文档的逻辑结构。在RSS阅读器中可以设置一项功能,即利用预定义的DTD检查某XML文档是否符合RSS2.0规范。
授课时根据RSS2.0定义DTD文档。在定义文档的过程中说明DTD的相关规则和用法。
例1:RSS2.0规范中有一个元素为 “”,它不再包含其它元素,只包含字符串,这是一个典型的简单型元素,在DTD中应将其定义为:
(1)
例2:RSS2.0规范中规定元素“”的所有子元素都是可选的,但是其子元素“<title>”和“<description>”至少保证有一个存在。定义如:
<!ELEMENTitem((title|description)+,link?,(author|category|comments|enclosure|guid|pubDate|source)*)>(2)
这个例子比较复杂,可将其拆分逐步讲解。
(1)定义一个包含两个子元素的元素<item>,子元素必须存在且顺序不能改变:
<!ELEMENTitem(title,link)>
(2)定义一个包含两个子元素的元素<item>,子元素存在且只能存在一个:
<!ELEMENTitem(title|link)>
(3)定义一个包含子元素的元素<item>,子元素出现的次数满足一定要求(说明次数控制符“*”、“+”和“?”的作用和区别):
<!ELEMENTitem((title|description)+,link?)>
(4)最后定义如例2的完整元素。
在讲授DTD各知识点时,用该DTD去验证某个XML文档,通过错误提示,使学生更深入地理解各语法点的含义和作用。特别是通过实例对类似的语法点做对比,例如上述的次数控制符,通过实例说明“+”和“?”的不同。
在定义符合RSS规范的DTD文档过程中,不但可以讲解DTD的各基本语法,而且也是对规范的一个分析过程。这样,在分析语法的同时,还可以使学生了解通过某个特定规范来定义DTD的过程和方法。这在学生毕业后面临的实际工作中是非常有用的一项技能。
4 教学效果分析及总结
实践教学是人才培养的重要环节,是实现人才知识、能力、素质协调发展的重要途径和手段。目前大学教育中存在的一个严重问题是学生学完知识不知有什么用或如何使用。
本文所提教学方法的主要目的是希望教学的同时,让学生充分认识到学习这门课程的实用价值,培养学生对此课程的兴趣。该教学方法的整体思路是通过RSS阅读器将XML相关知识组合在一起。通过对RSS阅读器实现技术的剖析,使学生体会各技术的实用价值和各技术的相互关系。特别是在讲课中处处以实例说明语法,验证其正误和效果,而不是单纯讲解空洞的语法知识。此类教学方法更容易调动学生学习的积极性。
类似的教学方法已实际应用于北京信息科技大学本科教学的实践之中,在授课的2个大二班级中取得一定效果。基于实例讲解语法,并通过对比较深对类似语法点不同内涵的理解,锻炼了学生举一反三的能力,实现了知识和能力的迁移。
但是全部以RSS阅读器内的实现技术为起点讲解各部分内容,有时起点太高,学生无法完全理解。例如3.3节的例2。这些部分需要先对其分解,由浅入深,引导学生逐步理解,最后达到能够灵活运用的程度。类似问题,需要教师对知识进行深入分析,并设计合理的分解步骤。这是今后需要不断完善的内容。
参考文献
[1] 丁跃潮,张涛等.XML实用教程[M].北京大学出版社.2006.
[2] 李秉德等主编.教学论[M].北京人民教育出版社.2005.