CHP02XML语法名称空间

上传人:宝路 文档编号:48322889 上传时间:2018-07-13 格式:PPT 页数:39 大小:287.59KB
返回 下载 相关 举报
CHP02XML语法名称空间_第1页
第1页 / 共39页
CHP02XML语法名称空间_第2页
第2页 / 共39页
CHP02XML语法名称空间_第3页
第3页 / 共39页
CHP02XML语法名称空间_第4页
第4页 / 共39页
CHP02XML语法名称空间_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《CHP02XML语法名称空间》由会员分享,可在线阅读,更多相关《CHP02XML语法名称空间(39页珍藏版)》请在金锄头文库上搜索。

1、第二章 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、属性应验证文档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

3、属性的值是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文件 相同,注

4、释以“”结束, XML解析器将忽略注释的内容,不对它们实施解 析处理。 使用注释时要遵循的规则注释的文本中不应包含“-”或“- -” 注释不应放在标签里面注释不能放在实体声明中,也不能放在 XML 声明之前注释可用于注释标签集注释不能嵌套2.2 注释 你好2.3 元素wXML文件中的元素分为非空元素和空标 记两种 。 1空元素空元素不标记任何内容,所以空元素不需要 开始标记和结束标记,空元素以 “” 标识结束 .2非空元素w非空元素必须由“开始标记”与“结束标记” 组成,“开始标记”与“结束标记”之间是该 标记所标记的数据,标记间的数据被认为是元 素的值。 男 w非空元素的内容可以有两部分构成

5、:文本数据 和标记,其中的标记称做该元素的子元素。 w可以把元素内容为文本的非空元素转换为空元 素。下午好元素 元素的四种形式w空元素w带有属性的空元素w带有内容的元素 这是一个学生的信息张三18w带有内容和属性的元素 18提示:“元素”和“标签”这两个词具有不同的含义。元素是指开始标签、结束标签以及两者之间的一切内容,包括属性、文本 、注释以及子元素。标签是一对尖括号()和两者之间的 内容,包括元素名和所有属性。例如: 是一个标签, 也是一个标签;而 Hello World 则是一个元素。3元素的命名规则 w在XML中,元素由开始标签、元素内容和结束标签构成 ,对于空元素,由空元素标签构成。

6、 w每一个元素有一个用名字标识的类型,同时它可以有一 个属性说明集,每一个属性说明有一个名字和一个值。 w在给元素命名的时候要注意,以“xml”或其他任何匹配 (X|x) (M|m) (L|l) 的字符串开头的名字,被保留 用于XML规范的当前版本或后续版本的标准化。此外, 在给元素命名时,还要遵守下列规范:1、名称只能以字母、下划线(_)或者冒号(:)开头 ; 2、名称中可以包含字母、数字、下划线以及其它在 XML标准中允许的字符;3、名称中不能包含空格;4、名称中尽可能不要使用冒号(:),因为冒号在名 称空间中被用于分隔名称空间 前缀和本地部分, 4元素内容的构成w元素的内容可以包含子元素

7、、字符数据 、字符引用和实体引用、CDATA段。元素内容的构成 子元素w子元素本身也是元素,被嵌套在上层元素之内。子元素是相对 于父元素而言的,如果子元素还嵌套了其它元素,那么它同时 也是父元素。 张三18 .元素内容的构成 字符数据w在一个元素的内容中,字符数据可以是 不包括任何标记的起始定界符和CDATA 段的结束定界符的任意字符串,也就是 说在元素的内容中,字符数据不能有和 号()结束。如果用的是字符引用,需要 在和号(“XML元素综合实例w通过下面的实例说明一下如何定义元素 和如何使用元素。simple .xml2.4属性 w属性是指标记的属性,可以为标记添加 附加信息。 w属性是一个

8、名值对,即属性必须由名字 和值组成。属性必须在非空标记的开始 标记或空标记中声明,用“=”为属性 指定一个值。 XML属性的命名规则w英文名称必须以英文字母或者下划线“_”开头,中文 名称必须以中文文字或者下划线“_”开头。 w在使用默认编码集的情况下,名称可以由英文字母、 数字、下划线“_”、连接符”“-”和点号“.”构成 。在指定编码集的情况下,名称中除上述字符外,还 可以出现该字符集中的合法字符。 w名称中不能含有空格。 w名称中含有英文字母时,对大小写敏感。 w同一个元素不能有多个同名的属性。 w属性值使用单引号或双引号包围的字符串值。 w属性值包含特殊字符要使用字符引用或实体引用替换

9、 这些字符。 例如 : 吃饭用的元素内容转换属性w使用子元素表达数据和使用属性表达数据的 结果是一样的。 w但使用属性表达数据时可能出现如下一些问 题:属性不能包含多个重复值,而子元素可以有 任意次数的重复。属性不易扩展,子元素可以很轻松实现扩展 。属性不能够描述文档结构,而通过子元素之 间的关联关系可以描述文档结构属性不便用程序来处理属性值不易在DTD文档中进行限定。推荐使用子元素来表达数据!2.5 元素内容的构成 CDATA 段wCDATA段中包含的都是纯字符数据,在字符数据可 以出现的任何地方都可以使用CDATA段。wCDATA段主要用于需要将整个文本解释为字符数据 而不是标记的情况下。

10、CDATA段中的内容不被XML 解析器处理,可以在其中包含任意的字符,而且 CDATA段中的内容在浏览器上被原样显示。但是, W3C规定,CDATA段中不可以嵌套另一个CDATA段 。wCDATA段用“”作为段的结束,段开始和段结束之间称为 CDATA段的内容。wCDATA这几个字母必须大写,且不被其他字符隔开 。 编写带有CDATA段的XML文档 cdata.xmlCDATA段的位置 w在XML文档中只能在根元素的文本内容 中使用CDATA段,在XML标记中不能使 用CDATA段,否则会出现解析错误, CDATA段也不能出现在其他非文本内容 的文档元素中。示例:cdata1.xml2.6 X

11、ML名称空间w一个XML文档中可以包含许多元素与属性,当我们使用其 他人的XML文档,或者在文档中使用多个DTD文件时,就 有可能碰到名称相同的元素,而这些名称相同的元素可 能代表了完全不同的含义。比如:title可以用于表示标题 ,也可以用于表示某个人的头衔;table可以用于表示表 格,也可以用于表示桌子。当这些具有相同名称不同含 义的元素混合到一个文档中时,就会造成理解和处理上 的混乱。为了解决这个问题,就要用到W3C发布的另一 个推荐标准 XML名称空间。 w可以在http:/www.w3.org/TR/REC-xml-names/上查看 XML名称空间规范的详细内容。声明名称空间 w

12、名称空间通过使用一系列的保留属性来 声明,这种属性的名字必须是以xmlns 或以 xmlns: 作为前缀。与其它任何 XML属性一样,这些属性可以直接或以 缺省的方式给出。 w名称空间的声明有两种形式。声明名称空间第一种形式:元素名是指你在哪一个元素上声明名称空间,在这个元素上声明的名称空间适用于声明它的元素和属性,以及该元素内容中的所有元素及其 属性。xmlns:prefixname作为该元素的属性名,属性的值是一个URI引用 ,是标识该名称空间的名称空间名字。其中prefixname给出名称空间前缀 的名字,该前缀用于将元素及属性的名字与URI关联在一起。要注意的是 ,在这样的声明中,名称

13、空间的名字不能为空(“”)。如果有两个URI, 其组成字符完全相同,可以认为它们标识了同一个名称空间。 来自于XML名称空间的名字可以作为限定名(qualified names)出现 ,限定名包含了一个以冒号(:)分隔的名称空间前缀和一个本地部分( local part)。映射到URI引用的名称空间前缀选择了一个名称空间。声明名称空间w例子:w名称空间前缀可以是不包含冒号的任何合法的XML名称。 w在声明名称空间时,有两个前缀是不允许使用的,它们是xml 和xmlns。xml前缀只能用于XML1.0规范中定义的xml:space和 xml:lang属性,前缀xml被定义为与名称空间名字 htt

14、p:/www.w3.org/XML/1998/namespace绑定。前缀xmlns仅 仅用于声明名称空间的绑定,它被定义为与名称空间名字 http:/www.w3.org/2000/xmlns/绑定。提示:名称空间推荐标准中指出,在名称空间声明中,使用 相对URI引用已经被废弃了(不赞成使用)。声明名称空间第二种形式:这种声明形式没有给出名称空间的前缀名,URI所标识的是缺省的名称空间。在这样的缺省声明中,属性值可以为空 (“”)。例子:表示声明了一个缺省的名称空间,hr元素及其内容中所有 的没有前缀的元素都属于http:/www.sunxin.org/hr所标识的 名称空间,除非被hr元素

15、内容中其它的缺省名称空间声明所 覆盖。 注意:在声明名称空间时,选择的URI不需要指向实际的内容,在 URI所标识的位置上,可以不存在任何东西。在名称空间声明 中的URI,只是形式上的标识符,其唯一的目的是提供一个唯一的名字。名称空间在元素和属性中的运 用 w在具有很多元素(这些元素都在同一个名称空间中)的文档中 ,给每个元素名称都添加个前缀将是一件繁琐的事情。为此 ,我们可以使用没有前缀名的xmlns属性将缺省的名称空间附 加给元素及其子元素,元素本身及其子元素都被认为是在缺省 的名称空间中,除非它们有明确的前缀。 w缺省名称空间声明中的URI可以设为空字符串,这样的话,在 它的声明范围内,

16、没有前缀的元素将被认为不存在于任何的名 称空间中,这和没有声明缺省名称空间是一样的。 w一个属性要想在某个名称空间中,必须给该属性加上名称空间 的前缀,没有前缀的属性不在任何的名称空间中(包括缺省的 名称空间)。即使拥有属性的元素在某个名称空间中,没有前 缀的属性仍然不在该名称空间或任何其它的名称空间中。名称空间在元素和属性中的运 用w在XML文档中,没有任何一个标签可以包含两个相同的属性, 所谓相同有两种情况,一种是属性的名字完全相同,另一种是 属性限定名中的本地部分完全相同,而不同的前缀绑定到了相 同的名称空间名字。 w一个规范的XML文件必须满足W3C所指定的标 准,比如,文件用“XML声明”开始、文件有 当且仅有一个根标记,其它标记都必须封装在 根标记中,文件的标记必须是树型结构、非空 标记必须由“开始标记”与“结束标记”组成 、空标记没有“开始标记”和“结束标记” (良构的XML文档) w规范的XML文件如果再符合额外的一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号