《XML语法》PPT课件.ppt_第1页
《XML语法》PPT课件.ppt_第2页
《XML语法》PPT课件.ppt_第3页
《XML语法》PPT课件.ppt_第4页
《XML语法》PPT课件.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第2章 XML语法,2.1 XML文档结构,2.1.1 XML文档的组成 XML文档的组成:文档序文与文档根元素。 文档序文包括必须有的XML声明语句以及可选的处理指令等; 文档根元素是一个可以包含多个嵌套子元素的顶层元素。必须唯一! 整个文档以.xml为文件扩展名加以保存。 范例:Customer.xml, 李华 男 1978.9.12 92 Java Oracle SQL Server 倪冰 女 1979.1.12 89 Visual Basic SQL Server ASP ,判断程序正误,错!,必须有唯一的根元素!,2.1.2 XML文档的声明,XML声明一般是XML文档的第一行第一个字符。 XML声明由以下几个部分组成: version - -文档符合XML1.0规范,是必须定义的部分; encoding - -文档字符编码,默认为“UTF-8”,还可定义为“GB2312”; standalone - -是否需要从其他外部资源获得自定义标记的说明, 并检查XML文档的有效性。 standalone=“yes”(不需要外部文档) standalone=“no”(默认),2.1.3 XML文档的注释, 可输入除了双连字符“-”之外任何想要说明的文字; 可放在XML文档中除元素标记外的任何地方; 注释不能嵌套; 注释中的内容在解析时会被忽略。 错误! XML文档 ,2.1.4 XML的处理指令,XML的处理指令简称PI,其用途是为XML解析器提供传送给应用软件或脚本程序的信息,也可以用来指定应用软件处理或显示文档的方法。 必不可少的处理指令: ,2.1.4 XML的处理指令,例:样式表处理指令,应用程序的名字,传递的信息,2.2 XML文档的元素,2.2.1 XML元素的组成 XML元素由一个起始标记、一个结束标记,以及夹在这 两个标记之间的数据内容所组成。其基本形式如下: 数据内容 如:Smith 说明 元素名即标记名 起始标记和结束标记必须配对使用。例外:空元素 标记是用户自定义的,下列标记名中哪些是合法的? A ) 、 、 B ) 、 C )、 D)、,2.2.2 XML标记的命名,2.2.2 XML标记的命名,XML元素标记的命名规则如下: 标记名字必须以英文、汉字或下划线“_”开头。 在使用默认字符集的情况下,标记名称可由零个或多个字母、数字、句点“.”、连字符(-)或底划线“_”构成。 XML解析器对标记名称中的英文字母大小写敏感。 标记名称中不能含有空格。 冒号“:”被保留作为名称空间的分隔符,因而不能在普通标记名称中出现。,2.2.3 XML元素的类型,1非空元素 绝大多数XML元素为非空元素,即在其起始标记和结束标记之间通常会有一定的内容,元素的内容也称为元素的数据,它可以是文本、也可以是该元素所包含的若干个子元素。,2空元素,空元素是指没有内容的元素,即在开始标记与结束标记之间既无数据内容也无属下的子元素。 例如: 此种情况下,可将上面的空元素写成: ,2空元素,两个作用: 1.执行某个动作或显示某个对象 例:HTML中的或 2.可透过属性来存储信息 例:,2.2.4 XML元素的嵌套,XML规范指出: 一个格式正确的XML文档必须明确地拥有一个唯一的顶层元素,该元素被称为文档元素或根元素,而其它所有的元素都被嵌套在这个元素之下。,2.2.4 XML元素的嵌套,一个包含若干个嵌套元素的元素被称为父元素(parent element) ;而一个直接包含在父元素之下的元素则称为该父元素的子元素(child element)。 范例:Customer_02. xml 元素关系可嵌套但不可交叉! This text is bold and italic This text is bold and italic,2.2.5 XML元素综合示例,在一个格式正确的XML文档中可以有多种不同类型和不同层次的元素。 范例:Customer_03.xml 请找出该例中的根元素、空元素、元素属性和嵌套子元素。 练习:P48 4,假设有这样一本书: 书名: XML 指南 第一章: XML入门简介 1、什么是HTML ? 2、什么是XML ? 第二章: XML语法 1、 XML的元素 2、 XML的属性,试试看, XML 指南 XML入门简介 什么是HTML? 什么是XML? XML语法 XML的元素 XML的属性/para ,2.3 XML元素的属性,在XML元素的起始标记中,可以包含一个或多个属性,用来对该元素的特征作进一步描述,或者用来存储和表示与这个元素相关的若干个数据。XML规范允许用户自己定义元素所具有的各种属性。,2.3.1 元素属性的定义,对于非空元素,其属性的定义格式如下: 数据内容 例: 月光 对于空元素,属性的定义格式如下: 例:,2.3.1 元素属性的定义,说明: 可以为一个元素定义多个属性,各个属性之间需要用空格分开; 每个属性总是以属性名和属性值的形式成对出现,中间用等号相连,并且属性值必须用半角的单引号或双引号括起来; 属性名的命名规则与标记名的命名规则是一样的,同一个元素不允许有多个同名的属性。,2.3.2 属性值定义规则,下列属性值的定义正确吗: ,正确的定义: 、&、单引号和双引号需使用预定义特殊编码,属性与子元素:,属性的表达方式: TOM 子元素的表达方式: 100 TOM ,2.3.3 将元素内容转换成属性,一般来说子元素可以完全代替属性。 要采用子元素的情况: 一个属性不能包含子属性,但子元素可以包含自己的子元素。故对复杂的信息,要采用复合的子元素来说明。 若元素的开始标记中包含过多的属性,造成整个开始标记过长而降低程序的可读性,则可以考虑使用子元素代替属性。 属性不容易扩展。 属性不能够描述文档结构(子元素可以)。 属性很简洁,有很好的可读性,如果使用过多 的子元素会降低可读性。,例:, 这样对不对? 这样好不好?, Tove Jani 12 99 Reminder Dont forget me this weekend! ,例(修改后):,Customer_01.xml(P27),Customer_04.xml(P36),2.4 CDATA 区段,根据XML规范,不能直接将“”、“”、“&”等特殊字符放置在XML元素内容的字符数据里。要避开这个限制的方法是使用对应的特殊字符编码。 可以在XML文档中使用特定的CDATA 区段,来将任何字符组合包含在元素的字符数据中。,2.4.1 特殊字符的使用,某些字符,例如“”、“&”等在XML文档中被赋予了特殊意义,而被称为特殊字符。在XML文档的数据中使用这些特殊字符时,必要对它们进行特殊编码,表2-1列出了这些特殊字符及其对应的特殊编码。 范例:Customer_05.xml,表2-1 XML特殊字符编码,2.4.2 CDATA的格式,有时程序员所要描述的内容可能很长并且包含很多特殊符号,比如在XML中存储一段HTML代码,其中必定包含很多“”、双引号、单引号和“&”等。如果把这些字符逐一替换成实体引用,工作量是相当惊人的。 这时可以使用CDATA区段。,2.4.2 CDATA的格式,CDATA即字符数据之意,其作用是告知XML解析器其内包含的所有内容均应作为文字数据来处理,并原封不动地将这段文字传送给应用程序。CDATA区段的格式如下: ,范例:CDATA_Demo.xml,修改后的范例,2.4.3 CDATA的位置,可以将CDATA区段放置在元素内容中可以出现字符数据的任何地方,但不能被包含在标记中。 P40 例 1)不能放在文档序文中 2)不能放在元素标记中 CDATA区段不能嵌套,即不能将一个CDATA区段放置到另一个CDATA区段之中。,用两种方法将以下代码段包含到xml文档中。,试试看,function f1(a,b) if(name=“cai”&a0) return 1 else return 0 ,方法一: function f1(a,b) if (name= 0) return 1 else return 0 ,参考答案,方法二: ,2.5 XML名称空间(Namespace),为什么需要引入“名称空间”? 解决同一个XML文档中使用相同标记名而代表不同意义的元素所引起的冲突问题; 在同一个XML文档中使用不同的标记语言集合而产生的的混淆问题。,2.5.2 名称空间的定义,XML文档中的名称空间是在某个元素的起始标记内进行定义的,其语法格式如下: 说明: 标识符不允许使用xml、html、xsl、xmlns等保留字 URI通常仅起标识作用,有时甚至根本不存在,名称空间,指明该标记的归属 唯一!,2.5.2 名称空间的定义,XML解析器在碰到一个名称空间定义以后,就会把其中的标识符与对应的URI绑定在一起。当需要为XML文档的元素或属性指定某个名称空间时,是通过在元素的标记名或属性名添加所定义的名称空间标识符来实现的。 范例: Namespaces_01.xml(定义了两个名称空间) Namespaces_02.xml(在属性前添加名称空间标识符),2.5.3 默认名称空间,可将文档中使用较多的名称空间定义为默认名称空间,默认名称空间也是在元素的起始标记内定义,并且默认空间的定义不使用标识符。 ,=“URI“,2.5.3 默认名称空间,说明: 在定义默认名称空间时没有给定该名称空间对应的标识符,故在其他元素的标记中将无法引用该名称空间。 默认名称空间的涵盖范围包括该元素的所有子元素。 如果在为一个元素定义默认名称空间时未给出其URI参数,那么这个元素将不属于任何名称空间。 对于元素的属性来说是不存在默认名称空间的。,范例:Namespaces_03.xml, 张小龙李平 5555555 ,命名空间的声明,“客户” 元素在默认名称空间/customer.dtd中定义,“姓名”和“电话”子元素在emp空间中定义,2.5.4 混合使用XML和HTML,利用名称空间机制,还可实现在XML文档中直接利用HTML的标记,当前主要的浏览器都支持这种做法。这样一来,不需要使用XML的链接标准Xlink或Xpointer,也能让XML文档具有超链接、显示图片和使用表单等功能。 注:在XML文档中使用HTML标记之前,必须声明它的名称空间。 范例:Namespaces_04.xml,如果没有定义名称空间会怎样?,Namespaces_04_1.xml,2.6 正确的XML文档,格式良好的XML文档 有效的XML文档,2.6 正确的XML文档,1、XML文档的声明 2、元素 唯一的根元素 所有的非空元素都必须闭合 例: 合法吗? 空元素的约定 元素的嵌套 3、属性 4、其他 区分大小写 特殊字符,格式良好和有效的 XML 文档,格式良好的 XML 文档应符合最低要求集; 有效的 XML 文档是符合 Document Type Definition(文档类型定义,DTD)的规则的格式良好的 XML 文档。,解析器,- - - - -,由解析器解析的 XML 文档,在浏览器中查看已解析的文档,带有 XML 文档的编辑器,解析器类型,非验证解析器,验证解析器,检查文档格式是否良好,使用 DTD 检查文档的有效性,格式良好的与有效的XML文档的关系 有效地XML文档肯定是格式良好的XML文档。 反过来,一个格式良好的XML文档不一定是有效的XML文档。 有效的XML文档遵守DTD或Schema定义的规则。,本章小结1,XML有严格的语法结构,不符合XML语法的文档不能被解析器正确解析。 XML文档从数据结构的角度来看是一个由元素组成的树状结构。 一个XML文档可以分为文档序文和文档根元素。 文档序文包括XML文档声明和文档类型声明。 在编写一个XML文档时要从其声明开始。声明包括版本信息、编码信息以及文档独立性信息。,本章小结2,处理指令允许为特定的应用程序传递应用程序所需要的信息。 注释可以为其他阅读文档的人说明代码,但是将被解析器忽略。注释也可以隐藏没有处理好的文档。,本章小结3,XML文档的主体包含唯一的根元素。 XML对于元素

温馨提示

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

评论

0/150

提交评论