CHP02XML语法名称空间.ppt_第1页
CHP02XML语法名称空间.ppt_第2页
CHP02XML语法名称空间.ppt_第3页
CHP02XML语法名称空间.ppt_第4页
CHP02XML语法名称空间.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第二章 XML 语法 命名空间 学习目标 w熟练掌握XML文件的基本结构 w掌握XML文档元素的使用 w理解CDATA段的作用 w理解XML命名空间的作用 w掌握XML元素内容与属性的差异 第2章 XML的语法 命名空间 w2.1 XML声明 w2.2 注释 w2.3 元素 w2.4 属性 w2.5 CDATA段 w2.6 名称空间 w2.7 规范的XML文档 创建 XML 文档 w构建 XML 文档的步骤: n陈述 XML 声明 n创建根元素 n创建 XML 代码 n 演示:创建 XML 文档 管理元素的规则 至少需要一个元素 XML 标签区分大小写 应正确使用结束标签 正确嵌套标签 应使用合法标签 标记名称的长度 应定义有效的属性 应验证文档 2.1 XML声明 XML声明以 “” 标识结束。 w最基本的XML声明: w包含多个属性的XML文档的声明格式 : 1 XML声明中的版本属性 w一个简单的XML声明中可以只包含属性 version,目前该属性的只可以值可以取1.0 。 注意: w版本号既可以用单引号也可以用双引号来分隔,它必须是 “xml”之后的第一个属性。 w“xml”是处理指令名,用来标识该文件是XML文档(注意: “xml”必须小写,并且XML文档是大小写敏感的)。 2XML声明中的编码属性 如果在XML声明中没有指定encoding属性的值 ,那么该属性的默认值是“UTF-8”。例如: 声明指定encoding属性的值是UTF-8编码。 如果XML使用UTF-8编码,那么标记以及标记的内 容就可以使用汉字、日文、英文等,XML解析器就 会识别这些标记并正确解析标记中的内容。如果 encoding属性的值为“UTF-8”,XML文件必须选 择“UTF-8”编码来保存. 简体中文码:GB2312 繁体中文码:BIG5 西 欧 字 符: UTF-8 3XML声明中的独立性属 性 一个文档的声明格式如下: wstandalone来指明是否有引用外部文件。 standalone=no表示XML调用外部文件 standalone=yes表示XML没有调用外部文 件 w注释的语法如下: XML文件的注释和HTML文件 相同,注释以“”结束, XML解析器将忽略注释的内容,不对它们实施解 析处理。 使用注释时要遵循的规则 注释的文本中不应包含“-”或“- -” 注释不应放在标签里面 注释不能放在实体声明中,也不能放在 XML 声明之前 注释可用于注释标签集 注释不能嵌套 2.2 注释 你好 2.3 元素 wXML文件中的元素分为非空元素和空标 记两种 。 1空元素 空元素不标记任何内容,所以空元素不需要 开始标记和结束标记,空元素以 “” 标识结束 . 2非空元素 w非空元素必须由“开始标记”与“结束标记” 组成,“开始标记”与“结束标记”之间是该 标记所标记的数据,标记间的数据被认为是元 素的值。 男 w非空元素的内容可以有两部分构成:文本数据 和标记,其中的标记称做该元素的子元素。 w可以把元素内容为文本的非空元素转换为空元 素。 下午好 元素 元素的四种形式 w空元素 w带有属性的空元素 w带有内容的元素 这是一个学生的信息 张三 18 w带有内容和属性的元素 18 提示: “元素”和“标签”这两个词具有不同的含义。元素是指开始 标签、结束标签以及两者之间的一切内容,包括属性、文本 、注释以及子元素。标签是一对尖括号()和两者之间的 内容,包括元素名和所有属性。例如: 是一个标签, 也是一个标签;而 Hello World 则是一个元素。 3元素的命名规则 w在XML中,元素由开始标签、元素内容和结束标签构成 ,对于空元素,由空元素标签构成。 w每一个元素有一个用名字标识的类型,同时它可以有一 个属性说明集,每一个属性说明有一个名字和一个值。 w在给元素命名的时候要注意,以“xml”或其他任何匹配 (X|x) (M|m) (L|l) 的字符串开头的名字,被保留 用于XML规范的当前版本或后续版本的标准化。此外, 在给元素命名时,还要遵守下列规范: 1、名称只能以字母、下划线(_)或者冒号(:)开头 ; 2、名称中可以包含字母、数字、下划线以及其它在 XML标准中允许的字符; 3、名称中不能包含空格; 4、名称中尽可能不要使用冒号(:),因为冒号在名 称空间中被用于分隔名称空间 前缀和本地部分, 4元素内容的构成 w元素的内容可以包含子元素、字符数据 、字符引用和实体引用、CDATA段。 元素内容的构成 子元素 w子元素本身也是元素,被嵌套在上层元素之内。子元素是相对 于父元素而言的,如果子元素还嵌套了其它元素,那么它同时 也是父元素。 张三 18 . 元素内容的构成 字符数据 w在一个元素的内容中,字符数据可以是 不包括任何标记的起始定界符和CDATA 段的结束定界符的任意字符串,也就是 说在元素的内容中,字符数据不能有和 号()结束。如果用的是字符引用,需要 在和号( “ XML元素综合实例 w通过下面的实例说明一下如何定义元素 和如何使用元素。 simple .xml 2.4属性 w属性是指标记的属性,可以为标记添加 附加信息。 w属性是一个名值对,即属性必须由名字 和值组成。属性必须在非空标记的开始 标记或空标记中声明,用“=”为属性 指定一个值。 XML属性的命名规则 w英文名称必须以英文字母或者下划线“_”开头,中文 名称必须以中文文字或者下划线“_”开头。 w在使用默认编码集的情况下,名称可以由英文字母、 数字、下划线“_”、连接符”“-”和点号“.”构成 。在指定编码集的情况下,名称中除上述字符外,还 可以出现该字符集中的合法字符。 w名称中不能含有空格。 w名称中含有英文字母时,对大小写敏感。 w同一个元素不能有多个同名的属性。 w属性值使用单引号或双引号包围的字符串值。 w属性值包含特殊字符要使用字符引用或实体引用替换 这些字符。 例如 : 吃饭用的 元素内容转换属性 w使用子元素表达数据和使用属性表达数据的 结果是一样的。 w但使用属性表达数据时可能出现如下一些问 题: 属性不能包含多个重复值,而子元素可以有 任意次数的重复。 属性不易扩展,子元素可以很轻松实现扩展 。 属性不能够描述文档结构,而通过子元素之 间的关联关系可以描述文档结构 属性不便用程序来处理 属性值不易在DTD文档中进行限定。 推荐使用子元素来表达数据! 2.5 元素内容的构成 CDATA 段 wCDATA段中包含的都是纯字符数据,在字符数据可 以出现的任何地方都可以使用CDATA段。 wCDATA段主要用于需要将整个文本解释为字符数据 而不是标记的情况下。CDATA段中的内容不被XML 解析器处理,可以在其中包含任意的字符,而且 CDATA段中的内容在浏览器上被原样显示。但是, W3C规定,CDATA段中不可以嵌套另一个CDATA段 。 wCDATA段用“”作为段的结束,段开始和段结束之间称为 CDATA段的内容。 wCDATA这几个字母必须大写,且不被其他字符隔开 。 编写带有CDATA段的XML文档 cdata.xml CDATA段的位置 w在XML文档中只能在根元素的文本内容 中使用CDATA段,在XML标记中不能使 用CDATA段,否则会出现解析错误, CDATA段也不能出现在其他非文本内容 的文档元素中。 示例:cdata1.xml 2.6 XML名称空间 w一个XML文档中可以包含许多元素与属性,当我们使用其 他人的XML文档,或者在文档中使用多个DTD文件时,就 有可能碰到名称相同的元素,而这些名称相同的元素可 能代表了完全不同的含义。比如:title可以用于表示标题 ,也可以用于表示某个人的头衔;table可以用于表示表 格,也可以用于表示桌子。当这些具有相同名称不同含 义的元素混合到一个文档中时,就会造成理解和处理上 的混乱。为了解决这个问题,就要用到W3C发布的另一 个推荐标准 XML名称空间。 w可以在/TR/REC-xml-names/上查看 XML名称空间规范的详细内容。 声明名称空间 w名称空间通过使用一系列的保留属性来 声明,这种属性的名字必须是以xmlns 或以 xmlns: 作为前缀。与其它任何 XML属性一样,这些属性可以直接或以 缺省的方式给出。 w名称空间的声明有两种形式。 声明名称空间 第一种形式: 元素名是指你在哪一个元素上声明名称空间,在这个元素上声明的名 称空间适用于声明它的元素和属性,以及该元素内容中的所有元素及其 属性。xmlns:prefixname作为该元素的属性名,属性的值是一个URI引用 ,是标识该名称空间的名称空间名字。其中prefixname给出名称空间前缀 的名字,该前缀用于将元素及属性的名字与URI关联在一起。要注意的是 ,在这样的声明中,名称空间的名字不能为空(“”)。如果有两个URI, 其组成字符完全相同,可以认为它们标识了同一个名称空间。 来自于XML名称空间的名字可以作为限定名(qualified names)出现 ,限定名包含了一个以冒号(:)分隔的名称空间前缀和一个本地部分( local part)。映射到URI引用的名称空间前缀选择了一个名称空间。 声明名称空间 w例子: w名称空间前缀可以是不包含冒号的任何合法的XML名称。 w在声明名称空间时,有两个前缀是不允许使用的,它们是xml 和xmlns。xml前缀只能用于XML1.0规范中定义的xml:space和 xml:lang属性,前缀xml被定义为与名称空间名字 /XML/1998/namespace绑定。前缀xmlns仅 仅用于声明名称空间的绑定,它被定义为与名称空间名字 /2000/xmlns/绑定。 提示: 名称空间推荐标准中指出,在名称空间声明中,使用 相对URI引用已经被废弃了(不赞成使用)。 声明名称空间 第二种形式: 这种声明形式没有给出名称空间的前缀名,URI所标识的 是缺省的名称空间。在这样的缺省声明中,属性值可以为空 (“”)。 例子: 表示声明了一个缺省的名称空间,hr元素及其内容中所有 的没有前缀的元素都属于/hr所标识的 名称空间,除非被hr元素内容中其它的缺省名称空间声明所 覆盖。 注意: 在声明名称空间时,选择的URI不需要指向实际的内容,在 URI所标识的位置上,可以不存在任何东西。在名称空间声明 中的URI,只是形式上的标识符,其唯一的目的是提供一个唯 一的名字。 名称空间在元素和属性中的运 用 w在具有很多元素(这些元素都在同一个名称空间中)的文档中 ,给每个元素名称都添加个前缀将是一件繁琐的事情。为此 ,我们可以使用没有前缀名的xmlns属性将缺省的名称空间附 加给元素及其子元素,元素本身及其子元素都被认为是在缺省 的名称空间中,除非它们有明确的前缀。 w缺省名称空间声明中的URI可以设为空字符串,这样的话,在 它的声明范围内,没有前缀的元素将被认为不存在于任何的名 称空间中,这和没有声明缺省名称空间是一样的。 w一个属性要想在某个名称空间中,必须给该属性加上名称空间 的前缀,没有前缀的属性不在任何的名称空间中(包括缺省的 名称空间)。即使拥有属性的元素在某个名称空间中,没有前 缀的属性仍然不在该名称空间或任何其它的名称空间中。 名称空间在元素和属性中的运 用 w在XML文档中,没有任何一个标签可以包含两个相同的属性, 所谓相同有两种情况,一种是属性的名字完全相同,另一种是 属性限定名中的本地部分完全相同,而不同的前缀绑定到了相 同的名称空间名字。 w一个规范的XML文件必须满足W3C所指定的标 准,比如,文件用“XML声明”开始、文件有 当且仅有一个根标记,其它标记都必须封装在 根标记中,文件的标记必须是树型结构、非空 标记必须由“开始标记”与“结束标记”组成 、空标记没有“开始标记”和“结束标记” (良构的XML文档) w规范的XML文件如果再符合额外的一些约束就 称为有效的XML文件。(有效的XML文档) 2.7 规范的XML文档 小结 w为了解决多个XML文档命名冲突的问题,可以利用W3C发布的另一个推荐标准 XML名称空间。 w在声明名称空间时,选择的URI不需要指向实际的内容,在URI所标识的位置上 ,可以不存在任何东西。在名称空间声明中的URI,只是形式上的标识符,其 唯一的目的是提供一个唯一的名字。在名称空间声明时,不能使用相对

温馨提示

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

评论

0/150

提交评论