




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 分类号分类号 学校代码学校代码 10410 U U D D C C 学学 号号 学位论文学位论文 网络教学资源规范的实现技术研究网络教学资源规范的实现技术研究 ResearchResearch ofof realizationrealization technologytechnology ofof thethe networknetwork teachingteaching resources resources specificationsspecifications 丁书贵丁书贵 指导教师指导教师 张少平张少平 副教授副教授 计算机与信息工程学院计算机与信息工程学院 申请学位级别申请学位级别 专业名称专业名称 论文提交日期论文提交日期 论文答辩期论文答辩期 学位授予单位和日期学位授予单位和日期 年年 月月 日日 2 独独 创创 性性 声声 明明 本人声明 所呈交的学位论文 是在指导教师指导下 通过我的努力取得的成果 并且是自己撰写的 尽我所知 除了文中作了标注和致谢中已经作了答谢的地方外 论 文中不包含其他人发表或撰写过的研究成果 也不包含在江西农业大学或其它教育机构 获得学位或证书而使用过的材料 与我一同对本研究做出贡献的同志 都在论文中作了 明确的说明并表示了谢意 如被查有严重侵犯他人知识产权的行为 由本人承担应有的 责任 学位论文作者亲笔签名 日 期 论文使用授权的说明论文使用授权的说明 本人完全了解江西农业大学有关保留 使用学位论文的规定 即学校有权送交论文 的复印件 允许论文被查阅和借阅 学校可以公布论文的全部或部分内容 可以采用影 印 缩印或其他复制手段保存论文 保密 在 年后解密可适用本授权书 不保秘 本学位论文属于不保密 请在方框内打 学位论文作者亲笔签名 日 期 指导教师亲笔签名 日 期 3 摘摘 要要 内容摘要 内容摘要 随着教育信息化建设的不断推进 网络教育资源的共建共享问题 对于学习管理系统的互操作性乃至整个教育系统的实用性 经济性的意义日 益明显 由于从事网络教育资源建设和应用的实体五花八门 导致网络教育 资源低水平自治与共享的现象普遍存在 这严重阻碍了教育信息化的发展 为了实现网络教学资源的共建共享 国内外许多学术机构或组织都致力 于研究网络教育资源建设相关标准的制定和实施 各国也都制定了相应的远 程教育资源建设技术规范 以此来统一各个实体开发资源的行为 解决网络 教育资源的共建共享和互操作等问题 这些规范中都规定了网络教学资源的 元数据标准 但对于这些元数据标准的具体实现没有规定 因此 远程教育 的发展趋势是进一步完善教育资源建设技术规范 并对规范的具体的实现策 略和技术进行研究 该论文是以教育部颁布的 现代远程教育资源建设技术规范 以下简称 规范 为依据 对现有的网络教学资源信息进行调查 研究了它们使用的各 种数据格式 整理了较丰富的教学资源元数据 进一步斟酌网络教学资源元 数据的约束条件 并利用 XML 可扩展标记语言 的可扩展性 灵活性 自描 述性等特点 来定义网络教学资源信息标准 实现了 规范 中的元数据标 准 然后 使用 java 技术开发了基于该标准的网络教学软件的支撑工具 该 工具利用了当前流行的 xml 解析技术 JDOM 和 jsp 技术 从客户端获取教学资 源的编辑信息 并将编辑信息转化为 xml 文档 生成教学资源的数据表示 存储在服务器中 从服务器上获取教学资源 则进行相反的操作 该项目的研究成功可以加快教学资源信息化建设步伐 有效地解决教学 资源的共建和共享问题 可以降低教学成本 对普及和提高全民教育有很大 的意义 关键词 关键词 XMLXML 文档解析 元数据 文档解析 元数据 4 Abstract Content With the constantly advancing of education information technology in regard to the Interoperability of learning management system and the practicality and economy of the whole education system it is important increasingly to build a network of education resources sharing The entities to engage in the construction and application of network education resources are of all kinds which lead to low level of network educational resources sharing and autonomy generally which seriously hinder the development of education information In order to achieve the co construction and sharing of network education resources many domestic and foreign academic institutions or research organizations are committed to building the formulation and implementation of network education resources related standards Every country has also developed a corresponding technical specifications of distance education resource as a means of unification of the various entities to develop education resources and solution of network education resources sharing and co construction These specifications provide meta data standards of network education resources however these meta data standards do not provide the specific realization Therefore the development trend of distance education is to further improve education resources technical specifications and study specific strategy and technology of realization of specifications The paper is based on the specifications of construction and technology of modern distance education resources issued by the Ministry of Education investigate existing network education resources study a variety of data formats used by them and compile a wealth of education resources metadata Through further researching network education resources constraints information standards of network education resources are delimited by use of scalability flexibility self descriptive characteristics of XML Extensible Markup Language and meta data standards are achieved Next tools that support network teaching software and due to these standards are developed by use of java which take advantage of popular JDOM of XML Document Analysis and JSP When teaching resources edit information from client is acquired and it is conversed into XML document and stored in the database as data If data from database is gained so in contrast The success of the project would speed up the pace of information of education resources and effectively solve the problem to co construction and sharing of education resources and reduce the cost of teaching to popularize and improve education for all have great significance Key words XML Document Analysis Metadata 5 目目 录录 第一章第一章 绪论绪论 7 1 1 项目的研究意义 7 1 2 国内外研究现状和发展趋势 8 1 2 1 国外研究现状 8 1 2 2 国内研究现状 9 1 2 3 存在的问题 10 1 3 本文的主要研究内容与结构安排 10 第二章第二章 XML 语言及其应用语言及其应用 11 2 1 XML 技术介绍 11 2 1 1 SGML 和 HTML 11 2 1 2 XML 12 2 2 XML 的特点和优势 13 2 3 XML 文档的语法和结构 14 2 3 1 语法规则 14 2 3 2 语法 15 2 3 3 逻辑结构 17 2 3 4 物理结构 18 2 3 5 符合规格的 XML 文档和有效的 XML 文档 19 2 4 文档类型定义 DTD 和 XML SCHEMA 20 2 4 1 DTD 20 2 4 2 XML Schema 21 2 5 XML 的文档解析 23 2 5 1 DOM 24 2 5 2 SAX 26 2 5 3 JDOM 28 2 5 4 JAXP 30 2 6 本章小结 30 6 第三章第三章 网络教学资源标准化的探讨网络教学资源标准化的探讨 31 3 1 元数据简介 31 3 2 相关标准介绍 31 3 2 1 IMS 元数据模型 31 3 2 2 LOM 元数据模型 32 3 2 3 教育信息化技术标准 CELTS 元数据模型 32 3 3 元数据规范描述 32 3 3 1 教育资源规范 与 元数据规范 32 3 3 2 学习对象元数据规范模型的结构 33 3 4 常见教学资源类型的 XML 表述 34 3 4 1 元数据元素语义 35 3 4 2 约束元数据元素数据类型和数据值 36 3 4 3 教育资源的构成 38 3 4 4 基于 XML 的几种常见的资源类型的描述 40 3 5 本章小结 46 第四章第四章 教学资源编辑系统的实现教学资源编辑系统的实现 47 4 1 JAVA技术 47 4 1 1 java 简介 47 4 1 2 java 技术特点 47 4 2 JAVA与XML 48 4 2 1 jsp 技术 48 4 2 2 JDOM 技术 49 4 3 基于JAVA的媒体素材编辑软件的实现 50 4 3 1 系统结构设计 50 4 3 2 资源编辑软件的设计实现 52 4 4 本章小结 61 第五章第五章 总结和展望总结和展望 62 5 1 总结 62 5 2 展望 62 7 第一章第一章 绪论绪论 1 11 1 项目的研究意义项目的研究意义 随着计算机及互联网技术的应用和发展 基于 Web 的网络教育以其方便 快捷 资源丰富 交互性好等优点受到了人们的日益青睐 在国内外迅速发 展壮大起来 随着网络教育的发展 网络教育平台 网络教育资源和网络教 育支撑服务体系建设等方面都取得了较大的进展 各种形式基于网络的教育 资源相继涌现 如网络教学平台 专题资源网站等 为人们提供了比较丰富 的学习资源 在网络教育的教学系统中 如何对教学资源进行有效的管理 如何提高教 学资源的使用率 这些问题日渐显现了重要性 但是在如今的网络教学中 由于缺乏统一的标准和技术手段 不同的系统使用不同的文档格式 各开发 商独自开发资源系统 致使系统平台 数据库 数据结构 类型定义 资源 描述以及资源的最终形态存在着很大差异 造成了网络资源分散和不规范的 现状 无法实现资源的共享 在这种情况下 虽然有数量相当多的网络教学 资源 但是资源文件格式封闭 信息无法抽取 形成了资源内容难于共享和 重用的尴尬局面 同时资源发布后很难维护和修改 甚至无法进行 由于缺 乏对资源及其内容的描述 使得难以有效地检索资源及其内容 形成了网上 大量资源闲置却又不断重复开发的怪圈 造成资源的极大浪费 究其根本原 因是缺乏一个描述资源元数据及其内容结构的统一标准和有效手段 8 网络教育资源建设是教育信息化的重要基础 随着教育信息化建设的不 断推进 网络教育资源的共建共享问题对于网络学习管理系统的互操作 乃 至整个教育系统的实用性 经济性的意义日益明显 从事网络教育资源建设 和应用的实体五花八门 导致网络教育资源低水平自治与共享的现象普遍存 在 这严重阻碍教育信息化的发展 鉴于此 目前国内外许多学术机构或组 织都致力于研究网络教育资源建设相关标准的制定和实施 以此来统一各个 实体开发资源的行为 解决网络教育资源的共建共享和互操作等问题 例如 我国教育部于 2005 年 5 月颁布的 现代远程教育资源建设技术规范 试行 本项目依据教育部颁布的 现代远程教育资源建设技术规范 用 XML 模式来定义网络教学资源信息标准 并开发基于该标准的网络教学软件的支 撑工具 该项目的研究成功可以加快教学资源信息化建设步伐 有效地解决 教学资源的共建和共享问题 可以降低教学成本 对普及和提高全民教育有 很大的意义 1 21 2 国内外研究现状和发展趋势国内外研究现状和发展趋势 1 2 11 2 1 国外研究现状国外研究现状 关于网络教学资源的元数据规范 国外起步于 1997 年 一直处于研究之 中 并没有达到完善的程度 目前 世界上有很多标准化 学术 组织都正 在致力于基于网络的教育资源标准化的研究 如美国 日本和欧洲 都成立 了专门从事着网络教育信息标准化工作的组织 并起草了一些相应规范 其 中影响较大的有 IMS Instructional Management System 美国高等教育协会 下的一个项目组 的 Learning Resource Metadata 学习资源元数据规范 IEEE LTSC Learning Technology Standards Committee 学习技术标准委员会 的 LOM 3 Learning Object Metadata 学习对象元数据模型 OCLE Online Computer Library Center Dublin Core 的 Dublin Core 元数据标准 等等 IMS Instructional Management System 是美国高等教育协会的非盈 利机构 EDUCOM 现在为 EDUCAUSE 下的一个项目组 在 1997 年 它们开始 致力于研究关于联机学习 online learning 的开放的基于市场的标准 该 9 标准包括学习内容的元数据规范 同样是在 1997 年 NIST National Institute for Standards and Technology 的一个工作小组和 IEEE P 1484 小组 现在为 IEEE Learning Technology Standards Committee LTSC 也开始了类似的工作 后来 NIST 的工作小组并入 IMS 此后 IMS 开始与欧洲的 ARIADNE 联合组合作 共同致力 于学习资源的元数据规范的定义 1998 年 IMS 和 ARIADNE 向联合 IEEE 提交了关于教育资源的元数据规范 和建议 这个建议就是目前的 IEEE 的学习对象模型 Learning Object Metadata LOM 的基本原型 它是 IEEE LOM 规范的前身 1999 年 IMS 通 过它在美国 英国 欧洲 澳大利亚和新加坡的组织 发布了 IEEE 的 LOM 规 范的草稿 并收集了大量的反馈信息 这些反馈信息很多将反映在未来的正 式规范之中 由于这些规范和标准都正在制订之中 并没有形成正式的标准发布 其 中相对完备的是 IEEE 的 LOM 模型 它规定了在 WEB 页面中呈献学习资源 时 所应提供的一些基本元素 但并没有规定这些元数据的实现 如它们的 体系结构 编辑语言 数据存取方法等 1 2 21 2 2 国内研究现状国内研究现状 教育部对网络教育技术标准化建设工作极为重视 2000 年 11 月 组织 国内 8 所重点高校的有关专家开展网络教育技术标准的研制工作 并成立了 教育部教育信息化技术标准委员会 简称 CELTSC Chinese e Learning Technology Standardization Committee 该委员会同时也是国家信息技术标 准化技术委员会的专业分委员会以及国际标准组织 ISO JTC1 SC36 和 IEEE LTCS 的团体会员 该委员会以研究 制订 推广与教育信息化相关的技术 标准为使命 委员会的专家们经过一年的努力工作 提出了一个比较完整的 中国现代远程教育技术标准体系结构 制定了 远程教育资源建设技术规范 国家基础教育资源网 是 九五 期间 面向 21 世纪教育振兴行动计划 确定的 教育信息化工程 基础教育资源建设项目 的重要内容之一 于 2003 年 5 月 5 日开通 是专为我国广大中小学教师和 10 学生提供丰富的教育教学资源信息和网络化学习的平台类门户网站 国家基 础教育资源网资源库的建设参照了教育部颁发的相关国家课程标准和 基础 教育资源元数据应用规范 采用了中基教育软件有限责任公司开发的中基 教育资源管理系统 该系统包括两个工具 中基教育资源编目工具和中基教 育资源管理工具 和一个 B S 结构的系统 由于中基教育资源管理系统参照 了基础教育资源元数据应用规范 充分实现了优秀教育教学资源的共享 高等教育出版社在 2004 年 3 月份启动 课程整体解决方案 项目工程 主要工作包括 高等教育出版社立体化教材出版规范 的研制 4A 网络教学 支撑平台的改版和高等教育出版社资源中心的建设 目前 4A 网络教学支撑平 台和高等教育出版社资源中心支持 高等教育出版社立体化教材出版规范 中关于网络教育资源的规范 1 2 31 2 3 存在的问题存在的问题 根据以上对网络教育资源的国内外现状分析 为了实现网络教学资源的 共建共享 各国都制定了相应的远程教育资源建设技术规范 这些规范中都 规定了网络教学资源的元数据标准 但对于这些元数据标准的具体实现没有 规定 因此 未来的发展趋势是进一步完善远程教育资源建设技术规范 并 对规范的具体的实现策略和技术进行研究 1 31 3 本文的主要研究内容与结构安排本文的主要研究内容与结构安排 本文旨在研究网络教学资源信息的数据格式 针对不同资源信息 整理 出它们的元数据和约束条件 构建结构化树形数据 并依据国家颁布的 现 代远程教育资源建设技术规范 利用XML文档结构对教学资源元数据进行结 构化表示 形成简单易懂的数据文档 设计实现网络教学资源的编辑软件 该软件将使资源信息直接转化为XML文档 利于保存到数据库中 以XML结 构存储的数据还能被转换为客户端显示的信息 通过该项目的实现 教学信息将可在异构的网络平台间共享 有利于网 络教育的普及 使人们方便得完成学习的目的 本文的结构安排如下 第一章 绪论 本章主要介绍了该项目的研究背景 意义及要实现的目标 11 第二章 XML语言及其应用 本章主要阐述了XML语言的产生背景 特 点和优势 重点介绍了XML的相关技术和应用 第三章 网络教学资源标准化的探讨 本章主要研究了国内和国际的主要 教育资源的描述规范 重点展示了我国颁布的 现代远程教学资 源建设技术规范 中对资源信息的元数据描述 使用XML的相关 技术规范性描述了其结构 第四章 教学资源编辑系统 本章主要介绍了使用Java相关技术 实现了 教学信息向XML文档的转换和反转换 第五章 总结和展望 本章总结了该论文的主要内容 并对有待解决的问 题进行了描述 第二章第二章 XML 语言及其应用语言及其应用 如今 网络教育正高速发展着 由于缺乏统一的标准和技术手段 造成 不同的网络教育系统使用不同的系统平台 采用不同的文档格式 开发各种 不同种类的教学资源 这造成各个网络教育系统之间无法进行交流 共享教 学资源 纵观现有的基于 WWW 的网络教学系统 大部分的教学信息都是以 HTML 页面形式存在的 HTML 页面把内容和表现形式融和在一起 不能轻 易把有用信息提取出来使用 极大限制了教学资源信息的共享 我们需要一 种与平台无关 与应用程序无关的标准化资源信息格式 来统一描述网络教 育中种类繁多的教学资源 可行的方案便是使用统一的资源信息格式标准 而可扩展标记语言 XML Extensible Markup Language 无疑具有良好的语义 和清晰的结构 完全可以担当起定义标准化资源信息格式的重任 2 12 1 XMLXML 技术介绍技术介绍 2 1 12 1 1 SGMLSGML 和和 HTMLHTML SGML Standard Generalized Markup Language 是由 IBM 开发的一种用于 排版的符号化语言 经过若干年的发展 国际标准化协会 ISO 于 1986 年 12 正式承认 SGML 为国际标准规范 ISO8879 SGML 实际上是一种通用的文档结构描述符号化语言 主要用来定义文 献模型的逻辑和物理类结构 一个 SGML 语言文件由三部分组成 即语法定 义 文件类型定义 DTD Definition Type Document 和文件实例 在实际使 用中 每一个特定的 DTD 都定义了一类文件 因此 人们习惯上把具有某一 特定 DTD 的 SGML 语言 称为某某符号化语言 14 HTML Hypertext Markup Language 为 W3C 组织为专门在互联网上发 布信息而设计的符号化语言规范 是 SGML 的一个实例 HTML 语言发展很快 在短短的几年里 它已历经了 HTML1 0 HTML2 0 和 HTML3 0 HTML4 0 等多个版本 同时 DHTML 动态 VHTML 虚拟 SHTML 等也飞速发展起来 HTML 以简单精练的语法 极易掌握的通用性与 易学性 使得每一个普通人可以很容易接触到 web 网络 因此互联网得以普 及发展 以至于成了普通大众生活中不可缺的部分 随着网络应用的迅速普及 HTML 存在的不足也日益凸现出来 主要表 现在 1 缺乏可扩展性 HTML 一个最显著的特点就是其固定的标记集合 由于 HTML 不允许用户定义适合于自己领域的特殊标记 这就限制了用户对 数据语义的准确描述 2 显示样式的标记无法表现数据的结构 在 HTML 中 各种标记之 间包含着显示的数据信息 但是这些标记的作用在于说明如何将内容显示出 来 显示出来后的格式是什么样的 而并不关心所描述的数据内容的结构性 HTML 本质上是一种格式显示语言 这决定了它不适合对信息进行结构化的 描述 2 1 22 1 2 XMLXML XML eXtensible Markup Language 可扩展标记语言 是由 W3C World Wide Web Consortium 互联网联合组织 于 1998 年 2 月发布的 一种标准 是 SGML 的一个简化子集 3 它将 SGML 的丰富功能与 HTML 的易用性结合到了 Web 的应用中 以一种开放的自我描述方式定义了数据结 构 在描述数据内容时 又突出对结构的描述 从而体现出数据之间的关系 13 这样所组织的数据对于应用程序和用户都是友好的 可操作的 脱胎于 SGML 的 XML 对 SGML 和 HTML 的改造是简单的 它继承了 SGML 的高度概括和 HTML 的易懂易读 使之自然平滑地过渡 为浏览器的 升级创造了很好的技术接口 同时 这种改造的影响是可观的 XML 将 Web 信息的组织结构彻底改变 XML 已经不满足于 HTML 的 所见即所得 它 通过上下文的数据关联 规范化的数据格式和灵活的自定义 使 Web 具备了 表达网页中的元素究竟 是 什么的能力 这种能力对于人脑来说也许仅仅 需要瞬间逻辑的判断 但对于尚处于非智能化阶段的 PC 来说 无疑是一次 学习的革命 4 2 22 2 XMLXML 的特点和优势的特点和优势 XML 实际上是 Web 上表示结构化信息的一种标准文本格式 它没有复 杂的语法和包罗万象的数据定义 XML 的特点可以归纳为三点 可扩展性 灵活性 自描述性 XML 继承了 SGML 的许多特性 首先是可扩展性 XML 允许使用者创 建和使用他们自己的标记而不是 HTML 的有限词汇表 这一点至关重要 企 业可以用 XML 为电子商务和供应链集成等应用定义自己的标记语言 甚至特 定行业一起来定义该领域的特殊标记语言 作为该领域信息共享与数据交换 的基础 其次是灵活性 HTML 很难进一步发展 就是因为它是格式 超文本和 图形用户界面语义的混合 要同时发展这些混合在一起的功能是很困难的 而 XML 提供了一种结构化的数据表示方式 使得用户界面分离于结构化数据 所以 Web 用户所追求的许多先进功能在 XML 环境下更容易实现 第三是自描述性 XML 文档通常包含一个文档类型声明 因而 XML 文 档是自描述的 不仅人能读懂 XML 文档 计算机也能处理 XML 表示数据 的方式真正做到了独立于应用系统 并且数据能够重用 XML 文档被看作是 文档的数据库化和数据的文档化 19 除了上述先进特性以外 XML 还具有简明性 它只有 SGML 约 20 的 复杂性 但却具有 SGML 功能的约 80 XML 比完整的 SGML 简单得多 易学 易用并且易实现 另外 XML 也吸收了人们多年来在 web 上使用 14 HTML 的经验 XML 支持世界上几乎所有的主要语言 并且不同语言的文本 可以在同一文档中混合使用 应用 XML 的软件能处理这些语言的任何组合 所有这一切将使 XML 成为数据表示的一个开放标准 这种数据表示独立于机 器平台 供应商以及编程语言 XML 语言具备以上这些特点 使其用于网络教学资源的描述和管理方面 有着得天独厚的优势 1 资源信息的标准化 XML 具有良好的语义和清晰的结构 可以根据具体情况自定义所需的标 记 XML 又是 Internet 上不同系统 不同平台上进行数据交换的理想格式 所以可以用来定义标准化的资源信息格式 2 资源形式的个性化 XML 实现了形式与内容的分离 数据从最原始形式就与其最终表达分离 开来 XML 文档重在描述数据及其之间的关系 使用可扩展样式表 XSL 和 级联样式表 CSS 来表现其形式 使同一数据可以根据实际情况具有多种表现 形式 真正实现资源的的个性化发布 3 资源信息的组织 教学资源内容的树状层次结构数据表示与 XML 层次和结构化文档组织正 好相符合 各知识点之间的顺序并不是一成不变 必须根据实际情况来动态 组织 可以使用 XML 语言来描述复杂的资源组织结构 4 资源信息的开放性 用标准化格式表示的教学资源可以突破以前教学信息单一 教学单位各 自为政的局面 在 Internet 上可以利用教学搜索引擎或搜索代理找到需要的资 源信息 基于 XML 的信息传输为教学资源信息的开放性提供基础 并达到资 源共享和重用的目的 由于 XML 语言的上述特点 我们可以使用 XML 语言描述网络教学资源 来实现教学资源的标准化 并在此基础上管理教学资源以促进教学资源的充 分利用 2 32 3 XMLXML 文档结构文档结构 什么是 XML 文档 从严格意义上说 XML 是 SGML 针对特定应用领域 15 的子集 XML 应该是 SGML 的一种特定的受限形式 因此 XML 文档也应该 合乎 SGML 文档的规范 5 2 3 12 3 1 逻辑结构逻辑结构 一个 XML 文档包括四部分 XML 声明 处理指示 XML 元素和注释 其中有一些对象是可选的 下面是一个完整的 XML 文档 xml version 1 0 encoding gb2312 authors author id 1111 name jacky name sex male sex tel 5555555 tel author author id 2222 name rose name sex female sex tel 6666666 tel author authors 这是一个典型的 XML 文件 编辑好后保存为以 XML 为后缀的文件 一 般来说 可以将此文件分为序言和主体两个大的部分 在此文件中的第一行 即是文件的序言 该行是 XML 文件必须要声明的东西 而且也必须位于 XML 文件的第一行 它主要是告诉 XML 解析器如何工作 文件的剩余部分 都属于文件的主体 存放着 XML 文件的内容信息 文件的主体是由开始的 authors 和结束的 authors 控制标记组成 称为 XML 文件的 根元素 16 author 是作为直属于根元素下的 子元素 在 authors 下又有 name sex tel 这些子元素 Id 是 author 元素中的一个 属性 1111 则是 属性值 从上面的例子可以看出 在每个 XML 文档的片段中都用结构化的方式来 表示 Authors AuthorAuthor NameSexTelNameSexTel 图 2 1 XML 文档元素树 比如有些元素之间是相互嵌套的 而有些元素是并列的兄弟节点 或者有的 树型从属于某个元素 这样的逻辑关系构成了 XML 文档的逻辑结构 图 2 1 给出了上述 XML 文档对应的文档元素树结构图 2 3 22 3 2 物理结构物理结构 从物理结构上讲 XML 文档是由一个或多个存储单元构成的 这些存储 单元就是所谓的实体 XML 的文档就是通过引用定义的实体或者在实体中引 用其它的实体来组成的 实体的定义是指可以收集并存储与之有关的某种对象 在 XML1 0 中 实体的概念也是如此 不过它的目的是用来表达和存储用于 XML 文档中的数 据对象 每个 XMLL 文档都有一个根元素 如果从物理结构的角度看 则可 以称为 根实体 或者称作 文档实体 需要特别注意的是 根实体 是 由 XML 本身规定的 无须显式定义就可以使用 它对应了整个 XML 文档的 内容 根实体 也将是 XML 解析程序处理的起点 除此之外 可能还需要 用到其它一些实体 这些实体都用名称来标识 在 DTD 或 Schema 中定义 简单的说 实体充当和别名类似的角色 往往一个简单的实体引用可以 用来代表一大段文本内容 象任何计算机别名系统一样 实体引用简化了录 入工作 因为每当要使用同样一大段文本时 只需使用它的别名就可以了 17 而遵循 XML1 0 标准的外部处理程序会自动把该别名替换为相应的文本 2 3 32 3 3 符合规格的符合规格的 XMLXML 文档和有效的文档和有效的 XMLXML 文档文档 在 XML 中 符合规格和有效 有着明确的标准 即是要遵守 XML1 0 规范中的语法规则 无论从逻辑结构还是物理结构上讲 XML 必须符合规范 才能被正确的解释处理 1 符合规格的 XML 文档 在 html 中 有上百个不同的标记 而在 XML 中 几乎没有预先定义任 何标记 取而代之的是 XML 允许定义自己所需要的标记 但是 这些定义的 标记及包含这些标记的文件并不是完全没有限制的 它们还是必须遵守一些 特定的规则 有而且只有一个根元素 所有元素构成一个层次树 结束标记匹配相应的起始标记 元素正确嵌套 标记不重叠 元素定义不重复 对于多个相同名称的属性实例 属性有唯一的名称 并且被正确的包括在某一个元素中 凡是遵循这些规则的文件 称之为符合规格的 XML 文档 使文档符合标 准规格 是让文档能被 XML 解析器和浏览器读取的最基本的要求 一份文档 若是不符合标准规格 XML 解析器将无法读取该文件 事实上 XML 规格 严格的限制了 XML 解析器去修正或解读那些不正常的文件 2 有效的 XML 文档 一个有效的 XML 文档必须严格遵守 XML 所有的规范 也必须遵守 XML 规范书中对有效文件所规定的所有限制 7 所以 XML 解析器必须了解 XML 规格书中的有效性限制 并检查文件中任何可能违反限制的情况 若是 发现错误 必须将错误信息传送给前端的应用程序 除此之外 XML 解析器 必须根据 DTD 或 XML Schema 中所规定的规则检查 XML 文件的有效性 这 样的检查与处理需花上许多时间 而且也不一定是必须的 所以 XML 只会支 持符合规格文件的概念 18 2 42 4 文档类型定义文档类型定义 DTDDTD 和和 XMLXML SchemaSchema 2 4 12 4 1 DTDDTD 上节中提到结构良好的 XML 文档遵守 XML 语法的一般规则 这些规则 比 HTML 和 SGML 的规则更为严格 而有效的 XML 文档除了遵守 XML 语 法规则外 还必须遵守某个特定的 DTD 或 Schema 文件 文档类型定义 DTD 是一套关于标记符的语法规则 DTD 定义在 XML 文 档中出现的元素 还有这些元素出现的次序 它们可以如何相互嵌套以及 XML 文档结构的其他详细信息 DTD 是最初的 XML 规范的一部分 与 SGML DTD 非常相似 它可以是 XML 文档的一部分 但是它通常是一份单 独的文档或者一系列文档 XML 本身并没有一个通用的 DTD 使用 XML 文 档时可以定义自己的 DTD 文件 DTD 文件包含 DTD 声明和文档类型声明两个部分 文档类型声明出现 在 XML 文档中 紧跟在 XML 声明之后 将 XML 文档与 DTD 关联起来 DTD 声明包括 1 元素类型声明 定义元素的名称和元素可能的内容 2 属性列表声明 定义元素是否可以包括属性 属性的名称 类型 及其默认值 可供定义的属性类型有 CDATA Enumerated NMTOKEN NMTOKENS ID IDREF IDREFS ENTITY ENTITIES 和 NOTATION 3 实体声明 类似于常见的常量的定义 用于为内容片段命名 以 便在 XML 文档及 DTD 中使用它们 4 记号声明 记号用于描述非 XML 格式的数据 该声明将被传递给 XML 文档处理程序 以便处理程序决定如何处理这些数据 下面是定义 Information xml 文件结构的 DTD 文件 Information dtd 19 该 DTD 文件定义了 Information xml 文件中的所有元素 它定义了一个根 元素元素 该元素包括 和 五个子元素 子元素括号里的 PCDATA 代表已解析字符数据 所 以这五个子元素不能再包含子元素 并且这五个子元素要按照 Information dtd 中定义的顺序出现 尽管 DTD 很简单 但它清楚地说明了什么样的元素组合 是合乎规则的 但是 DTD 语法不同于普通的 XML 语法 这是它的一大缺陷 2 4 22 4 2 XMLXML SchemaSchema 虽然 DTD 的功能很多 但它也有缺陷 比如它本身不是用 XML 语言写 的 它的语法不同于普通的 XML 语法 并且它不支持名称空间 DTD 提供 的数据类型也非常有限 它不能表达元素中字符数据的数据类型 DTD 的这 些缺点促使了 XML Schema 的产生 XML Schema 是定义 XML 的数据定义文 件 以 xsd 作为文件的扩展名 Schema 这个术语最早是被微软使用的 现已成为 W3C 定义的 Schema 的 原型 XML Schema 本身就是一个 XML 文档 所不同的是 XML Schema 文 档描述的是引用它的 XML 文档的元素和属性的具体类型 XML Schema 提供 了许多新的特色 丰富的数据类型 包括布尔型 数字 日期时间 浮点型 等 而且还支持由这些简单类型生成的复杂类型 用户可定义自己的数据类 型 名称空间的支持 这样一个 XML 文档可以有多个 XML Schema 与其对 应 而一个 XML 文档只能与一个 DTD 相对应 使用 XML Schema 比使用 DTD 文件有更多的能力来定义什么样的 XML 文档是有效的 与 DTD 相比 XML Schema 有下列几大优势 XML Schema 是一种内容 开放 的模型 可扩展 功能强 而 DTD 是内容 封闭 的模型 可扩展性差 XML Schema 支持丰富的数据类型 完全能够满足网络应用特别是电 子商务的需求 而 DTD 不支持元素的数据类型 对于属性的类型定 20 义也很有限 XML Schema 支持名称空间机制 而 DTD 不支持 XML Schema 可以针对不同情况分别对整个 XML 文档或者是文档局 部进行验证 而 DTD 缺乏这种灵活性 XML Schema 的语法完全遵循 XML 规范 可以和 DOM 技术结合使 用 功能强大 而 DTD 语法自成一体 不太容易学习 所以 XML Schema 很有可能取代 DTD 成为验证 XML 文档合法性的新标准 下面是定义 Information xml 文件结构的 XML Schema 文件 Information xsd 21 虽然 DTD 已经获得了广泛的工具支持 例如所有的 SGML 很多文件形 式 许多 XML 工具都支持 DTD 但是 XML Schema 代替 DTD 仍是不可避免 的发展趋势 2 52 5 XMLXML 的文档解析的文档解析 为了避免分析原始 XML 文档的困难 几乎所有处理 XML 文档的程序都 利用 XML 分析器来读取文档 分析器是一个软件库 在 Java 中是类 读取 XML 文档并检查其形式合理性 并通过调用分析器 API 中定义的方法从 XML 文档中获得所需要的信息 目前市面上有很多种 XML 分析器 许多 Java XML 分析器都是免费 开 放源码的 包括 Apache XMLProject 的 Xerces Sun 公司的 Crimson Enhydra 的 kXML GNU Classpath Extensions Project 的 Elfred 和 Yuval Oren 的 Piccolo 大多数 XML 分析器实现一个或几个标准 API 如 DOM SAX 等 2 5 12 5 1 DOMDOM 文档对象模型 DOM Document Object Model 是公认的 W3C 标准 它 被用于与平台及语言无关的 XML 文档内容 结构和样式的动态访问和更新 它用接口定义语言 IDL Interface Definition Language 定义 为表示文档定 义了一套标准的接口集 也为访问和操纵文档定义了一套标准的方法 DOM 规范被设计成可与任何编程语言一起使用 因此 DOM 尝试使用在所有语言 中都可用的一组通用的 核心的功能部件 DOM 是一个抽象数据结构 它将 XML 文档表示为由节点构成的树 DOM 对 XML 文档的基于树的处理具有下列二大优点 1 首先 由于树在内存中是持久的 因此可以修改它以便应用程序能对 数据和结构做出更改 它还可以在任何时候在树中上下导航 而不是像 SAX 那样是一次性的处理 所以 DOM 方便用户进行随机访问 使用起来也要方 便得多 2 其次 对于特别大的文档 解析和加载整个文档可能很慢且耗资源 因此使用树状模型来处理这样的数据比基于事件的模型比如 SAX 处理的要好 22 的多 DOM 的框架轮廓如图 2 2 所示 图 2 2 DOM 的框架轮廓 XML DATA 包括 XML 文档以及验证 XML Schema 文件 Document Builder Factory 分析器提供了一个 API 接口 Document Builder 来处理 XML 文 档 XML DATA 经过 Document Builder 的处理生成一棵 DOM 树 树的根是 Document 对象 表示一个完整形式的合理的 XML 文档 DOM 分析器从输入 流中读取 XML 文档并建立这个 XML 文档的 DOM 树 客户应用程序调用树 根 Document 和其他 DOM 接口的方法 在树中导航并取得 XML 文档信息 程序还可以更改树的结构 增加 删除 移动和改变节点 并且可以从头生 成全新的 XML 文档 然后再将这些新文档写入 XML 文件中 图 2 3 显示了一个 XML 文档经过 DOM 解析后产生的 DOM 树的树形结 构 DOM 树中包含 Document Element Text 和 Attr 等 DOM 结点 Document 结点是树根 树根下包括 Paragraph1 和 Paragraph2 两个 Element 结 点 Element 结点是元素结点 Element 结点 Paragraph1 下包含一个 Text 结点 和 Element 结点 Sentence1 Element 结点 Sentence1 包含一个 Attr 结点和一个 Text 结点 Element 元素 Paragraph2 包含一个 Attr 结点和一个 Text 结点 Text 结点和 Attr 结点分别代表文本结点和属性结点 不能再包括子结点 虽然 DOM 接口可由任意语言实现 但是由于使用 DOM 解析器的时候需 要处理整个 X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃庆阳西峰数字服务就业中心招聘100人考前自测高频考点模拟试题及答案详解一套
- 2025北京邮电大学人工智能学院招聘1人(人才派遣)考前自测高频考点模拟试题及一套完整答案详解
- 公司租赁经营用房合同5篇
- 2024-2025学年河北省霸州市小学数学一年级期末通关提分题详细答案和解析
- 泗阳保安考试题库及答案
- 筑安全考试题库及答案
- 房产知识考试题库及答案
- 安全意识考试题库及答案
- 农业科技服务与项目承包合同
- 职教高考机械理论考试题及答案
- 狗猫鼠全文赏析课件
- 国有企业外部董事个人履职报告
- 船舶拆解资金管理办法
- 2025至2030年中国包月视频点播行业市场竞争格局分析及投资方向研究报告
- 皮带机安全知识培训
- 增值税发票培训知识课件
- 2025年对酒驾醉驾问题谈心谈话记录内容范文
- 【《以儿歌为载体的小班幼儿生活自理能力提升路径分析》11000字】
- 2025年《3~6岁儿童学习与发展指南》试题(+答案)
- 零星维修工程施工组织设计方案方案
- 2025年秋招:中国银行笔试题库及答案
评论
0/150
提交评论