第2章XML语法_第1页
第2章XML语法_第2页
第2章XML语法_第3页
第2章XML语法_第4页
第2章XML语法_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 XML语法lXML文档的结构lXML文档的元素lXML元素的属性lCDATA段lXML命名空间2.1 XML文档的结构 2.1.1 XML文档的组成n XML文档采用一种特殊的结构对数据进行存档, 保证最大程度地方便解析器程序对之进行处理。n XML文档应该看做是一个逻辑实体而不是一个物 理实体,因为XML文档并不是只可能保存在一台 计算机中的一个物理文件里面。n 通常情况下,一个XML文档可能分散在很多物理 文件中,这些物理文件中的一些也可能存在于不 同的计算机系统中。2.1 XML文档的结构 2.1.1 XML文档的组成l 一个XML文档由两部分构成:第一部分是文档序言,第二部分是

2、文档元素(节点),如下图所示。2.1 XML文档的结构2.1.2 XML文档的声明l文档声明语句:包括声明XML的版本号、所使用的字符集,以及是否是独立文档等信息。l在XML声明的前面不允许再有任何其它的字符,甚至是空格,也就是说XML声明必须是XML文档中的第一个内容。例如: 2.1.2 XML文档的声明l处理指令:由“”结束。l “xml”是处理指令名,用来标识该文件是XML文档(注意:“xml”必须小写,并且XML文档是大小写敏感的,“xml”要紧挨左边的“?“,之间无空格)l version=“1.0”:表示该文档采用的是XML1.0版本,其版本号既可以用单引号也可以用双引号来分隔,它

3、必须是“xml”之后的第一个属性l“encoding=”gb2312“”:表示该文档采用简体中文编码GB2312 2.1 XML文档的结构2.1 XML文档结构2.1.2 XML文档的声明lstandalone属性:该属性的默认值是 “no”l值为“yes”:表示该xml文档未引用其他外部的DTD文件,相反,如果为“no”则表示xml文档可能有这样一个配套的DTD文档:2.1 XML文档结构2.1.3 XML的处理指令lXML的处理指令:简称PI,用来给处理它的应用程序提供信息的元素。l当应用程序处理XML文档时,如果遇到处理指令会解释这个指令,遵照它提供的信息进行处理。l处理指令一般具有下列

4、语法格式: xml声明就是一个处理指令: 2.1 XML文档结构2.1.4 XML文档的注释l注释语句:以 “ ”结束。在这两者之间,可以输入除了双连字符“-”之外任何想要说明的文字。l它只提供参考,永远不是真正的XML数据,注释用于对语句进行某些提示或说明。2.1 XML文档结构2.1.4 XML文档的注释XML注释语法如下: l注释可以在元素标记之外和xml声明之后的任何地方添加;l可以放在文档序言中;l可以插入到文档元素之后;l还可以放在一个元素的内容之间。2.1 XML文档结构2.1.4 XML文档的注释l使用注释时需要注意的问题l注释不可以出现在XML声明之前,XML声明必须是文档的

5、首行。l在注释文本中不能出现字符“-”或字符串“-”,以免XML处理器把它们和注释结尾标志“-”相混淆。 l不要把注释文本放在标记之中,否则,它就不是一个格式正确的XML文档了。l注释不能被嵌套。注释文本中不能再包含另一个注释。 2.2 XML文档的元素2.2.1 元素的定义l元素是XML文档内容的基本单元l元素使用标记进行分隔l根元素:所有其它元素都包含在根元素中l 元素的基本形式是: 元素内容 例如:CD-10232.2 XML文档的元素 2.2.1 元素的定义l XML的标记和HTML的标记形式上大体相同,包 含标记名和零个或多个属性,其基本形式为: l标记必不可少。 l标记名称中含有英

6、文字母时,大小写有所区分。 l要有正确的结束标记。lXML严格要求标记配对。l标记命名要合法。 2.2 XML文档的元素2.3.1 元素的定义l非空元素l 绝大多数XML元素为非空元素,即在其起始标记和结束标记之间通常会有一定的内容 l元素的内容也称为“元素的数据”,它可以是文本、也可以是该元素所包含的若干个子元素。l非空标记必须由“开始标记”与“结束标记”组成,“开始标记”与“结束标记”之间是该标记所标记的内容。 例如:例如: 男 张山 2.2 XML文档的元素2.2.1 元素的定义l空元素l所谓空元素是指没有内容的元素,即在开始标记与结束标记之间没有数据内容的元素。所以空标记不需要开始标记

7、和结束标记,空标记以 “” 标识结束 。例如: 2.2 XML文档的元素2.2.2 元素的命名规则lXML元素标记的命名规则如下:l标记名字必须以英文字母或下划线“_”开头,中文标记名称必须以汉字或下划线“_”开头。l在使用默认字符集的情况下,标记名称可由零个或多个字母、数字、句点“.”、冒号“:”、连字符(-),或下划线“_”构成。lXML解析器对标记名称中的英文字母大小写是敏感的。l标记名称中不能含有空格。l标记名称中不能含有斜杠“/”。标记的使用规则l有且只有一个根标记l标记必须配对使用l标记必须嵌套使用l空标记的使用:l标记区分大小写2.2 XML文档的元素2.2.3 元素内容的构成l

8、构成元素的内容包括:l子元素l字符数据l字符引用和预定义实体引用 2.2 XML文档的元素2.2.4 元素的特征l元素所封装的内容要求不仅仅是文档的原始数据,而且要包含其他的元素。l XML规范指出:一个格式正确的XML文档必须明确地拥有一个唯一的顶层元素,该元素被称为“文档元素”或“根元素”,而其它所有的元素都被嵌套在这个元素之下。事实上,XML文档中几乎所有的元素都是以嵌套形式存在的。2.2 XML文档的元素2.2.4 元素的特征l一个包含若干个嵌套元素的元素被称为“父元素”(parent element);而一个直接包含在父元素之下的元素则称为“该父元素的子元素”(child eleme

9、nt),如果不止一个子元素,则这些子元素互为兄弟。XML元素的特性l可扩展性l父子关系l一个元素可包含不同类型的内容l一个元素可包含不同类型的属性2.3 XML文档的属性2.3.1 属性的定义l属性是元素的可选组成部分,用户可以自己定义,其作用是对元素及其内容的附加信息进行描述,它由“”分割开的名称数值对构成。l在XML中,所有的属性必须用引号括起来,属性和属性之间用空格隔开。2.3 XML文档的属性2.3.1 属性的定义l对于非空元素,其属性的定义格式如下: 数据内容 l对于空元素,属性的定义格式如下: 2.3 XML文档的属性2.3.1 属性的定义l英文名称必须以英文字母或者下划线“_”开

10、头,中文名称必须以中文文字或者下划线“_”开头。l在使用默认编码集的情况下,名称可以由英文字母、数字、下划线“_”、连接符”“-”和点号“.”构成。在指定编码集的情况下,名称中除上述字符外,还可以出现该字符集中的合法字符。 l名称中不能含有空格。 l名称中含有英文字母时,对大小写敏感。 l同一个元素不能有多个同名的属性。 2.3 XML文档的属性2.3.2 属性值的定义l属性值的定义应遵守下面规则:l属性值字符串应该使用半角的单引号或双引号括起来。l属性值的字符串中不能包含用来界定属性值的引号。当属性值本身含有单引号时,应该用双引号括起来;当属性值本身含有双引号时,应该用单引号括起来。l属性值

11、的字符串中不能包含“”、“&”、单引号和双引号等字符,但可以使用实体引用。2.3 XML的属性l每个属性值只能指定一次,不分先后次序l属性不是元素数据的一部分,而是说明数据l属性值必须用引号l属性可存放数据:XML元素的数据可存储在子元素中,也可存储在属性中使用属性还是子元素l描述一个元素的某个特征时,使用子元素和属性都是可行的l属性相对于子元素有一定的局限性l属性可扩展性差l每个元素中同名属性只能出现一次,而同名子元素则可以出现多次l元素和属性不是纯粹的父子关系,元素无法通过父子关系来引用其属性使用属性还是子元素l到底什么时候使用元素,什么时候使用属性,并没有固定要求和明确的界限。但

12、以下情况可以考虑使用属性:l无须扩展l要存储的数据量不大l数据与元素关系特别密切l与元素的关系是一一对应2.4 CDATA标记2.4.1 特殊字符的使用l特殊字符的使用方式:l 实体引用: &实体名;符号实体引用><& '"2.4.2 CDATA标记lCDATA标记的作用:通知XML语法解析器,该标记中的所有内容都要当成纯文本来解析,并原封不动地将这段代码传给下一个XML应用程序。l类似HTML中l格式: 2.4.2 CDATA标记lCDATA标记的使用lCDATA标记不可嵌套l当需要将大块文本内容填充到元

13、素中时,比较适合使用CDATA标记。例如,网站的网友评论通常都使用CDATA标记来实现。2.4 CDATA标记2.4.2 CDATA的格式 !CDATA if xz then x=y-z 2.4 CDATA标记2.4.2 CDATA的格式l若不用CDATA段表示,而是将其中“”符号改成实体引用,则如下所示: if x < y and y > z then x=y-z 2.4.3 CDATA的位置lCDATA段应该遵守下列规则:lCDATA中不能包含字符串“”。lCDATA中不能再包含CDATA(即不能嵌套)。lCDATA段可以放置在元素内容中字符数据出现的任何地方。

14、2.4 CDATA标记2.5 XML名称空间lXML是一种元标记语言,允许用户定义自己的标记。因此,很可能出现名称重复。lXML名称空间:将XML文档和URI(统一资源标识符)引用标记的名称相结合,限定其中的元素和属性名,以避免名称之间发生冲突,实现名称的唯一性。l名称冲突问题例1 苹果 香蕉 例2 饭桌 120公分 80公分 名称冲突问题2.5 XML名称空间l解决名称冲突的方法是:在元素的开始标签中加前缀,再添加xmlns用来表示元素的属性例1,修改为 例2,修改为 2.5 XML名称空间l名称空间的声明:将一个唯一的标识符号指定到一个URI或其他合法字符串上。l显示声明名称空间的格式:或

15、l默认声明名称空间的格式:显示声明示例 多媒体技术基础 林福宗 37.00默认声明与显示声明示例 多媒体技术基础 林福宗 37.00 清华大学出版社 7-302-05705-2 2.5 XML名称空间l名称空间应该是一个统一资源标识符URIl统一资源标识符URI包括:l统一资源名URNl统一资源地址URLl名称空间的范畴(作用范围):声明该名称空间的元素及该元素的所有子元素,除非在该元素的某一个元素上又声明了相同的名称空间。 多媒体技术基础 林福宗 37.00 清华大学出版社 7-302-05705-2 2.6 XML文档类型lXML1.0规范指定了两种类型的文档l格式良好的XML文档:严格遵守XML语法规则构造的文档,称为格式良好的XML文档。l有效的XML文档

温馨提示

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

最新文档

评论

0/150

提交评论