第3章之Schema.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章之Schema

第3章 之Schema 3.0 XML命名空间 XML规范提供了命名空间机制,用来解决同一个XML文档中使用相同标记名而代表不同意义的元素所引起的冲突问题,以及在同一个XML文档中使用不同的标记语言集合而产生的的混淆问题。 3.0 xml命名空间 下面的例子中有两个标记的名字都是“张大山”: ?xml version=1.0 encoding=“gb2312? 简历总汇 张大山1986年,IT经验丰富/张大山 张大山1982年,销售经验丰富/张大山 李小四1968年,在银行工作过/李小四 /简历总汇 解析该xml数据时,无法通过标记名区分这两个人,所以应该使用命名空间来区分这样的标记。 命名空间的定义 命名空间是一组保持唯一的名称。例如,可以将我的所有孩子的姓名视为一个命名空间,就像加利福尼亚州的公司的名称或 Internet 域名。命名空间就是在逻辑上相关的任何一组名称,而且每个名称都必须唯一。 名称空间通过使用声明名称空间来建立,分为有前缀名称空间和无前缀名称空间 命名空间的定义 有前缀的名称空间的语法如下:xmlns:前缀=名称空间的名字 例如:xmlns:person=China.dalian 无前缀的名称空间(又叫做默认的命名空间)声明语法如下: xmlns=名称空间的名字 例如: xmlns = 如何判断命名空间相同? 两个命名空间相同是指当且仅当它们的名字相同,跟前缀无关,前缀仅仅是为了方便引用命名空间。下面声明3个不同命名空间 xmlns:north=liaoning xmlns:north=Liaoning xmlns:center=beijing 下面声明两个相同命名空间: xmlns:hello=apple xmlns:ok=apple 标记中声明命名空间 名称空间的声明必须放在“开始标记”中标记名字的后面,例如: 张大山 xmlns:p1=liaoning 1986年出生。 /张大山 book xmlns = xml程序设计 /book 带前缀的命名空间的作用域 ※如果在一个标记中声明了名称空间,那么该标记及其所有的子孙标记都可以有资格使用该命名空间。 ※如果一个标记中声明的是有前缀的名称空间,那么该标记及其子孙标记如果准备隶属该名称空间,必须通过名称空间的前缀引用这个名称空间,使得该标记隶属于这个名称空间. 命名空间的使用 一个标记通过在标记名字的前面添加命名空间的前缀和冒号来引用命名空间,表明此标记隶属于该命名空间。 下例中,有两个标记名字都是“张大山”,有两个标记都是“张淘气”,但是通过使用命名空间,让它们区别开来: ?xml version=1.0 encoding=UTF-8 ? people p1:张大山 xmlns:p1=Liaoning 1986年出生,他有一个儿子叫张淘气。 p1:张淘气 在小学读书 /p1:张淘气 /p1:张大山 p2:张大山 xmlns:p2=Beijing 1982年出生,他有一个儿子叫张淘气。 p2:张淘气 在初中读书 /p2:张淘气 /p2:张大山 /people 默认名称空间作用域 可将文档中使用较多的名称空间定义为默认名称空间。 如果一个标记中声明的是默认的命名空间,那么该标记及其子孙标记只要它们没有前缀则都隶属于这个名称空间。 下例中所有标记都隶属于 “ ”命名空间 book xmlns = java Java2 实用教程 author 耿祥义 /author /java jsp JSP程序设计(第二版) author 耿祥义 /author /jsp pattern Java设计模式 author 耿祥义 /author /pattern /book 命名空间 尽管子标记可以通过名称空间的前缀来引用父标记声明名称空间表明自己隶属该名称空间,但子标记也可以重新声明名称空间。 下例中标记”李四“隶属于命名空间”Liaoning“,但”李四“的子标记”李出国“通过重新声明新的命名空间American,让自己隶属于这个新命名空间。 ?xml version=1.0 encoding=UTF-8 ? people xmlns=public.of.china p1:李四 xmlns:p1=Liaoning 在建筑公司担任工程师 usa:李出国 xmlns:usa=American 在美国学习英

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档