回顾XML的基础知识.ppt_第1页
回顾XML的基础知识.ppt_第2页
回顾XML的基础知识.ppt_第3页
回顾XML的基础知识.ppt_第4页
回顾XML的基础知识.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章回顾XML的基础知识 XML概述XML的主要特性XML的其他应用构造良好的XML文档合法性检验如何将XML文档转换为HTML文档XMLPath语言 名词解释 W3C WorldWideWebConsortiumW3C协会 同盟 SGML StandardGeneralizedMarkedLanguage标准通用标记语言XML eXtensibleMarkedLanguage可扩展标记语言XSL eXtensibleStyleLanguage可扩展格式语言XSD XMLSchemaDefinitionXML模式定义XSLT ExtensibleStylesheetLanguageTransformation可扩展样式表语言转换 XML概述 XML的产生XML与HTML一样都是SGML的子集 由于SGML十分庞大 既不容易学 又不容易使用 在计算机上实现也十分困难 所以W3C使用精简的SGML版本 XMLXML的功能XML是一套定义语义标记的规则 标记将文档分成许多部件并对这些部件加以标识 使用起来非常方便 XML提供了一个直接处理Web数据的通用方法 描述的是Web页面的内容 XML的十个目标 XML应该与SGML相兼容处理XML文档的程序应该容易编写在XML中 要求可供选择的特性数量保持绝对的少 更理想一点一个也没有XML文档应当是可读性强和条理清晰的XML设计的准备工作应该能迅速完成的 XML的十个目标 XML的设计应当是正规并且简洁的XML文档应该容易创建在XML的结构中 简洁 精练应该是无足轻重的在Internet上XML应该是直接可以使用的XML应该支持各种各样的应用 XML文档的开发工具 编辑器XML文档在大多数情况下都是用编辑器创建的 编辑器可以是基本的文本编辑器如NotePad 也可以是WYSIWYG的编辑器如XMLSpy 语法分析程序和处理程序XML的语法分析程序 即XML的处理程序 读取文档并检查其中包括的XML是否是结构完整的 还要确定文档是否合法 如果文档通过了测试 则处理程序就将文档转换为元素的树状结构 如XMLSpy就可以进行语法分析 XML文档的开发工具 浏览器和其他工具语法分析程序将树状结构或是树的节点传送给用户端应用程序 这个应用程序可以是浏览器如InternetExplorer 或是其他能够理解如何处理数据的程序 如果这个应用程序是浏览器的话 数据就显示给用户 其他程序也可以接受数据 如可将数据翻译成数据库的输入 一系列要演奏的乐谱或是要运行的Java程序 总之 XML是非常灵活的 可以用于许多不同的目的 处理过程总结 由编辑器创建XML文档语法分析程序将树状结构传送给浏览器 由浏览器显示出来所有这些部分都是独立的 互相分离的 将这些部分联系在一起的是XML文档 改变编辑程序与终端应用程序无关 事实上 在编写文档时可能不知道最终的应用程序是什么 可能是最终用户来阅读文档 也可能是数据库从中提取数据 甚至还可能是其他的未知的程序 即文档与读取它的程序无关 XML工具 很多公司开发的软件都支持XML 如XMLSpy Macromedia公司的DreamweaverUltraDev4就可以用来书写XML文档 Microsoft公司的InternetExplorer5 0已经可以显示 处理和编辑XML文档 Netscape Sun公司纷纷表示要在他们的Web工具中支持MXL XML的特性 结构化 必须是结构化的 自描述可扩展浏览器自适应 结构化 XML描述的是文档的结构和意义 不描述页面元素的格式化 可用样式单为文档增加格式化信息 文档本身只说明文档包括什么标记 不说明文档看起来是什么样的 XML是一种标准化的语言规范 XML文件利用了一个DTD规范 DTD规范是一个用来定义XML文件的语法 句法和数据结构的标准 DTD还可以定义在使用每一个所声明的元素时是必需的 可选的还是有条件的 以及可允许的属性值的范围是否有所限制 是否有一个默认值 或者是否允许有空标记等 结构化 XML定义严格的数据结构对编写Web页的人的好处使各种格式的XML文件都可以被机器所识别允许机器能够识别各种格式的XML页面就可以让不同的站点之间自动共享不同格式的数据 使用DTD 用户甚至可以通过一个共同的描述连接不同格式的数据 自描述 XML的第二个特性是允许有自描述信息 尽管并不要求XML文件是自描述的 但带有自描述可以增强Web检索功能 描述称为 元数据 metedata XML是一种元标记语言 用户可以定义自己需要的标记 这些标记必须根据某些通用的原理来创建 在标记的意义上 也具有相当的灵活性 自描述 新创建的标记可在DTD中加以描述 浏览器不必事先了解多种不同的标记语言使用的每个标记 事实上 浏览器在读入文档和它的DTD时才了解了给定文档使用的标记 关于如何显示这些标记的内容的详细指令是附加在文档在上的另外的样式单提供的 可扩展性 可扩展即可定制的能力XML能够创建新的标记 在XML中 标记是由DTD定义的 正是它来定义在一个文件的结构中允许有什么样的应用 如风格条 浏览器 检索数据库 打印引擎等 浏览器自适应 如果一个XML文档是结构化的 那么这样的一个文件应该能够适应各种不同的浏览模式 XML的结构允许将Web页面分割成若干部分 以便可以将它们分别发送给任何一种网络附加设备 如PDA 移动电话 家用电器等 XML提供的软件功能还能够对用户输入的数据进行动态地计算和显示 XML的其他应用 电子数据交换EDI ElectronicDataInterchange 化学标记语言CML和数学标记语言MathML开放式软件描述格式OSD OpenSoftwareDescription 通道定义格式CDF ChannelDefinitionFormat 开放式财务交换OFX OpenFinancialExchange Well Formed的XML文档 XML标准中明确规定了XML文件应该遵守的规则 分成基本规则和DTD规定的XML文件结构规则 在不考虑DTD的情况下 符合了下述规则 文档即为构造良好的XML文档 浏览器就可以正常显示 否则浏览器不能正常显示 一份构造良好的XML文档中的所有元素和字符数据必须遵守下列规则 XML文件基本规则 文档的开始必须是XML声明含有数据的元素必须有起始标记和结束标记不含数据并且仅使用一个标记的元素必须以 结束文档只能包含一个能够包含全部其他元素的元素 根元素元素只能嵌套不能重叠属性值必须加上引号字符 和 只能用于起始标记和实体引用出现的实体引用只有 amp lt gt apos quot属性名的第一个字母必须以字母或下划线开头在同一个开始标记里 一个特殊的属性名仅仅只能出现一次 合法性检验 一份只要是Well Formed的XML文档 浏览器就可以显示出来 如果其中包含了自定义的标记 这些元标记会直接显示在浏览器 如果XML文档与DTD或模式中的规则不一致 那么这样的XML文档就不是有效的文档 模式和DTD是两个不同的说明XML文档规则的途径 DTD有以下缺点 DTD本身不是一个XML文档 DTD中用来定义属性内容或元素内容的可用元素非常有限 由W3C提出的XSD规范在ADO NET中实现了 VS NET支持XSD规范 XSD 模式仅仅是预定义规范集中的一个子集 这个预定义规范集描述了一个XML文档的内容 在XSD模式中 可以定义XML文档的结构 文档的数据 元素的数据类型以及相关的属性 最重要的是定义元素之间的父子关系 XML模式数据类型 当一个XML文件充当数据库并且XSL和Xpath语言充当SQL的时候 需要在一处声明XML文件的内容以及数据类型 正如其他的数据库一样 无论是SQLServer还是Oracle 所有各列定义的都是具体的数据类型 所以在XML模式里也需要有数据类型的需求 XML模式数据类型 原始的 原始数据类型不是从其他数据类型派生出来的 派生的 是以其他数据类型为基础的类型 如整型数据类型就是由十进制数据类型派生出来的为XML模式而定义的数据类型不一定和为其他规范或数据库定义的数据类型一样 同样 用户为XML模式自定义的数据类型也不适用其他的资源 表3 1列出了各种XML模式能够利用的各种数据类型 如何将XML文档转换为HTML文档 在HTML中我们已经讲过CSS CSS样式表只能显示元素内容 而不能显示元素的属性 CSS显示给用户的任何数据都是元素内容的一部分 而不是它的属性 若要能够访问并显示属性数据 就必须使用样式单语言 XSL eXtensibleStyleLanguage XSL分为两部分 替换部分和格式化部分 XSL样式表语言组成 替换部分能够将一个标记替换为另一个标记 通过定义替换规则 使用标准的HTML标记代替XML标记或者使用HTML标记与CSS属性来替换XML标记 同时还可以在文档中重新安排元素和在XML文档中添加没有出现过的附加内容 格式化部分 XSL样式表语言组成 格式化部分把功能强大的文档视图定义为页面 XSL格式化功能能够指定页面的外观和编排 包括多个专栏 围绕主题的字数 行间距 相配的字体属性等 它的功能非常强大 足以为网络打印并自动处理来自于相同源文档的编排任务 XSL的基本知识 XSL包含了一套元素集的XML语法规范和定义 该语法规范被用来把XML文件转换成HTML文件或XML文档 一个XSL样式表集合了一系列设计规则以用于将信息从XML文件中汲取出来 并将其转换成HTML等其他格式 这种转换将采用一种公开的方式 使其更加容易地被程序员描述 而且XSL还将提供多种脚本语言的通道以满足更为复杂的应用需求 XSL的基本知识 在显示XML方面 XSL样式表比CSS功能更强大 XSL样式表提供了完整的输出控制权 XSL允许用户精确地挑选想显示的XML数据 利用各种顺序和协议来显示这些资料 并且可以自由地修改或新增信息 XSL提供用户对所有XML组件 如元素 属性 批注和处理指令 的控制权 构成元素的权力 让用户轻而易举地排序和筛选XML中的数据 从而具有轻松地区分与过滤XML数据 XSL的特点 XSL样式表的基本形态会选择性地将XML文件转换成HTML格式 让浏览器处理并显示其内容 XSL样式表具有提供用户运用HTML的完整格式安排与丰富功能特性的能力XSL本身也提供了数据存取和转换的能力XSL指令能够提取存储于XML文档中的任何数据 包括元素内容 元素名称和对示例很重要的元素属性 接下页 XSL的特点 特定的元素由一种模式选定 该模式会考虑元素的名称和值 元素的属性名和值以及在XML文档树状结构中的绝对和相对位置等 数据一经从一个元素中取出 就可以移动 复制和进行其他多种处理 XSL与CSS一样是用于设定XML文件的外观的 并不影响XML源代码 只不过XSL采用的是转换的方式 将转换后的代码存成另一个文件或者放在浏览器的缓存中 通过XSLT转换XML XSLT是W3C所定义的XML规范中的转换组件 是一种必要的基于模板的声明语言 能够把一个XML文档转换成另一个XML文档 或将一种XML文档转化成其他类型的文档 我们能够开发和应用各种XSLT模块来选择过滤和处理XML文档的各个部分 在 NET中 我们能够用XSLTTransform类中的方法Transform 来转换XML文档 通过XSLT转换XML Microsoft的IE浏览器已经内置了一个XSL转换器 它能够自动地将一个XML文档转换成一个HTML文档 但是IE不能将一个XML文档转换成另一个XML文档 要解决这个问题 可以采用编程语言如C 或者采用XSLT 因为XSLT就是为此服务的 所以用XSLT来开发应用程序将更加方便 请同学们上机时运行一下P68 P71的例题 通过XSLT转换XML 通过71页的例题 我们通过把XML文档和XSL样式表相结合 使之把数据转换成HTML 这样做是因为Web应用产生XML文档而不是HTML文档 数据与显示分离将允许Web应用的表达和商业服务平等发展 当Web开发者和组件开发者没有很好地加强他们相互之间的协作时 数据与显示分离将有助于减少因缺少联系而产生的摩擦 同样 我们也可以为不同的浏览器用不同的样式表转换不同的HTML文档 尽可能地利用这些浏览器提供的额外附加功能 XMLPath语言 XPath是用来搜索和查询XML文档 以得到与给定标准相匹配的节点列表的语言 它已经被W3C标准化了 一个XPath语言的表达式可详细说明要匹配的位置和模式 将布尔运算符 字符串运算符和算术运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论