《《web开发技术》—xml基础》由会员分享,可在线阅读,更多相关《《web开发技术》—xml基础(79页珍藏版)》请在金锄头文库上搜索。
1、XML基础目标 了解什么是XML 掌握XML文档结构 掌握XML文档验证 掌握XML名称空间 掌握XML显示和转换技术了解什么是XML 语义性差 HTML采用固定的标记集和固定的格式,其标记不能 表达出数据的意义,XML的标记是由用户自定义的。 交互能力差 采用提交的方式请求服务器进行处理,并将结果传回 给用户,使得服务器负担繁重,浪费了网络带宽和用 户时间,XML可以在本地进行处理和显示。 链接单调超文本链接机制不能实现一些更加复杂的链接关系 ,如多个目的端、多向链接。1.1.1 HTML存在的问题了解什么是XMLXML:可扩展的标记语言(Extensible Markup Language
2、) HTML:超文本标记语言(HyperText Markup Language) SGML:标准通用标记语言(Standard Generalized Markup Language) XML是SGML的一个子集,是由SGML简化而来。 HTML只使用了SGML中的很小的一部分标记,是SGML 的一个应用。 XML是W3C组织的推荐标准,第一个非正式版本诞生于 1996年11月,1998年2月W3C发布了XML1.0标准。 2000年10月W3C发布了XML1.0第二版。2004年2月4 日W3C发布了XML1.0推荐标准第三版,即XML1.1,现 在使用的是XML1.0标准。1.1.2 X
3、ML的产生了解什么是XMLW3C:World Wide Web Consortium,万维网联盟,成立于1994 年10月,以开放论坛的方式促进开发互通技术和网络的全部潜 能。W3C不是官方组织,因此将其发布的规范成为推荐标准, 因该组织自身的权威性这些标准往往成为事实上的标准。 一项技术要成为W3C推荐标准,需经过以下七个步骤: 1、W3C收到提交 任何W3C成员都可以提交一个建议。 2、W3C发布注释 注释是一个公开的文档,是对建议的描述,是一个讨论稿。 3、W3C成立工作组 W3C认可提交后,组织成员和感兴趣的团队成立工作组,确定 时间表,发布提议标准的工作草案。 4、W3C发布工作草案
4、 W3C在http:/www.w3.org 发布工作草案和一个公众讨论的邀请 。1.1.3 了解W3C组织了解什么是XML5、W3C发布侯选推荐标准 当规范比较复杂时,需要成员和软件开发商花更多的时间来测试 。 6、W3C发布提议的推荐标准 提议的推荐标准标志着工作组的工作已经进行到了最后阶段,其 内容仍然可以被修改。 7、W3C发布推荐标准 推荐标准经W3C的成员审阅,由W3C的主任加盖正式批准图章 而最终成为规范。推荐标准是一个稳定的文档,可以作为工作中 的参考资料。 由此可见,W3C对推荐标准的审查、批准的程序是比较复杂的, 也是十分严格的。 虽然W3C不是官方组织,但其发布的规范是 权
5、威的,成为事实上的标准。1.1.3 了解W3C组织了解什么是XML例1-1:test1.htmlHTML例子HTML例子1.1.4 XML与HTML之比较了解什么是XMLABC1.1.4 XML与HTML之比较了解什么是XML从上面的例子可以看出: 1、HTML的标记是固定的,而XML的标记是可以自己去创造新的 标记,且可以是中文标记,XML在设计之初就考虑到了国际化的 问题,XML同HTML4.01一样,是基于ISO/IEC 10646字符集标 准中定义的通用字符集。 2、XML无现成的一套标记供选择使用,完全需要我们自己去创建 ,XML是创建标记语言的元语言。 3、HTML文档将数据、页面
6、的排版和页面的表现形式混合在一起 ;而XML只是用于描述数据和数据的结构,在XML文档里并不 指定数据的显示方式,因此同一份数据可以用于不同的场合,采 用不同的方式去显示,真正做到了数据独立于应用系统,实现了 数据的可重用性。 4、HTML文档格式非常松散,导致了HTML文档解析的复杂性和浏 览器的兼容性问题。XML从一开始就对文档的格式制定了非常严 格的标准,凡是符合这一标准的XML文档就是格式良好的XML 文档(Well-Formed XML Documents)。1.1.4 XML与HTML之比较了解什么是XML格式良好的XML文档也称为格式正确的XML文档: 开始标签必须要有一个结束标
7、签配套 在HTML里可以直接使用、等标签,但在XML中,开始 标签和结束标签必须配套,即、。 空元素标签必须被关闭 在HTML文档里可以直接使用、标签,在XML中空元素 必须采用 / 来关闭,如:、 所有的标签都区分大小写 在HTML文档中标签不区分大小写,XML中的标签严格区分大小 写,且开始标签和结束标签的大小写必须保持一致。 所有的标签必须正确地嵌套,不允许出现交叉 在HTML文档中,abcd是允许的;但在XML中 ,所有的标签都要成对出现,不能交叉,正确形式为: abcd1.1.4 XML与HTML之比较了解什么是XML 所有标签的属性值必须采用引号括起来 在HTML文档中,属性值可以
8、加引号也可以不加引号 ,如:HTML例子和HTML例子都是合法的。但在XML 文档中,即使是数字字符,属性必须用引号(单引号 或双引号都可以)括起来,如: XML有且只能有一个根元素 在HTML文档中,可以有多个根元素,如: 但在XML中有且只能有一个根元素,如: 1.1.4 XML与HTML之比较了解什么是XML 所有标签的属性值必须采用引号括起来 在HTML文档中,属性值可以加引号也可以不加引号 ,如:HTML例子和HTML例子都是合法的。但在XML 文档中,即使是数字字符,属性必须用引号(单引号 或双引号都可以)括起来,如: XML有且只能有一个根元素 在HTML文档中,可以有多个根元素
9、,如: 但在XML中有且只能有一个根元素,如: 1.1.4 XML与HTML之比较了解什么是XML 所有标签的属性值必须采用引号括起来 在HTML文档中,属性值可以加引号也可以不加引号 ,如:HTML例子和HTML例子都是合法的。但在XML 文档中,即使是数字字符,属性必须用引号(单引号 或双引号都可以)括起来,如: XML有且只能有一个根元素 在HTML文档中,可以有多个根元素,如: 但在XML中有且只能有一个根元素,如: 1.1.4 XML与HTML之比较了解什么是XMLXML文档本身是纯文本格式,因此可用以下工具 进行编辑。 1、NotePad(记事本) 2、EditPro 3、Ultr
10、aEdit 4、XML Spy 5、XML Writer1.1.5 XML编写工具XML文档结构XML文档大体上可分为两个主要部分:序言 (prologue) 和文档实例部分(Document instance)。 序言可以包括处理指令、XML声明和架构声明( DTD、SCHEMA):1.2 XML文档组成XML文档结构XML文档总是以一个XML声明开始,必须位于文档的第一行,且前 面不能有任何字符。格式如下:其中 编码信息 和 文档独立性信息 可选。 版本声明 文档编码声明 XML默认编码方式是UTF-8,要使用中文可在声明中加上 encoding=“gb2312” 或 encoding=“
11、GB2312” 均可。如: 独立文档声明 指明是否依赖于外部文档,standalone=“yes”声明文档是独立的 文档,如果文档依赖于外部文档,可以通过standalone=“no”来 声明。如:1.2.1 XML声明XML文档结构DTD:Document Type Definition,文档类型定义,用来定 义XML文档中元素和属性的规则及相互关系,XML继承了 SGML的DTD机制。DTD也是一个文本文件,以.dtd为扩 展名。文档类型声明有两种形式,一种是直接在XML文档 中给出DTD,如: 另一种是声明DTD在外部文件中,如:1.2.2 文档类型声明 1.2.2: XML指令 用来给
12、处理XML的应用程序提供信息的,解 析器将该信息原封不动传递给应用程序, 由应用程序来解释这个指令,并按照它提 供的信息进行处理:XML文档结构 根元素:包含文档的数据,以及描述数据结构的信 息 有且只有一个根元素XML文档结构XML文档结构元素由开始标签、元素内容和结束标签构成。文档的基本构 成单元,可包含其它元素、字符数据、字符引用。没有内 容的元素是空元素,由空元素标签构成(如:),每 一个元素用一个名字标识,可以拥有属性集, 每一个属性是一个名值对。在给XML元素命名时需遵守命名 规范: 以字母、下划线和冒号(:)开头; 名称中可以包含字母、数字、下划线和其他在XML中允许 的字符;
13、名称中不能包含空格 名称中尽可能不要使用冒号,以免冲突1.2.3 XML元素XML文档结构 空元素 无内容的元素即空元素,书写的时候一定要写(/)来关闭标签。如: 带属性的元素 属性是一个名值对,如: 带内容的元素中国a 带内容和属性的元素201.2.4 XML元素形式XML文档结构元素:XML元素是指开始标签、结束标签以及两者 之间的任何内容。 标签:是一对尖括号1.2.6 XML元素内容XML文档结构例1-2:test3.xml:b) max=a; 当浏览器解释时,发现元素内容中出现字符,因是CDATA段的结 束定界符,所以会出现错误,可以通过在字符和之间插入空格或者 把 字符串分别放到两
14、个CDATA段中。 当字符数据中含有少量的特殊字符,可以采用字符引用或预定义实体应 用 的方式去引用。当遇到大量的特殊字符时,可以采用CDATA段进行处理 。1.2.6 XML元素内容XML文档结构 注释 XML注释与HTML注释类似,以 结束,位 于其中的数据将被XML处理器忽略。注释可以出现在文档 中其他标记之外的任何位置,还可以在文档类型声明语法 允许的地方出现。 1、注释不能出现在XML声明之前,以下情况不允许2、注释不能出现在标记中 如: 3、注释可以包围和隐藏标记,在保证剩余的文本仍然是一 个 结构完整的XML文档。1.2.6 XML元素内容XML文档结构例1-3:test4.xm
15、l:B4、字符串“-” 不允许出现在注释中。如: 5、在XML注释中不允许以 “- - -”结尾。1.2.6 XML元素内容XML文档结构 处理指令(PI) PI:(Processing Instructions)处理指令允许文档中包含由 应用程序来处理的指令。在XML中包含的一些非XML格式 化的数据,这些数据XML处理器无法处理,可以通过才处 理指令来通知其他应用程序来处理。如使用样式表的处理 指令如下: 空白处理 在编写XML文档时经常使用空白(空格、制表符、空行) 来分隔标记,以获得较好的可读性。在XML文档中,可以 在元素中使用一个特殊的属性xml:space来通知应用程序 保留此元
16、素中的空白。如:1.2.6 XML元素内容XML文档结构 行尾处理 XML数据以文本的方式保留在计算机文件中,以行来分隔。在XML空 白字符中,有两个标准的ASCII码行尾控制字符:回车(CR,#xA)和换 行(LF,#xD)。Windows:以#xD#xA作为行分隔符,linux、Unix以#xA 作为行分隔符,Mac OS:以#xD作为行分隔符。XML处理器在解析前 ,要将#xD#xA及#xD转换成单个的#xA字符。 语言标识 通过在文档中插入一个特殊的属性xml:lang 来指出XML文档中任何元 素和属性的值所使用的语言。如: abcd1.2.6 XML元素内容XML文档验证DTD是用来定义一个XML文档的结构及其允许的内容、元素 与元素之间关系的一种机制。 文档类型声明必须在XML声明之后,且在根元素之前。在 XML声明和文档类型声明之间可以插入注释和处理指令。 在XML文档