



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XML schema 命名空间实例讲解XML SCHEMA文件是用来定义xml文件中数据的格式的一种方式,它用来替代DTD。也就是说,XML schama文件会定义XML文件中要使用的元素的名称,属性,结构,相互关系等。XML schema文件采用的是xml语法来写成,提供了比DTD更强大功能。这里重点讲述XML schema命名空间。XML文件所定义的数据在处理过程中,可能因为对同一个值得解释不同而造成错误,如下例:一种数据,比如 03-11-2004,在某些国家被解释为11月3日,而在另一些国家为当作3月11日。如果在两个国家之间传递这样的数据,会因为解释不同而造成错误。为了解决这样的问题,XML schema提供了命名空间,XML schema文件中会为XML文件中要使用的每一个元素指定一个命名空间,所有使用这个XML文件的用户都必须用这个命名空间中的XML schema文件来解释这个元素。我们先来看一个简单的例子:这是一个XML文件,其中定义了元素to,from,heading,body的值,而note是根元素。这些值可以看作是这些元素的一个实例。因此XML文件有时也被称作xml 元素实例文件。GeorgeJohnReminderDont forget the meeting!下面这个note.xsd 的 XML Schema 文件,它定义了上面那个 XML 文档的元素note,to,from,heading,body: note 元素是一个复合类型,因为它包含其他的子元素。其他元素 (to, from, heading, body) 是简易类型,因为它们没有包含其他元素。而上面例子中红色的部分,就是命名空间相关部分。Xml schema文件本身也是XML语法,因此它有和XML文件相同的结构。Xml schema本身使用的一些元素是事先由W3C定义好的。这些元素主要在两个命名空间中:/2001/XMLSchema: XML schema文件所使用的基本的元素。如schema,element,field等。/2001/XMLSchema-instance : XML schema文件中的一些与实例相关的元素,如schemaLocation,noschemaLocation等。现在我们逐行解释上面例子中的红色部分:首先,我们来看XML schema文件中的部分:xs:schema:xs是命名空间前缀,你可以把它理解为命名空间的id,用来表示其后跟着的元素是由哪个命名空间定义的。Schema是XML schema文件的根元素。这是W3C事先规定好的。所有的XML schema文件都必须使用schema作为根元素。xs:schema表示schema这个元素是定义在xs所代表的命名空间中的。xs并不是W3C规定的,只是大家习惯用xs,你也可以把它改为别的。xmlns:xs=/2001/XMLSchema:这一句是XML schema定义命名空间的标准格式,xmlns是W3C规定的关键字,xs就是前面所说的命名空间前缀,/2001/XMLSchema是一个URL,用来唯一的表示命名空间。这句话的意思是xs这个命名空间前缀代表的命名空间是/2001/XMLSchema。请大家注意,上面的例子中,XML schema的元素都带了xs这个前缀,因此这些元素都是定义在/2001/XMLSchema这个命名空间中的。这个URL是W3C的一个URL,XML schema使用的元素都是事先由W3C定义在这个命名空间中的。targetNamespace=””:targetNamespace是W3C定义的关键字,用来指定XML schema文件中定义的根元素属于哪个命名空间。这句话的意思是note.xsd文件中定义的根元素(xs:schema)是定义在命名空间中的xmlns=: xmlns是W3C定义的关键字,这一句和第一句一样,也是定义命名空间,只是这里定义的是缺省命名空间(也叫无名命名空间),表明没有加前缀的元素是被定义在哪个命名空间中的。你可以注意到,xmlns后面没有跟命名空间前缀。elementFormDefault=qualified :elementFormDefault是W3C定义的关键字,用来说明XMLSchema处理程序把这个XMLschema中定义的元素或者类型放到哪个命名空间。 XML schema中定义的元素分为两类:全局元素和局部元素。全局元素是根元素和根元素的子元素。局部元素是子元素的子元素。一个schema中声明的元素或者类型只能归到两个命名空间中的某一个去,这两个是,无名命名空间和由targetSchema属性指明的目标命名空间。在我们的上面的例子中,目标命名空间是第二行指定的,无名命名空间是在第三行指定的。在我们的例子了,它们是一样的。当elementFormDefault=qualified时,所有的全局元素放到目标命名空间,所有全局元素的子元素(即局部元素)也被以缺省方式放到目标命名空间。而当elementFormDefault=unqualified时,所有的全局元素放到目标命名空间,所有全局元素的子元素将被以缺省方式放到无名命名空间。如果没有定义无名命名空间,则所有的元素都属于目标命名空间。elementFormDefault的缺省值为unqualified。 因此,在我们的例子中,所有的元素都属于目标命名空间。在设置好XML schema的命名空间后,XML文件是如何制定元素属于哪个命名空间的呢。我们来看例子中XML文件对命名空间的制定部分:首先,对命名空间的指定是在元素的属性中进行说明的。任何元素都可以指定自己属于哪一个命名空间。如果这个元素的子元素没有另外指定命名空间,那么这个元素和它的子元素都属于同一个命名空间。我们的例子中,指定命名空间的这一段是放在XML文件的根元素note的属性部分的。因此这个XML文件的所有元素都属于这个命名空间。xmlns= :xmlns是W3C定义的属性关键字,说明跟在其后的命名空间前缀属于哪个命名空间。这里在xmlns后面没有跟前缀,因此这里指定的缺省命名空间,也就是XML文件中没有前缀的元素都属于这个缺省命名空间。请注意note是没有前缀的,因此note属于这个缺省命名空间。xmlns:xsi=/2001/XMLSchema-instance :xmlns前面已经解释了,这里是说前缀xsi是属于命名空间/2001/XMLSchema-instance。 我们经常会看到网上的XML文件中使用xsi前缀,但这个前缀并不是W3C规定的,而是大家的习惯用法,他是xml schema instance的缩写。我们也可以用别的前缀代替它。/2001/XMLSchema-instance是W3C定义的用来说明xml schema实例属性的命名空间,里面含有我们要用的的熟悉关键字。xsi:schemaLocation= note.xsd:接着上面一句,这一句是说已xsi为前缀的schemaLacation是属于命名空间 note.xsd的。schemaLacation是W3C定义的用来说明xml schema 实例(即xml文件的元素)使用的xml schema文件位置的关键字。这一句的意思是根元素note的xml schema定义文件是上的note.xsd。由于我们的例子中,根元素note的所有子元素都没有另外指定命名空间,因此这些子元素的xml schema文件也是http:/www
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册验船师资格考试(A级船舶检验法律法规)考前模拟试题及答案一
- 2025年知识产权法考试备考模拟题及答案
- 贵港公务员面试题及答案
- 桃花心木课件
- 2025年注册会计师CPA面试宝典及模拟题
- 2025年中级经济师面试实战模拟财务管理案例分析预测题集萃
- 公务员审计面试题及答案
- 2026届北京市延庆区市级名校化学高三第一学期期末综合测试模拟试题含解析
- 2025年旅游公司招聘导游面试预测题与技巧
- 2026届江苏省启东市建新中学化学高三上期中达标检测试题含解析
- 师带徒培训计划和方案
- 温室气体 产品碳足迹量化方法与要求 光缆
- 5.2.1分析人类活动对生态环境的影响课件-人教版生物八年级上册1
- 2025年建筑师考试答案-建筑师考试答案解析
- 新疆的历史文化课件
- 安全生产网格化管理工作实施方案
- 代理记账风险管理制度
- DBJ04-T487-2025 高大模板支撑体系监测技术标准
- T/CGAS 026.1-2023瓶装液化石油气管理规范第1部分:安全管理
- PEP人教版六年级上册英语课后辅导计划
- 餐饮劳务合同协议书样本
评论
0/150
提交评论