第4章 在XML文档中使用 Schema.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 在XML文档中使用 Schema

补充 第333章 XML中的名称空间 学习目标 名称空间的目的是为了有效地区分名字相同的标记,当两个标记的名字相同时,可以通过隶属于不同的名称空间相互区分。通过本章学习,了解,掌握?xml version=1.0 encoding=gb2312? 教工资料 教工 姓名苏青/姓名 性别男/性别 电电话 职称副研究员/职称 家属 姓名王静/姓名 电电话 /家属 /教工 /教工资料 在这个文件中,姓名和电话两个元素在不同的上下文中使用了两次,一次是作为教工的资料,另一次是作为家属的,这两个标记应用的范围不同,而标记名却一样,尽管我们可以轻松地识别出它们的区别,但却会造成电脑解析时的混淆。 1.名称空间的名字和前缀 名称空间的目的是有效地区分名字相同的标记。名称空间在XML文档中的具体应用是在标记名前添加一个全球惟一的标识符,在可能发生混淆的最外层标记中声明,这样相同的标记就因为有个惟一的标识符而可以区分了。为了保证这个标识符的惟一性,W3C推荐使用统一资源标识符(Uniform Resource Identifier,URI)作为名称空间的名字。 在实践中,一般把网址作为名称空间的名字,因为网址总是独一无二的。但是,由于一般网址中的合法字符不能用于XML名称中,如字符“/”;而且,Internet上的网址一般都很长,使用和阅读都不方便。为了解决这个问题,W3C制订的解决方法是为URI创建一个别名(例如“tea”和“fam”)?,这就是所说的名称空间前缀。这个别名限定为一个合法的XML名称字符串,与网址一起声明于最外层的标记内,在文档中使用这个别名代替网址,对元素进行标识。 【例333-2】使用名称空间的教工资料信息。 ?xml version=1.0 encoding=gb2312? 教工资料 xmlns:tea =/jgxx xmlns:fam=/jsxx tea:教工 tea:姓名苏青/tea:姓名 tea:性别男/tea:性别 tea:电tea:电话 tea:职称副研究员/tea:职称 fam:家属 fam:姓名王静/fam:姓名 fam:电fam:电话 /fam:家属 /tea:教工 /教工资料 本例中,在根元素教工资料的起始标记中声明了“tea”和“fam”两个标识符,分别代表教工名称空间(/jgxx)和家属名称空间(/jsxx)。在定义了名称空间后,在文档中应用元素时,都添加了相应的名称空间标识符(前缀),从而保证了每个元素仍然是惟一的名称。这样,处理程序就能明确地区分哪一个是教工的姓名和电话,哪一个又是家属的姓名和电话。 2.名称空间的声明 XML的名称空间提供了将名称空间URI和前缀相联系的机制,也就是名称空间声明。 声明名称空间的基本语法为: 元素名 xmlns:名称空间前缀=URI 例如: 教工资料 xmlns:tea=/jgxx 说明: xmlns:指定名称空间的关键字。 名称空间前缀:为了使用方便而随便起的名字,用来标识字符串URI。例如,这里的tea就代表/jgxx。XML解析器看到一个名称空间声明后,就会把名称空间前缀与对应的URI绑定在一起。前缀的命名规则与元素的命名规则相同。 名称空间声明时,如果不包含名称空间前缀,称为默认的名称空间声明。 URI:是一个有一定的语法、用来标识资源的字符串。一个URI可以是一个E-mail地址、一个Internet主机的域名、一个文件的绝对路径等等。一定要记住,URI代表的是定义标记的单位或组织,并不代表一种资源,它可以指向一盒饼干或一个玩具,甚至可以根本就不存在。 虽然实例编写人员可以任意选择前缀,但对于某些名称空间,有一些约定俗成的前缀。例如,xsl前缀通常映射到可扩展样式表语言(XSL)名称空间。具有相同情况的还有html等。 注意:不允许把前缀映射到空字符串名称空间。在例333-2中,如果指定xmlns: tea = 将是非法的。 3.名称空间的使用 ?XML?文档使用名称空间前缀来限定元素和属性的本地名称。在例3-2中,根元素教工资料中的每个子元素都有一个由两部分组成的名称:一个名称空间前缀和一个本地名称。?例如,tea:姓名。 在声明了名称空间之后,其中的属性也可以添加名称空间前缀进行限定。 【例333-3】修改例333-2,在其中添加“身份证号”和“单位”两个属性。 ?xml version=1.0 encoding=gb2312?

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档