《Web开发技术》—XML基础ppt课件.ppt_第1页
《Web开发技术》—XML基础ppt课件.ppt_第2页
《Web开发技术》—XML基础ppt课件.ppt_第3页
《Web开发技术》—XML基础ppt课件.ppt_第4页
《Web开发技术》—XML基础ppt课件.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

XML基础 目标 了解什么是XML掌握XML文档结构掌握XML文档验证掌握XML名称空间掌握XML显示和转换技术 了解什么是XML 语义性差HTML采用固定的标记集和固定的格式 其标记不能表达出数据的意义 XML的标记是由用户自定义的 交互能力差采用提交的方式请求服务器进行处理 并将结果传回给用户 使得服务器负担繁重 浪费了网络带宽和用户时间 XML可以在本地进行处理和显示 链接单调超文本链接机制不能实现一些更加复杂的链接关系 如多个目的端 多向链接 1 1 1HTML存在的问题 了解什么是XML XML 可扩展的标记语言 ExtensibleMarkupLanguage HTML 超文本标记语言 HyperTextMarkupLanguage SGML 标准通用标记语言 StandardGeneralizedMarkupLanguage 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 2XML的产生 了解什么是XML W3C WorldWideWebConsortium 万维网联盟 成立于1994年10月 以开放论坛的方式促进开发互通技术和网络的全部潜能 W3C不是官方组织 因此将其发布的规范成为推荐标准 因该组织自身的权威性这些标准往往成为事实上的标准 一项技术要成为W3C推荐标准 需经过以下七个步骤 1 W3C收到提交任何W3C成员都可以提交一个建议 2 W3C发布注释注释是一个公开的文档 是对建议的描述 是一个讨论稿 3 W3C成立工作组W3C认可提交后 组织成员和感兴趣的团队成立工作组 确定时间表 发布提议标准的工作草案 4 W3C发布工作草案W3C在发布工作草案和一个公众讨论的邀请 1 1 3了解W3C组织 了解什么是XML 5 W3C发布侯选推荐标准当规范比较复杂时 需要成员和软件开发商花更多的时间来测试 6 W3C发布提议的推荐标准提议的推荐标准标志着工作组的工作已经进行到了最后阶段 其内容仍然可以被修改 7 W3C发布推荐标准推荐标准经W3C的成员审阅 由W3C的主任加盖正式批准图章而最终成为规范 推荐标准是一个稳定的文档 可以作为工作中的参考资料 由此可见 W3C对推荐标准的审查 批准的程序是比较复杂的 也是十分严格的 虽然W3C不是官方组织 但其发布的规范是权威的 成为事实上的标准 1 1 3了解W3C组织 了解什么是XML 例1 1 test1 htmlHTML例子HTML例子 1 1 4XML与HTML之比较 了解什么是XML ABC 1 1 4XML与HTML之比较 了解什么是XML 从上面的例子可以看出 1 HTML的标记是固定的 而XML的标记是可以自己去创造新的标记 且可以是中文标记 XML在设计之初就考虑到了国际化的问题 XML同HTML4 01一样 是基于ISO IEC10646字符集标准中定义的通用字符集 2 XML无现成的一套标记供选择使用 完全需要我们自己去创建 XML是创建标记语言的元语言 3 HTML文档将数据 页面的排版和页面的表现形式混合在一起 而XML只是用于描述数据和数据的结构 在XML文档里并不指定数据的显示方式 因此同一份数据可以用于不同的场合 采用不同的方式去显示 真正做到了数据独立于应用系统 实现了数据的可重用性 4 HTML文档格式非常松散 导致了HTML文档解析的复杂性和浏览器的兼容性问题 XML从一开始就对文档的格式制定了非常严格的标准 凡是符合这一标准的XML文档就是格式良好的XML文档 Well FormedXMLDocuments 1 1 4XML与HTML之比较 了解什么是XML 格式良好的XML文档也称为格式正确的XML文档 开始标签必须要有一个结束标签配套在HTML里可以直接使用 等标签 但在XML中 开始标签和结束标签必须配套 即 空元素标签必须被关闭在HTML文档里可以直接使用 标签 在XML中空元素必须采用 来关闭 如 所有的标签都区分大小写在HTML文档中标签不区分大小写 XML中的标签严格区分大小写 且开始标签和结束标签的大小写必须保持一致 所有的标签必须正确地嵌套 不允许出现交叉在HTML文档中 abcd是允许的 但在XML中 所有的标签都要成对出现 不能交叉 正确形式为 abcd 1 1 4XML与HTML之比较 了解什么是XML 所有标签的属性值必须采用引号括起来在HTML文档中 属性值可以加引号也可以不加引号 如 HTML例子和HTML例子都是合法的 但在XML文档中 即使是数字字符 属性必须用引号 单引号或双引号都可以 括起来 如 XML有且只能有一个根元素在HTML文档中 可以有多个根元素 如 但在XML中有且只能有一个根元素 如 1 1 4XML与HTML之比较 了解什么是XML 所有标签的属性值必须采用引号括起来在HTML文档中 属性值可以加引号也可以不加引号 如 HTML例子和HTML例子都是合法的 但在XML文档中 即使是数字字符 属性必须用引号 单引号或双引号都可以 括起来 如 XML有且只能有一个根元素在HTML文档中 可以有多个根元素 如 但在XML中有且只能有一个根元素 如 1 1 4XML与HTML之比较 了解什么是XML 所有标签的属性值必须采用引号括起来在HTML文档中 属性值可以加引号也可以不加引号 如 HTML例子和HTML例子都是合法的 但在XML文档中 即使是数字字符 属性必须用引号 单引号或双引号都可以 括起来 如 XML有且只能有一个根元素在HTML文档中 可以有多个根元素 如 但在XML中有且只能有一个根元素 如 1 1 4XML与HTML之比较 了解什么是XML XML文档本身是纯文本格式 因此可用以下工具进行编辑 1 NotePad 记事本 2 EditPro3 UltraEdit4 XMLSpy5 XMLWriter 1 1 5XML编写工具 XML文档结构 XML文档大体上可分为两个主要部分 序言 prologue 和文档实例部分 Documentinstance 序言可以包括处理指令 XML声明和架构声明 DTD SCHEMA 1 2XML文档组成 XML文档结构 XML文档总是以一个XML声明开始 必须位于文档的第一行 且前面不能有任何字符 格式如下 其中编码信息和文档独立性信息可选 版本声明文档编码声明XML默认编码方式是UTF 8 要使用中文可在声明中加上encoding gb2312 或encoding GB2312 均可 如 独立文档声明指明是否依赖于外部文档 standalone yes 声明文档是独立的文档 如果文档依赖于外部文档 可以通过standalone no 来声明 如 1 2 1XML声明 XML文档结构 DTD DocumentTypeDefinition 文档类型定义 用来定义XML文档中元素和属性的规则及相互关系 XML继承了SGML的DTD机制 DTD也是一个文本文件 以 dtd为扩展名 文档类型声明有两种形式 一种是直接在XML文档中给出DTD 如 另一种是声明DTD在外部文件中 如 1 2 2文档类型声明 1 2 2 XML指令用来给处理XML的应用程序提供信息的 解析器将该信息原封不动传递给应用程序 由应用程序来解释这个指令 并按照它提供的信息进行处理 XML文档结构 根元素 包含文档的数据 以及描述数据结构的信息有且只有一个根元素 XML文档结构 XML文档结构 元素由开始标签 元素内容和结束标签构成 文档的基本构成单元 可包含其它元素 字符数据 字符引用 没有内容的元素是空元素 由空元素标签构成 如 每一个元素用一个名字标识 可以拥有属性集 每一个属性是一个名值对 在给XML元素命名时需遵守命名规范 以字母 下划线和冒号 开头 名称中可以包含字母 数字 下划线和其他在XML中允许的字符 名称中不能包含空格名称中尽可能不要使用冒号 以免冲突 1 2 3XML元素 XML文档结构 空元素无内容的元素即空元素 书写的时候一定要写 来关闭标签 如 带属性的元素属性是一个名值对 如 带内容的元素中国a带内容和属性的元素20 1 2 4XML元素形式 XML文档结构 元素 XML元素是指开始标签 结束标签以及两者之间的任何内容 标签 是一对尖括号和两者之间的内容 如 均是标签 则为data元素 1 2 5XML元素和标签 XML文档结构 XML元素的内容可以包括子元素 字符数据 字符引用和实体引用 CDATA段 子元素子元素是相对于父元素而言 子元素是嵌套在上层元素之内 如 A字符数据在一个元素的内容中 字符数据不能有和号 小于号 如 都是错误的 1 2 6XML元素内容 XML文档结构 字符引用和预定义实体引用在字符数据中不能有和号 和小于号 因为在XML文档解释中会被作为标记的起始定界符来对待 确因在XML中需要出现 和 可以通过字符引用或预定义实体引用的方式去引用 5个特殊字符的字符引用和实体引用如下 1 2 6XML元素内容 XML文档结构 字符引用和预定义实体引用都是以一个和号 1 2 6XML元素内容 XML文档结构 例1 2 test3 xml b max a 当浏览器解释时 发现元素内容中出现字符 因 是CDATA段的结束定界符 所以会出现错误 可以通过在字符 和 之间插入空格或者把字符串分别放到两个CDATA段中 当字符数据中含有少量的特殊字符 可以采用字符引用或预定义实体应用的方式去引用 当遇到大量的特殊字符时 可以采用CDATA段进行处理 1 2 6XML元素内容 XML文档结构 注释XML注释与HTML注释类似 以结束 位于其中的数据将被XML处理器忽略 注释可以出现在文档中其他标记之外的任何位置 还可以在文档类型声明语法允许的地方出现 1 注释不能出现在XML声明之前 以下情况不允许2 注释不能出现在标记中如 3 注释可以包围和隐藏标记 在保证剩余的文本仍然是一个结构完整的XML文档 1 2 6XML元素内容 XML文档结构 例1 3 test4 xml B4 字符串 不允许出现在注释中 如 5 在XML注释中不允许以 结尾 1 2 6XML元素内容 XML文档结构 处理指令 PI PI ProcessingInstructions 处理指令允许文档中包含由应用程序来处理的指令 在XML中包含的一些非XML格式化的数据 这些数据XML处理器无法处理 可以通过才处理指令来通知其他应用程序来处理 如使用样式表的处理指令如下 空白处理在编写XML文档时经常使用空白 空格 制表符 空行 来分隔标记 以获得较好的可读性 在XML文档中 可以在元素中使用一个特殊的属性xml space来通知应用程序保留此元素中的空白 如 1 2 6XML元素内容 XML文档结构 行尾处理XML数据以文本的方式保留在计算机文件中 以行来分隔 在XML空白字符中 有两个标准的ASCII码行尾控制字符 回车 CR xA 和换行 LF xD Windows 以 xD xA作为行分隔符 linux Unix以 xA作为行分隔符 MacOS 以 xD作为行分隔符 XML处理器在解析前 要将 xD xA及 xD转换成单个的 xA字符 语言标识通过在文档中插入一个特殊的属性xml lang来指出XML文档中任何元素和属性的值所使用的语言 如 abcd 1 2 6XML元素内容 XML文档验证 DTD是用来定义一个XML文档的结构及其允许的内容 元素与元素之间关系的一种机制 文档类型声明必须在XML声明之后 且在根元素之前 在XML声明和文档类型声明之间可以插入注释和处理指令 在XML文档中引入DTD有两种方式 1 直接在XML中定义DTD 如 1 3XML文档验证 1 3 1文档类型定义 DTD XML文档验证 DTD中所有的关键字都是大写的 DTD中定义的元素大小写是任意指定的 但要保持一致 2 外部DTD在XML文档类型声明时 采用SYSTEM或PUBLIC关键字来指出外部DTD文件的位置 语法如下 SYSTEM关键字表示文档使用的是私有的DTD文件 可以使用相对路径或绝对路径来指定DTD文件路径 DTD文件扩展名可以不为 dtd 但一般采用 dtd 1 3XML文档验证 1 3 1文档类型定义 DTD XML文档验证 如 使用PUBLIC关键字声明的语法如下 DTD的名称成为公共标识符 DTD可以存放在某个公共的地方 XML处理程序会根据名称按照某种方式去检索DTD 如果检索不到 则使用 外部DTD文件的路径 来查找该DTD 1 3XML文档验证 1 3 1文档类型定义 DTD XML文档验证 DTD名称只能包含ASCII字母和数字字符 空格 回车符 换行符和一些标点符合 公共DTD名称需遵守如下约定 ISO批准的DTD 名称要以字符串 ISO 开始非ISO标准组织批准的DTD 名称以 开始 非标准组织批准的DTD 名称以 开始 格式如下 约定符号 DTD所有者名字 DTD描述的文档类型 语言标识符如 jack DTDEX1 0 ZH 1 3XML文档验证 1 3 1文档类型定义 DTD XML文档验证 如 HTML文档常件的文档类型定义 1 3XML文档验证 1 3 1文档类型定义 DTD XML文档验证 DTD的结构一般由元素类型声明 属性表声明 实体声明 记号声明等构成 1 元素类型声明元素类型声明说明了每个文档中可能存在的元素 元素名称及元素的具体类型 元素类型声明采用的语法格式如下 元素内容说明包括以下5种可能的元素内容形式 PCDATA关键字PCDATA说明元素包括字符数据 1 3 2DTD结构 XML文档验证 例1 3 2 test5 xml J2EE 2 子元素说明元素包含的是子元素 当一个元素只包含子元素而无字符数据时 则称此元素具有元素型内容 在该元素的类型声明时 采用内容模型来指定其在内容上的约束 内容模型是决定子元素类型和子元素出现顺序的一种简单语法 1 3 2DTD结构 XML文档验证 例1 3 2 test7 xml J2EE清华大学出版社30用逗号隔开的一系列子元素成为一个序列 表示这些元素在文档中要严格按照序列的顺序出现在文档中 元素声明的顺序可以随意安排 1 3 2DTD结构 XML文档验证 例1 3 2 test8 xml J2EE清华大学出版社30张三表明author元素必须要有one或two的其中一个子元素 1 3 2DTD结构 XML文档验证 例1 3 2 test9 xml 张三20足球编程 表示可以出现零个或多个inter元素 1 3 2DTD结构 XML文档验证 表示可以出现一个或多个inter元素 表示可以出现零个或一个inter元素括号 逗号 竖线 星号 问号和加号可以进行组合 说明很复杂的内容模型 如 1 3 2DTD结构 XML文档验证 3 混合内容元素既可以包括字符数据 也可以包括子元素 混合内容必须被定义零个或多个 例 1 3 2 test10 xml xx20表示student可以包含零个或多个字符数据 包含零个或多个age子元素 1 3 2DTD结构 XML文档验证 在使用混合内容模型时 PCDATA关键字必须是模型中的第一个选项 不能在模型中使用逗号 问号或加号 4 EMPTYEMPTY关键字表明该元素既不包含字符数据 也不包含子元素 是一个空元素 如 5 ANYANY关键字表明该元素可以包含任何的字符数据和子元素 如 1 3 2DTD结构 XML文档验证 2 实体声明对经常出现的 重复使用的内容可以采用定义实体 当XML处理器对文档进行分析处理后 引用实体的位置会被实体所替换 实体分一般实体和参数实体 一般实体是在文档内容中使用的实体 参数实体则是在DTD中使用的已分析的实体 一般实体的声明语法 引用实体的方式为 例 1 3 2 test11 xml 1 3 2DTD结构 XML文档验证 1 3 2DTD结构 XML文档验证 参数实体只能在DTD中使用 声明语法如下 引用实体的方式 实体名 例1 3 2 test12 dtd 1 3 2DTD结构 XML文档验证 test12 xml xx内部实体和外部实体 内部实体在XML文档内部定义 实体的内容在声明中给出 内部实体都是已分析的实体 一般实体和参数实体可以成为内部一般实体和内部参数实体 1 3 2DTD结构 XML文档验证 外部实体在单独的文件中定义 外部实体可以是已分析实体 也可以是未分析实体 外部一般实体的声明形式如下 a xml内容如下 2008 J2EE Allrightsreserved公共的外部一般实体声明形式如下 1 3 2DTD结构 XML文档验证 3 属性表声明声明格式如下 属性类型共有10种类型 默认声明共有4种 默认声明用于说明在元素中该属性是否必须出现 如果不是必须出现 当没有出现时 XML处理器该如何处理 REQUIRED说明必须为该元素提供属性 见test13 xml IMPLIED说明该元素可以包含该属性 也可以不包含该属性 1 3 2DTD结构 XML文档验证 FIXED默认值说明一个固定的属性默认值 文档的编写者不能修改该属性值 例1 3 2 见test14 xml只有默认值用该种方式声明的属性可以被修改 例1 3 2 见test15 xml属性类型CDATA表明属性值为字符数据枚举类型 1 3 2DTD结构 XML文档验证 如 ID IDREF IDREFS一个ID类型的属性值唯一标识XML文档中的一个元素 见test16 xml通过IDREF可以建立元素之间的关系 见 test17 xml如果一个属性需要引用多个ID类型的属性值 则可以声明为IDREFS类型 见 test18 xmlENTITY ENTITIESENTITY类型的属性将外部的二进制数据链接到文档 ENTITIES类型的属性是将多个以空格分隔的ENTITY类型链接至文档 1 3 2DTD结构 XML文档验证 如 记号gif的声明采用引用图像 如果引用多个 声明为 则采用引用图像 1 3 2DTD结构 XML文档验证 NMTOKEN NMTOKENS 名称标记 NMTOKEN名称标记是任何字符的混合体 只能包含名称字符 不能包含空白字符 如限制书名不能有空格 声明如下 NMTOKENS表示由多个名称标记组成 各名称标记之间采用空格隔开 如 1 3 2DTD结构 XML文档验证 4 记号声明采用记号声明 为非XML数据描述一种可能的格式或指定一个外部的处理程序 记号声明有两种形式 一种是采用MIME类型 声明如下 另一种是采用URI路径指出外部处理程序的路径 声明如下 1 3 2DTD结构 XML文档验证 格式良好的XML文档 遵守XML规范即可 有效的XML文档 遵守XML规范且遵守相应的DTD约束 1 4有效的XML DTD的缺点 它使用自己的一套语法 与文档实例的语法截然不同 目前几乎没有解析器能够简便地访问它们所处理的DTD中的声明 DTD提供的条件选择结构不能实现动态创建DTDDTD是一种封闭的结构DTD在数据类型信息方面也存在一定的缺陷 DTD文档 Schema的优点 更丰富的数据类型 支持布尔值 整数 日期和时间 统一资源描述符 UniformRestoreIdentifier URL 整数 小数 实数 时间间隔等 支持用户定义的类型 称做原型 archetype 这样用户可以定义自己命名的数据类型 支持属性组 这使得模式作者可以显式的定义几个元素之间的关系 可精简的原型或继承关系 这允许出现比DTD定义的闭合模型更有灵活性的内容模型 支持命名空间支持 这使得使用了命名空间的文档的确认能够更简单 Schema文档 DTDvsSchema Schema文档 DTDvsSchema Schema文档 DTDvsSchema Schema文档 DTDvsSchema ToveJaniReminderDon tforgetmethisweekend Schema文档 转成DTD Schema文档 转成Schema Schema文档 Schema支持的原子类型string 字符数据boolean 布尔值date 日期dateTime 当前时间 由日期和时间构成time 24小时格式的时间decimal 任意精度和位数的十进制数integer 整数float 三十二位浮点数 Schema文档 用于定义简单数据类型规则的关键字 Schema文档 XML名称空间 在一个XML文档中可以包含许多元素和属性 当使用其他人的XML文档或在文档中使用多个DTD文件时 可能出现名称相同的元素却代表截然不同的含义 为了解决这一问题 通过给元素或属性加一名称空间来唯一标识 1 4 1什么是XML名称空间 1 4 2XML名称空间声明 如 采用来限定引用注意 xml xmlns不能用于名称空间前缀 XML名称空间 2 URI标识的是默认的名称空间 属性值可以为空 如 例 1 4 1 xml 1 4 2 xml一个元素可以有多个名称空间前缀作为其属性 例 1 4 3 xml 1 4 2XML名称空间声明 1 4 3默认名称空间声明 采用无前缀名的xmlns属性将默认的名称空间附加给元素及其子元素 例 1 4 4 xml XML名称空间 可以给属性添加名称空间例 1 4 5 xml 1 4 4属性添加名称空间 1 4 4名称空间与DTD 如果文档中的元素使用了名称空间 则DTD需要重写 例 1 4 6 xml也可以使用默认的名称空间例 1 4 7 xml XML显示和转换 CSS CascadingStyleSheets 层叠样式表 通过处理指令 可以将CSS应用于XML文档的显示 也可以将多个CSS应用于单个XML文档 例 1 5 1 css 1 5 1 xml 1 5 1采用CSS显示XML XML显示 转换技

温馨提示

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

评论

0/150

提交评论