1、Copyright Pingfeng Liu第第4章章 XML语言和名字空间语言和名字空间8/16/20231(1)为什么要学XML?HTML的缺点 html对布局、外观方面很擅长,却极度缺乏对内容,也就是信息涵义的表达能力。除了少数几个用来表达内容和文意的标签以外(如:、)几乎全都是用来设计网页格局的。无法保存数据信息原有的一个架构。这样就无法适应电子商务时代信息互传的这样一个需求。8/16/20232Copyright Pingfeng LiuXML的优势 可以自己定义赋有内涵的标签。可以按照自己的意思充分表达文件的内容。技术门槛低,有html基础的都可以较为轻松上手。因为写法与html类
2、似。且标签可以是中文的。8/16/20233Copyright Pingfeng LiuXML标记语言可以以文件、数据流、数据库结果集以及由应用程序动态产生的结果等形式存在,称之为XML数据对象.8/16/20234Copyright Pingfeng Liu(3)常用术语 元素element 元素=标记+内容 例如:似是故人来 标记tag 标记是用来定义元素的,在XML中,标记必须成对出 现,将数据包围在中间。上例中就是标记 属性attribute 例如:似是故人来8/16/20235Copyright Pingfeng Liu 声明declaration 一般放在XML文档的第一行,包含v
3、ersion、encoding、standalone一些属性。version 是必须要赋值的.其余的可省略,但还是应该遵从XML标准的要求,把该写的都写上。格式:8/16/20236Copyright Pingfeng Liu 文件类型定义(DTD)定义XML文档中元素、属性以及元素之间关系的定义。用来检查XML文档的结构是否正确。8/16/20237Copyright Pingfeng Liu4.2 合格的(well-formed)XML文档 所有元素都要有结束标记.标记之间的嵌套要正确 所有属性都要加上引号 包含一个或多个元素,有且仅有一个根元素 直接或间接引用的每一个被解析的实体都是格式
4、良好的8/16/20238Copyright Pingfeng Liu4.3 XML文件的整体结构XML文件的最基本的构成为:声明 处理指令 xml元素 台湾歌手 周杰伦 以父之名 东风破 中国 阿尔法 10.90 2003 8/16/20239Copyright Pingfeng Liu试试看用XML标记描述武汉地区的大学武汉理工大学(地址、校长)华中科技大学武汉大学大学经济学院材料学院电子商务专业国际贸易专业4.3 XML文件的整体结构8/16/202310Copyright Pingfeng Liu4.4 XML文件的详细结构格式:,一般出现在xml文件的第一行。属性说明:version
5、属性-必须包括,指明XML的版本号,而且必须在属性列表中的第一位。encoding属性-采用那种字符集对xml进行编码。可以省略,默认属性是unicode。standalone属性-指定是否和声明文件(DTD)配套使用。8/16/202311Copyright Pingfeng Liu(2)XML元素 元素用标记来定义。包含标记名与其中的内容。书写标记名称时应注意的几点。(1)名称中可以包含字母、数字以及其他字母。(2)不能以数字或下划线开头。(3)不能以字母xml开头 (4)不能包含空格 (5)不能包含“:”4.4 XML文件的详细结构8/16/202312Copyright Pingfen
6、g Liu(3)处理指示 格式:作用 用来给处理xml文件的应用程序提供对xml文档如何处理的指示信息。也可以传递给下一个应用程序。处理指示名xml已经留给声明4.4 XML文件的详细结构8/16/202313Copyright Pingfeng Liu(4)字符数据 标记之间任何内容(包括换行符)都被视为字符数据。如:武汉理工大学4.4 XML文件的详细结构(5)字符实体 用途 当在文档中出现可能致使系统误会的符 号的时候,我们就用字符实体来代替这 样的一个符号。8/16/202314Copyright Pingfeng Liu(6)CDATA 区 在该标记作用范围内的所有内容都会被当作成字
7、符数据。格式:示例:4.4 XML文件的详细结构8/16/202315Copyright Pingfeng Liu(7)标记(又称标签)用来定义元素 可自己创建标记。而不必象html一样一定要是使用固有的标记,但语法更严格。使用标记应该注意的问题:(1)不能缺少标记 (2)大小写会有区别.(、)(3)空标记的使用方法:(4)标记的嵌套一定要正确.属性值要用引号包围。(5)标记名称要合法.(p154)4.4 XML文件的详细结构8/16/202316Copyright Pingfeng Liu(8)注释 它起一种帮助我们阅读和理解所写文档的作用。处于该标记里的文本内容不会被当成是是字符数据。使用
8、格式:应该注意的问题:注释文本中不要出现字符“-”或“-”(2)不要放在标记和声明中 (3)注释不能被嵌套.4.4 XML文件的详细结构8/16/202317Copyright Pingfeng Liu4.5 XML中的名字空间NOKIA3210A3210T0052080 8/16/202318Copyright Pingfeng LiuNOKIA3210A3210T0052080(010)64356543 4.5 XML中的名字空间8/16/202319Copyright Pingfeng Liu 作用 防止同名元素见出现冲突 示例:示例:解决的方法 在名称前给出特定的标识,并保持标识的唯一
9、性。uri(universal resource identifier)url(universal resource locater)urn(universal resource name).指定不同的DTD从而加以区别4.5 XML中的名字空间8/16/202320Copyright Pingfeng Liu(1)名字空间原理 原理 标识+名称 让每个xml语汇中的元素、属性名都有自己 的天地。而不会和其他语汇中同名元素冲突。也就是使自己的元素名称能独一无二 例如:4.5 XML中的名字空间8/16/202321Copyright Pingfeng Liu名字空间前缀 作用 用来代替所指定的
10、名字空间既一个名字空间的别名。例如 武汉分店=s/wuhan.dtd 前缀的具体含义 是一个名字空间的代替标识,在使用的时候标上前缀,则xml分析器会把它自动解释为它所代表的名字空间URI。通过使用不同的前缀可以很方便的实现在同一文档中实现多种语汇并用。4.5 XML中的名字空间8/16/202322Copyright Pingfeng Liu前缀字串 应注意的问题 可以由编辑XML文件的人自由指定,但需要遵守以下规则。1、字串中只能含有英文字母,和所有收录 在Unicode中的汉字.2、使用者自定的前缀字串不允许用“xml”这 三个字母来起头.3、字串应该简短、达意,即方便书写,也 方便阅读
11、。4.5 XML中的名字空间8/16/202323Copyright Pingfeng Liu(2)如何声明名字空间名称空间必须放在一个元素的标签里。放在哪个标签里视需要而定.使用方式一:直接定义方式 格式:xmlns:名字空间前缀=“名字空间名”例如:xmlns:武汉分店=“s/wuhan.dtd”4.5 XML中的名字空间8/16/202324Copyright Pingfeng Liu 使用方式二:默认方式 方法:xmlns=“名字空间名”当没有在名称前面指定其他名字空间 名字时候,则将默认方式所指定的名字 名字应用其上。示例:4.5 XML中的名字空间8/16/202325Copyri
12、ght Pingfeng Liu(3)名字空间的范畴名字空间的范畴,决定了名字空间的作用范围。名字空间的作用范围是从它被定义的那个标记到相应的结束标记,注意中间没有被别的名字空间把它覆盖掉。.判断下面的名字空间的使用是否正确:4.5 XML中的名字空间8/16/202326Copyright Pingfeng Liuafdsfasdfsad名字空间的作用对象可为元素或属性。4.5 XML中的名字空间8/16/202327Copyright Pingfeng Liu4.6 单元案例利用XML描述下面一张具体的出库单点击查看XML文档8/16/202328Copyright Pingfeng Li
13、u4.7 小结 本章主要讲解了XML相对于HTML的优势、XML数据对象的概念、XML中涉及的基本概念、XML文档的基本结构与详细结构、什么是格式良好的XML文档、名字空间的作用、如何定义和使用名字空间。注意:XML文档用来描述具体实例,而如何描述实例的规则将用DTD和Schema来定义,这将在下一章中具体讨论。8/16/202329Copyright Pingfeng Liu习题作业1.形式良好的XML的要求是什么?2.说明XML文档的整体结构。3.什么是元素、标签、属性、声明、DTD?4.XML声明的属性包括哪些?5.XML对元素名的规定?6.名字空间的作用是什么?如何对元素和属性使用名字空间?7.如何理解名字空间的作用域?8/16/202330结束语:结束语:谢谢您的到来,为方便回顾本课程内容,可在课件下载后进行查看,对疑问之处可随时提问Thank you for coming.For the convenience of reviewing the content of this course,you can view it after downloading the courseware.You can ask questions at any time