《语法名称空间》PPT课件.ppt

上传人:小飞机 文档编号:5606645 上传时间:2023-08-01 格式:PPT 页数:39 大小:213KB
返回 下载 相关 举报
《语法名称空间》PPT课件.ppt_第1页
第1页 / 共39页
《语法名称空间》PPT课件.ppt_第2页
第2页 / 共39页
《语法名称空间》PPT课件.ppt_第3页
第3页 / 共39页
《语法名称空间》PPT课件.ppt_第4页
第4页 / 共39页
《语法名称空间》PPT课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《《语法名称空间》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《语法名称空间》PPT课件.ppt(39页珍藏版)》请在三一办公上搜索。

1、第二章 XML 语法 命名空间,学习目标,熟练掌握XML文件的基本结构掌握XML文档元素的使用理解CDATA段的作用理解XML命名空间的作用掌握XML元素内容与属性的差异,第2章 XML的语法 命名空间,2.1 XML声明2.2 注释2.3 元素2.4 属性2.5 CDATA段2.6 名称空间2.7 规范的XML文档,创建 XML 文档,构建 XML 文档的步骤:陈述 XML 声明创建根元素创建 XML 代码,演示:创建 XML 文档,至少需要一个元素,XML 标签区分大小写,应正确使用结束标签,正确嵌套标签,应使用合法标签,标记名称的长度,应定义有效的属性,应验证文档,2.1 XML声明,X

2、ML声明以“”标识结束。最基本的XML声明:包含多个属性的XML文档的声明格式:,1 XML声明中的版本属性,一个简单的XML声明中可以只包含属性version,目前该属性的只可以值可以取1.0。注意:版本号既可以用单引号也可以用双引号来分隔,它必须是“xml”之后的第一个属性。“xml”是处理指令名,用来标识该文件是XML文档(注意:“xml”必须小写,并且XML文档是大小写敏感的)。,2XML声明中的编码属性,如果在XML声明中没有指定encoding属性的值,那么该属性的默认值是“UTF-8”。例如:声明指定encoding属性的值是UTF-8编码。如果XML使用UTF-8编码,那么标记

3、以及标记的内容就可以使用汉字、日文、英文等,XML解析器就会识别这些标记并正确解析标记中的内容。如果encoding属性的值为“UTF-8”,XML文件必须选择“UTF-8”编码来保存.简体中文码:GB2312 繁体中文码:BIG5 西 欧 字 符:UTF-8,3XML声明中的独立性属性,一个文档的声明格式如下:standalone来指明是否有引用外部文件。standalone=no表示XML调用外部文件 standalone=yes表示XML没有调用外部文件,注释的语法如下:XML文件的注释和HTML文件相同,注释以“”结束,XML解析器将忽略注释的内容,不对它们实施解析处理。,使用注释时要

4、遵循的规则,注释的文本中不应包含“-”或“-”,注释不应放在标签里面,注释不能放在实体声明中,也不能放在 XML 声明之前,注释可用于注释标签集,注释不能嵌套,2.2 注释,你好,2.3 元素,XML文件中的元素分为非空元素和空标记两种。1空元素 空元素不标记任何内容,所以空元素不需要开始标记和结束标记,空元素以“”标识结束.,2非空元素,非空元素必须由“开始标记”与“结束标记”组成,“开始标记”与“结束标记”之间是该标记所标记的数据,标记间的数据被认为是元素的值。男 非空元素的内容可以有两部分构成:文本数据和标记,其中的标记称做该元素的子元素。可以把元素内容为文本的非空元素转换为空元素。下午

5、好,元素 元素的四种形式,空元素 带有属性的空元素 带有内容的元素 这是一个学生的信息 张三 18 带有内容和属性的元素 18,提示:“元素”和“标签”这两个词具有不同的含义。元素是指开始标签、结束标签以及两者之间的一切内容,包括属性、文本、注释以及子元素。标签是一对尖括号()和两者之间的内容,包括元素名和所有属性。例如:是一个标签,也是一个标签;而 Hello World 则是一个元素。,3元素的命名规则,在XML中,元素由开始标签、元素内容和结束标签构成,对于空元素,由空元素标签构成。每一个元素有一个用名字标识的类型,同时它可以有一个属性说明集,每一个属性说明有一个名字和一个值。在给元素命

6、名的时候要注意,以“xml”或其他任何匹配(X|x)(M|m)(L|l)的字符串开头的名字,被保留用于XML规范的当前版本或后续版本的标准化。此外,在给元素命名时,还要遵守下列规范:1、名称只能以字母、下划线(_)或者冒号(:)开头;2、名称中可以包含字母、数字、下划线以及其它在XML标准中允许的字符;3、名称中不能包含空格;4、名称中尽可能不要使用冒号(:),因为冒号在名称空间中被用于分隔名称空间 前缀和本地部分,,4元素内容的构成,元素的内容可以包含子元素、字符数据、字符引用和实体引用、CDATA段。,元素内容的构成 子元素,子元素本身也是元素,被嵌套在上层元素之内。子元素是相对于父元素而

7、言的,如果子元素还嵌套了其它元素,那么它同时也是父元素。张三 18.,元素内容的构成 字符数据,在一个元素的内容中,字符数据可以是不包括任何标记的起始定界符和CDATA段的结束定界符的任意字符串,也就是说在元素的内容中,字符数据不能有和号(&)和小于号(”在CDATA段中,字符数据可以是不包括CDATA段的结束定界符的任意字符串。,元素内容的构成 字符数据,判断下列元素的内容是否合法&/,标签间的字符数据的分类,字符数据的分类,PCDATA,CDATA,将由解析器解析,不会由解析器解析,JACKIE CHAN成龙,不允许在 CDATA 块之内使用字符串“”,因为它表示 CDATA 块的结束,元

8、素内容的构成 字符引用和预定义实体引用,在字符数据中,不能有和号()结束。如果用的是字符引用,需要在和号(&)之后加上一个井号(#),之后是所需字符的十进制代码或十六进制代码(ISO/IEC 10646字符集中字符的编码)。如果用的是预定义实体引用,在和号(&)之后写上字符的助记符。,元素内容的构成 字符引用和预定义实体引用,XML元素综合实例,通过下面的实例说明一下如何定义元素和如何使用元素。simple.xml,2.4属性,属性是指标记的属性,可以为标记添加附加信息。属性是一个名值对,即属性必须由名字和值组成。属性必须在非空标记的开始标记或空标记中声明,用“=”为属性指定一个值。,XML属

9、性的命名规则,英文名称必须以英文字母或者下划线“_”开头,中文名称必须以中文文字或者下划线“_”开头。在使用默认编码集的情况下,名称可以由英文字母、数字、下划线“_”、连接符”“-”和点号“.”构成。在指定编码集的情况下,名称中除上述字符外,还可以出现该字符集中的合法字符。名称中不能含有空格。名称中含有英文字母时,对大小写敏感。同一个元素不能有多个同名的属性。属性值使用单引号或双引号包围的字符串值。属性值包含特殊字符要使用字符引用或实体引用替换这些字符。,例如:,吃饭用的,元素内容转换属性,使用子元素表达数据和使用属性表达数据的结果是一样的。但使用属性表达数据时可能出现如下一些问题:属性不能包

10、含多个重复值,而子元素可以有任意次数的重复。属性不易扩展,子元素可以很轻松实现扩展。属性不能够描述文档结构,而通过子元素之间的关联关系可以描述文档结构属性不便用程序来处理属性值不易在DTD文档中进行限定。,推荐使用子元素来表达数据!,2.5 元素内容的构成 CDATA段,CDATA段中包含的都是纯字符数据,在字符数据可以出现的任何地方都可以使用CDATA段。CDATA段主要用于需要将整个文本解释为字符数据而不是标记的情况下。CDATA段中的内容不被XML解析器处理,可以在其中包含任意的字符,而且CDATA段中的内容在浏览器上被原样显示。但是,W3C规定,CDATA段中不可以嵌套另一个CDATA

11、段。CDATA段用“”作为段的结束,段开始和段结束之间称为CDATA段的内容。CDATA这几个字母必须大写,且不被其他字符隔开。编写带有CDATA段的XML文档 cdata.xml,CDATA段的位置,在XML文档中只能在根元素的文本内容中使用CDATA段,在XML标记中不能使用CDATA段,否则会出现解析错误,CDATA段也不能出现在其他非文本内容的文档元素中。示例:cdata1.xml,2.6 XML名称空间,一个XML文档中可以包含许多元素与属性,当我们使用其他人的XML文档,或者在文档中使用多个DTD文件时,就有可能碰到名称相同的元素,而这些名称相同的元素可能代表了完全不同的含义。比如

12、:title可以用于表示标题,也可以用于表示某个人的头衔;table可以用于表示表格,也可以用于表示桌子。当这些具有相同名称不同含义的元素混合到一个文档中时,就会造成理解和处理上的混乱。为了解决这个问题,就要用到W3C发布的另一个推荐标准 XML名称空间。可以在上查看XML名称空间规范的详细内容。,声明名称空间,名称空间通过使用一系列的保留属性来声明,这种属性的名字必须是以xmlns 或以 xmlns:作为前缀。与其它任何XML属性一样,这些属性可以直接或以缺省的方式给出。名称空间的声明有两种形式。,声明名称空间,第一种形式:元素名是指你在哪一个元素上声明名称空间,在这个元素上声明的名称空间适

13、用于声明它的元素和属性,以及该元素内容中的所有元素及其属性。xmlns:prefixname作为该元素的属性名,属性的值是一个URI引用,是标识该名称空间的名称空间名字。其中prefixname给出名称空间前缀的名字,该前缀用于将元素及属性的名字与URI关联在一起。要注意的是,在这样的声明中,名称空间的名字不能为空(“”)。如果有两个URI,其组成字符完全相同,可以认为它们标识了同一个名称空间。来自于XML名称空间的名字可以作为限定名(qualified names)出现,限定名包含了一个以冒号(:)分隔的名称空间前缀和一个本地部分(local part)。映射到URI引用的名称空间前缀选择了

14、一个名称空间。,声明名称空间,例子:名称空间前缀可以是不包含冒号的任何合法的XML名称。在声明名称空间时,有两个前缀是不允许使用的,它们是xml和xmlns。xml前缀只能用于XML1.0规范中定义的xml:space和xml:lang属性,前缀xml被定义为与名称空间名字绑定。前缀xmlns仅仅用于声明名称空间的绑定,它被定义为与名称空间名字绑定。,提示:名称空间推荐标准中指出,在名称空间声明中,使用相对URI引用已经被废弃了(不赞成使用)。,声明名称空间,第二种形式:这种声明形式没有给出名称空间的前缀名,URI所标识的是缺省的名称空间。在这样的缺省声明中,属性值可以为空(“”)。例子:表示

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

16、的前缀。缺省名称空间声明中的URI可以设为空字符串,这样的话,在它的声明范围内,没有前缀的元素将被认为不存在于任何的名称空间中,这和没有声明缺省名称空间是一样的。一个属性要想在某个名称空间中,必须给该属性加上名称空间的前缀,没有前缀的属性不在任何的名称空间中(包括缺省的名称空间)。即使拥有属性的元素在某个名称空间中,没有前缀的属性仍然不在该名称空间或任何其它的名称空间中。,名称空间在元素和属性中的运用,在XML文档中,没有任何一个标签可以包含两个相同的属性,所谓相同有两种情况,一种是属性的名字完全相同,另一种是属性限定名中的本地部分完全相同,而不同的前缀绑定到了相同的名称空间名字。,一个规范的

17、XML文件必须满足W3C所指定的标准,比如,文件用“XML声明”开始、文件有当且仅有一个根标记,其它标记都必须封装在根标记中,文件的标记必须是树型结构、非空标记必须由“开始标记”与“结束标记”组成、空标记没有“开始标记”和“结束标记”(良构的XML文档)规范的XML文件如果再符合额外的一些约束就称为有效的XML文件。(有效的XML文档),2.7 规范的XML文档,小结,为了解决多个XML文档命名冲突的问题,可以利用W3C发布的另一个推荐标准 XML名称空间。在声明名称空间时,选择的URI不需要指向实际的内容,在URI所标识的位置上,可以不存在任何东西。在名称空间声明中的URI,只是形式上的标识符,其唯一的目的是提供一个唯一的名字。在名称空间声明时,不能使用相对URI,而要使用绝对URI。来自于XML名称空间的名字可以作为限定名(qualified names)出现,限定名包含了一个以冒号(:)分隔的名称空间前缀和一个本地部分。要注意,没有冒号的名字也可以是限定名。缺省名称空间声明中的URI可以设为空字符串,在声明范围内,没有前缀的元素将被认为不存在于任何的名称空间中。一个属性要想在某个名称空间中,必须给该属性加上名称空间前缀,没有前缀的属性不在任何的名称空间中(包括缺省的名称空间)。即使拥有属性的元素在某个名称空间中,没有前缀的属性仍然不在该名称空间或任何其它的名称空间中。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号