- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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?
您可能关注的文档
最近下载
- 渠道护砌工程施工方案砼预制块护坡施工渠道砼工程砼格埂.docx VIP
- 气调库工程项目可行性研究报告.docx
- 2025年二级矿井维修电工(技师)技能认定理论考试题库资料(含答案).pdf
- 功能性食品学 课件 第8章 益生菌及其活性代谢物.pptx
- 实验室质量管理体系文件.docx VIP
- 电工高级技师实操考试试卷.pdf VIP
- 初中阶段初阶词汇初级-如何记单词.docx VIP
- 中文版安德森吞咽困难量表的信效度和临床应用评价.pdf VIP
- (正式版)D-L∕T 611-2016 300MW~600M级机组煤粉锅炉运行导则.docx VIP
- BSL实验室生物安全管理体系文件.docx VIP
文档评论(0)