




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)基于xquery的图书信息查询系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着网络上基于x m l 文档数据的大量涌现,如何从x m l 数据源中准确有效 的查询所需信息的研究,也就变得越来越重要。为了解决x m l 查询问题,w 3 c 设计了x m l 查询语言x q u e r y ,适用于对各种类型的x m l 数据源查询,是为 x m l 量身定做的一种全新的查询语言,相当于x m l 数据管理领域的“s q l ” 对x q u e r y 语言进行研究适应当前x m l 查询技术发展的要求,利用x q u e r y 来 实现x m l 查询是真正意义上有效使用x m l 数据的途径。本文研究了x q u e r y 查询技术,并将其应用于图书信息查询系统,以满足当前图书信息系统中普遍存 在数据集成的需要。 本文首先对x m l 的基础知识进行了讨论,包括x m l 的优点、d t d 、命名 空间、x m l 模式等,深入分析了x q u e r y 的数据模型、结构、功能及u m l 建模 工具v i s i o :详细研究了一个x q u e r y 的实现一q i z x ,并探讨了如何通过q i z x 对 关系数据库的数据进行查询转换。在此基础上,我们分析了建立在q i z x 上的数 据集成系统的工作原理,并对各个步骤进行了详细地说明。然后,本文对图书信 息查询系统进行了需求分析,得到了系统的用例视图并对这些用例进行了详细描 述,对此系统中涉及到的核心部分的代码进行了简要说明。最后,根据x m l 设 计方案和用户对系统的需求,设计出了系统存储数据的x m l 文件,将x q u e r y 技术引入图书信息查询系统,并利用x q u e r y 技术为用户提供了一个数据集成的 平台,实现了对各种数据源的查询。本论文的工作也将为x q u e r y 技术在其它方 面的应用起到参考作用。 关键词:x m l 查询x q u e r y 统一建模语言信息查询系统数据集成q i z x a b s t r a c t a l o n gw i t ht h ee m e r g i n gi nal a r g ea m o u n to fx m ld a t aw i t ht h en e t w o r k ,t h e r e s e a r c ho fh o wt oq u e r yn e c e s s a r yi n f o r m a t i o nf r o mx m ld a t as o u r c ec o r r e c t l ya n d e f f e c t i v e l yi sb e c o m i n gm o r ea n dm o r ei m p o r t a n t w 3 cd e s i g n sax m lq u e r y l a n g u a g e ,n a m e dx q u e r y , t os o l v et h ep r o b l e m i ts u i t sf o ra l lk i n d so fx m ld a t a s o u r c ea n di st h en e wq u e r yl a n g u a g eo n l yf o rx m l i tc a nb es nf i t st h e “s q l ” i n x m ld a t am a n a g e m e n ts y s t e m s t h es t u d yo nx q u e r ym e e t st h er e q u i r e m e n t so f d e v e l o p m e n to fc u r r e n tx m lq u e r yt e c h n o l o g y u s i n gx q u e r yi nx m lq u e r y a p p l i c a t i o ni st h ee f f e c t i v ea p p r o a c ho fx m l d a t au s a g e t h i st h e s i si sm a i n l ya b o u t t h eu s eo ft h ex q u e r ya n di t sa p p l i c a t i o n si nt h eq u e r ys y s t e mo fb o o ki n f o r m a t i o n , w i t ht h ep u r p o s es a t i s f y i n gt h en e e do f d a t ai n t e g r a t i o n f i r s t l y , t h et h e s i sd i s c u s s e st h eb a s ek n o w l e d g eo fx m l ,i n c l u d i n gt h ex m l v i r t u e ,d t d ,n a m e s p a c e ,x m ls c h e m a , a n a l y z e si nd e p t hx q u e r yd a t am o d e l , s t r u c t u r e ,f u n c t i o no fx q u e r ya n du m lm o d e l i n gt o o lv i s i o ;t h e ns t u d i e sa n d a n a l y z e sa ni m p l e m e n t a t i o no fx q u c r y q i z x , d i s c u s s e sh o w t ou s eq i z xt oq u e r y t h ed a t ao f t h er e l a t i o nd a t a b a s ea n dt r a n s l a t ei tt ox m l b a s e do nt h i s ,w ed i s c u s et h e t h e o r yo ft h ed a t ai n t e g r a t i o ns y s t e mw h i c hb a s e do nq i z x ,a n dd e t a i lt h es t e p so f i n t e g r a t i o n n e x t , t h i st h e s i sa n a l y z e st h er e q u i r e m e n to ft h es y s t e m ,a n dg e tt h eu s e c a s em o d e la sw e l l 舔t h e i rs p e c i f i c a t i o n f u t h u rm o r e w ed e t a i lt h ec o r ec e d eo f t h e s y s t e m f i n a l l y , w ed e s i g nt h ex m l ,w h i c hs t o r et h es y s t e md a t a , b a s e do nt h ex m l d e s i g np a t t e r na n dt h es y s t e mr e q u i r e m e n t ,i n c l u d i n gt h ex q u e r yt e c h n o l o g yi n t ot h e q u e r ys y s t e mo fb o o ki n f o r m a t i o na n du s i n gi tt op r o v i d ead a t ai n t e g r a t i o np l a t f o r m u s i n gi t ,w ec a nq u e r yi n f o r m a t i o nf r o mv a r i o u sd a t a s o u r c e i na d d i t i o n ,t h em e t h o d s i nt h i sa r t i c l ec a nb eu s e di nm a n ys i m i l a rc a s e s k e yw o r d s :x m l q u e r y i n g ,x q u e r y , u n i f i e dm o d e ll a n g u a g e ,i n f o r m a t i o n q u e r ys y s t e m ,d a t ai n t e g r a t i o n ,q i z x 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫鲞盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:善秀乎 签字日期:2 口p 莎年6 月罗日 学位论文版权使用授权书 本学位论文作者完全了解鑫洼盘堂有关保留、使用学位论文的规定。 特授权鑫凄盘茎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:荽秀宁 签字日期:z 口口6 年多月7 日 导师签名: 诛遗芳 签字日期:乒“年多月,日 天津大学硕士学位论文第一章绪论 1 1 项目背景 第一章绪论 随着信息技术,网络技术的飞速发展,图书馆数字化、网络化已成为必然。 但是由于数字资源建设的不同步以及采用技术的不同,各种数字资源都有自己的 数据结构、组织方式,这些数据位置过于分散且难以集成。随着图书信息数字化 的发展,对不同数据库中的数据进行集成的需求越来越迫切。数据的规范化和标 准化是数据集成的基础,目前数据集成的发展趋势是采甩符合标准且容易扩展的 x m l 技术作为不同系统之间交换信息的标准。 x m l 是在h t m l 遇到不可克服的困难之后诞生的。随着网络技术和计算机 技术的飞速发展,x m l 已经成为w e b 数据组织和交换事实上的标准。随着x m l 存储、交换和表达信息的应用领域日益增多,人们对其研究也越来越深入。如何 从x m l 数据源中准确有效的查询所需信息的研究,也就变得越来越重要。为了 解决x m l 查询问题,w 3 c 设计了x m l 查询语言- - x q u e r y ,适用于对各种类型 的x m l 数据源查询,是为x m l 量身定做的一种全新的查询语言。由于x q u e r y 不仅能够操作x m l 文件,而且能够将关系数据库等数据源也视为x m l 来处理; 同时x q u e r y 不仅能够完成s q l 语言能够完成的查询,还能对文件等非结构化数 据进行查询。这样就能够通过x q u e r y 来进行数据集成,将各个数据源中的数据 集成为一个统一的视图提供给用户。 对x q u e r y 语言的研究适应当前x m l 查询技术发展的要求,利用x q u e r y 来 实现x m l 查询是真正意义上有效使用x m l 数据的途径。 】2 x m l 简介 1 2 1x m l 技术的出现 x m l i i 辁名为e x t e n s i a b l em a r k u pl 卸g u a g e ,即“可扩展标记语言”。它是继 h t m l l 2 培新兴的互联网信息交换标准。在1 9 6 9 年,i b m 公司就开发了一种文档 描述语言g m l ( g e n e r a l i z e dm a k e u pl a n g u a g e 广义标记语言) 用来解决不同系 统中文档格式不同的问题,g m l 是i b m 许多文档系统的基础,包括s c r i p t 和 b o o k m a s t e r 。随着对g m l 的进步发展和完善,这个语言在1 9 8 6 年被围家标准 天津大学硕士学位论文第一章绪论 化组织批准,成为了一个国际标准( i s 0 8 8 7 9 ) ,并被称为s g m l ( s t a n d a r d g e n e r a l i z e dm a k e u pl a n g u a g e ,标准广义标记语言) 删。s g m l 是很多大型组织, 比如飞机、汽车公司和军队的文档标准,它是语言无关的、结构化的、可扩展的 语言,这些特点使它在很多公司受到欢迎,被用来创建、处理和发布大量的文本 信息。 在1 9 8 9 年,在c e r n 欧洲粒子物理研究中心的研究人员开发了基于s g m l 的超文本版本,被称为h t m l 。h t m l 继承了s g m l 的许多重要的特点,比如 结构化、实现独立和可描述性。随着互联网的飞速发展,h t m l 已经成为了非常 流行的一种语言。但是h t m l 也存在很多缺陷:比如它只能使用固定的有限的标 记,而且它只侧重于对内容的显示,并不关心实际数据的含义。 随着互联网应用的逐步扩展,电子商务、搜索引擎等新的应用都需要新的 h t m l 标签来支持;同时另外一些新的应用,比如p d a 等运算能力有限的设备 的互联网接入应用,则需要h n 仉中有尽量少的h t m l 标签来提高性能。这些 新的需求导致h t m l 存在的缺点变的不可被忽略。w 3 c 提供了h t m l 的几个扩 展用来解决这些问题,最后,它决定开发一个新的s g m l 的子集,称为x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 。 1 9 9 6 年,万维网协会开始设计一种可扩展的标记语言,使其能够将s g m l 的灵活性和强大功能与已经被广泛采用的h t m l 结合起来。这种后来变成x m l 的语言继承了s g m l 的规范,而且实际上就是后者的一个子集,它保留了很多 s g m l 标准的优点,但是更加容易操作和在w w w 环境下实现。1 9 9 8 年2 月, x m l1 0 成为了w 3 c 的推荐标准。 确切的说,现在的x m l 不是一种技术,而是一组技术,该家族至少有以下 规范组成: 可扩展样式语言( e x t e n s i a b l es t y l e s h e e tl a n g u a g e ,x s l ) :x s l 是实现 x m l 数据显示的样式表语言,它为x m l 在不同的情况下提供不同的展示方式。 x m l 链接语言( x m ll i n k i n gl a n g u a g e ) :包括x p a t h ,x l i n k ,x p o i n t e r , 它们为在x m l 文档内部和文档之问提供单项的或双向的寻址机制。 x m l 模式( x m ls c h e m a ) x m l 模式为x m l 数据提供了“说明约束”, 它控制文档内的结构和内容关系。 1 2 2x m l 的应用领域和优点 良好的数据格式、可扩展性、高度结构化、便于网络传输是x m l 的四大主 要特点,决定了其卓越的性能表现。由于x m l 能针对特定应用定义自己的标记语 言,使得x m l 可以在电子商务、报表、司法、出版、联合组织、c a d c m a 、 天津大学硕士学位论文第一章绪论 厂商和中介组织信息交互等领域中一展身手,根据不同的系统、厂商、应用提供 各具特色的独立解决方案。 应用x m l 给基于w e b 的应用系统赋予了强大的功能和灵活性,给开发者和 用户带来了许多好处。使用x m l ,可以在下列方面得到看得见的好处。 更有意义的检索 开发灵活的w e b 应用软件 异构数据源的集成 本地计算和处理 数据的多样显示 细粒度更新 w e b 数据发布 开放的标准 丰富的工具 与h t m l 一样,x m l 也是网络上的一种通用语言。但是h t m l 更像一个易 用的显示器,简单实用但不精确。x m l 则不同,它是通过标记( t a g ) 来精确地表 现信息的各种含义。通过一些自我解释的标记文本,x m l 能够让不同的应用系 统理解相互的意义。 x m l 能够有效的表达网络上的各种信息,为信息的交互和网络计算提供新 的载体。x m l 技术相对与网络计算的作用完全可以与计算机起步阶段的a s c i i 码的作用相提并论。x m l 也可以说是网络信息的标准代码,它表示的不是符号 信息,而是知识化的块状内容。这种标准语言虽然不是程序设计语言,但是它 代表的却是下一代不同网络系统之间的互操作的光明前景。 1 3x q u e r y 简介 1 3 1x q u e r y 语言的形成 x q u e r y 是一个从x m l 格式的数据源中获取数据的查询语言,是w 3 c 在 q u i | t 1 4 1 语言的基础上改进而成的,是一种函数式的查询语言,包含了许多其它查 询语言的优点:x q u e r y 吸收了x p a t h 和x q l 中的路径表达式,来适应x m l 层 次结构文档的需要;从x m l q l 语言中吸收了捆绑变量的概念,并用该变量产 生一个新的结构:x q u e r y 根据s q l 的s e l e c t f r o m w h e r e 模式,产生了( f o r l l e t ) w h e r e - r e t u r n 表达式;x q u e r y 还借签了o q l 由几种不同表达式嵌套组成的功能 语言的概念,其查询也可以由几种不同的形式,同时各种表达式可以完全嵌套。 由此可以看出,x q u e r y 是在集成了几乎所有以往查询语言的优点基础上形成的, 因此其设计精干灵活,功能比较强大。 天津大学硕士学位论文 第一章绪论 1 3 2x q u e r y 规范 x q u e r y 规范启动于1 9 9 8 年由w 3 c 发起的查询语言波士顿专题讨论会, 探讨的x m l 查询语言标准代表了用户的需求和观点。讨论会之后成立的q u e r y l a n g u a g ew o r k i n gg r o u p ( 查询语言工作组) 提出了一系列查询语言规范。由此可 见,虽然x q u e r y 规范的设计早在1 9 9 8 年就已启动,但由于x m l 应用领域的差 异,规范制订的过程相当漫长。直到2 0 0 1 年2 月,规范的发布工作才开始较快 的进行,大量的规范文档开始推出,并先后于2 0 0 1 年6 月和1 2 月、2 0 0 2 年8 月 和1 1 月、2 0 0 3 年5 月和1 1 月、2 0 0 4 年7 月、2 0 0 5 年2 月和4 月陆续进行更新。 由于x q u e r y 查询语言仍在不断发展之中,w 3 c 也有可能继续推出新的x q u e r y 草案,本文研究主要基于上述时间发布的各规范文档。它们可在w 3 c 主页x q u e r y 页面p 1 获得。 1 4 国内外研究的现状 国际上对x m l 数据的研究已经有相当长的时间,有了很大的进展,从x m l 相 关标准 6 1 至i j x m l 数据在交换、存储、表示等方面的应用都已经趋于完善。从研究 内容及应用方面看,国外的研究比较全面深入,其理论研究如:x q u e r y 的语法, 表达式,x q u e r y 模型等;x q u e r y 应用的研究如:x q u e r y 查询引擎,基于x q u e r y 的信息集成等;x q u e r y 优化技术研究等。而国内对x q u e r y 的研究则比较少,主 要包括:对x q u e r y 的总体介绍;对x q u e r y 的一些表达式进行探讨;x q u e r y 的应 用等。而对于x q u e r y 复杂功能的实现等核心内容涉足较少。从应用上看,x q u e r y 作为一种全新的查询语言,已经被众多的科研机构与企业接受和采用,目前微软、 i b m 和o r a c l e 7 】公司数据库核心都采用t x q u e r y 的标准。而国内相关报道较少, 只有倍多科技有限公司,他们利用x q u e r y b l 擎提供为本地x m l 管理的查询和修 改,并提供为信息的集成和整合的分布式查询闱。因此,总的来说,国内对x q u e r y 的研究比较薄弱,无论在理论还是在应用上都迫切需要进步加强。 1 5 论文工作与组织 本文的主要工作是在深入研究x q u e r y 语言的基础上,建立一个基于x m l 的x q u e r y 的图书数据查询平台,用来将多种图书数据库中的数据集成为一个虚 拟的数据库提供给用户进行查询,以满足人们对知识需求的不断增加。平台将不 同数据库中的数据转换为独立x m l 数据,而后通过x q u e r y 对这些x m l 数据进 天律大学硕士学位论文 第一章绪论 行查询而形成x m l 格式的数据,从而展现给用户。由于此平台不是将数据先行 倒入一个特定的数据库中再进行查询,而是在线从各种数据源中进行查询,所以 本平台能够适应多种数据源,包括非x m l 数据。 本文后续章节的组织结构如下: 第二章讨论了x m l 语言的基础知识,包括x m l 的基本语法、d t d 、命名空 间、x m l 模式等。 第三章深入分析x q u e r y 查询语言。其中详细分析t x q u e r y 查询数据模型、 x q u e r y f l q 变量、操作符和表达式等。 第四章详细研究了一个x q u e r y 的实现一q i z x ,分析了建立在q i z x 上的数据 集成系统的工作原理,设计出了系统存储数据的x m l 文件。将x q u e r y 技术引 入图书信息查询系统,并利用x q u e r y 技术为用户提供了一个数据集成的平台, 实现了对各种数据源的查询。 第五章总结全文并提出进一步的研究方向。 天津大学硕士学位论文第二章x m l 技术基础 第二章x m l 技术基础 x m l 文件有两个标准,一个标准是预定义x m l 标准 9 1 ,它定义了建立所有 x m l 文件的预设规则;第二种是是由文件的作者所建立的,被定义在文件类型 定义( d o c u m e n tt y p ed e f i n i t i o n ,d t d ) l 州或者x m ls c h e m a l l l 】中,这个标准是 选择性的。下面分别介绍这两种标准: 2 1x m l 文档的基本语法 x m l 在格式上与h t m l 标记非常相似,由界定内容的不同部分的标记( t a g ) 组成,都是用“ ”来界定标记。与h t m l 不同的是,几乎所有x m l 标记都是大小写敏感的,这主要是满足x m l 国际化的设计目标和简化处理过程 的需要。 一个格式正规的x m l 文档由一到三部分组成: l 、一个可选的序言 序言部分包括一个可选的x m l 声明、文档类型声明和一些注释和处理指令。 2 、文档的主体 由一个或多个元素组成的一个层次树。其中可以包括一些注释和处理指令。 3 、后序( 可选) 紧随元素树以各种各样的形式出现。 2 1 1 文档序言 , x m l 文档的序言部分一般包含的信息出现在文档或根元素开始标记之前。 它包括应用于整个文档的信息,如字符编码、文档结构和样式表引用。另外,它 还包括x m l 声明【1 2 】、注释和处理指令,其后还可能跟着一个可选的文档类型声 明。 l 、x m l 声明 x m l 声明是序言使用最多的一部分了。有许多解析器甚至不接受没有x m l 声明的文档。x m l 声明必须出现在文档的起始部分。x m l 声明的语法与x m l 元素不同,它以 2 1 3 属性 属性是用于说明元素的一些信息,属性允许我们在不影响元素值的同时,增 加对元素的描述。属性必须出现在元素的起始标记中,使用的格式有下列两种: a t t r i b u t e _ n a m e = 。a t t d b u 虻v a l u e 。 a t t r i b u t e _ n a m e = a t t r i b u t e _ v a l u e x m l 要求所有的属性值必须加引号,不管属性值是否包括空白。一个元素可 以有多个属性,而一个属性不能够在一个元素中出现两次。 2 1 4 处理指令 处理指令,或称p i ( p r o c e s s i n gi n s t r u c t i o n ) 1 3 】。处理指令的目的是提 供x m l 处理器传送给应用软件的信息。 处理指令拥有下列一般类型; 这里的t a r g e t 是该指令被导引到的应用软件的名字,t a r g e t 是必须的部分, 而且必须是有效的x h l 名称。i n s t r u c t i o n 则是被传送到应用软件的信息,它是由 任何连续的字符组成,除了“”字符对以外( 它被保留作终止处理指令用) 。 下面是一个处理指令的例子: 2 1 5 注释 x m l 的注释与h t m l 的注释很相似,它们以 结束。注释是 在x m l 中插入的解释性的数据,但是又不是真正的文档内容的原数据,所以介 于 之间的全部数据均被x m l 处理器忽略,就像它们根本不存在一样。 注释用于提醒自己或临时标注出文档中不完善的部分。 2 2 文档类型定义d t d x m l 与h t m l 最显著的不同是x m l 文档中引入了d t d ( d o c u m e n tt y p e 天津大学硕士学位论文 第二章x m l 技术基础 d e f i n i t i o n ,文档类型定义) 。d t d 实际上可以看作一个或多个x m l 文件的模板, 这些x l v i l 文件中的元素、元素的属性、元素的排列方式顺序、元素能够包含的 内容等,都必须符合d t d 中的定义。d t d 使用正式的语法定义x m l 文档的结 构和允许值,提供了严格而精确的规则,使解析器能够根据d t d 中定义的语法 来对x i v l l 进行校验,从而更进一步的对x m l 文件进行了规范。 2 2 1 外部d t d 与内部d t d d t d 可以是一个完全独立的文件,也可以在x m l 文件中直接设定。所以, d t d 分为外部d t d ( 在x m l 文件中调用另外已经编辑好的d t d ) 和内部d t d ( 在x m l 文件中直接设定啪) 两种。我们通过在x m l 文件的序言部分使用文 档类型声明将d t d 与x m l 文件关联在一起。我们在上一节举的是一个外部d t o 的 例子,下面再说一下内部d t d 的表示方法。内部d t d 是在x v i l 文件序言区域 中定义的。语法: 结束的独立标签: 。 2 、元素 元素( 更确切地说是纯元素) 内容是指元素中只包含子元素,而不含文本。 我们在声明元素定义时一般使用内容模型。 下面是一个元素声明的例子: 这个例子表明p e r s o n 元素中包含两个子元素n a m e 和a g e ,这两个元素必须 出现而且必选按照声明中的顺序出现。 则表示p e r s o n 仅包含两个元素n a m e 和a g e 中的一个子元素。通过上面两个 例子我们可以看出,“,”表示一个严格顺序,而“i ”则表示选择的意思,这两 种字符被称为“顺序运算符”。除了这两种运算符外,我们还有另外种运算符 一元素运算符。下面是元素运算符的含义:( 见表2 2 ) 表2 - 2 元素运算符 元素运算符含义 9 可选的:可有可无 土 零个或多个 + 一个或多个 下面是一个运用了元素运算符的d t d 声明的例子: 这个例子表明f r u i t b a s k e t 元素下有一个或多个c h e r r y 元素,其后是零个 或多个a p p l e 或者o r a n g e 元素。 天津大学硕士学位论文 第二章x m l 技术基础 3 、复合元素 复合内容是元素和可解析字符数据( # p c d a t a ) 或文本的组合 其中# p c d a t a 代表可解析字符数据,表示元素可以包含文本,# p c d a t a 一般用来表示叶子元素, 比如: 表示元素n a m e 是指含有字符数据的叶子元素,比如 p e t e r 。 在我们表示复合内容时,需要在内容模型中包含# p c d a t a 关键字,而# p c d a t a 关键字必须是模型中的第一个选项。 下面是一个复合元素的定义: 而下面是符合该定义的一个实例: s o m et e x ti n c l u d ea sp c d a t a 4 、任意元素 声明为任意的元素具有任意形式的内容,同时不破坏x m l 的格式正规语法。 2 2 4 属性 x m l 文档中,属性是对元素的补充和修饰,通过属性,我们可以给元素绑 定大量信息。属性在d t d 中是使用a t t l i s t 标记声明的。a r r l i s t 声明由以 下部分构成:a t t l i s t 关键字、属性修饰的元素名称,零个或多个属性定义。 在以上代码中,我们声明了一个名为n a m e 的属性,它必须在p e r s o n 元素实 例的起始标记中出现( # r e q u i r e d - - 这是缺省设置) ,属性的值是字符串 ( c d a t a ) 。 l 、缺省值 属性声明可以有几种不同的缺省设置,它定义了属性在文档中出现的方式。 属性声明有四种缺省设置:( 见下页表2 3 ) 下面是一个属性声明的例子: 这个声明表示元素p a n t s 有个属性c o l o r ,它的值为字符串,它的默认值为 天津大学硕士学位论文第二章x m l 技术基础 b l u e 。比如: 虽然该元素没有声明c o l o r 属性,但是由于它的默认值为b l u e ,所以该元素 仍然有属性c o l o r ,并且值为b l u e 。 表2 - 3 属性缺省设置 含义 # r e q u i r e d 元素的每个实例必须包含该属性的值 摊i m p l i e d 表示如果该元素的实例中没有指定该元素的值的话,就忽 略该属性 # f i x e d 加上缺省属性的值永远固定为缺省值;如果元素中不包含该属性, 值 解析器将缺省值作为属性值 只有缺省值 如果元素中不包含该属性,解析器将缺省值作为属性值, 否则,该属性可以有其他值 2 、属性类型:( 见表2 - 4 ) 表2 - 4 属性类型 含义 c d a t a 这个类型表明该属性只能包含字符数据 i d 该属性的取值必须是唯一的,就象我们每个人都有的身份证号码 一样,在一个文档内两个i d 属性的值一定不可以样 i d i 迮f 这个属性的值实际上就象c + + 中的指针一样,它是一个指向文档 中其它地方声明的l d 值。所以如果具体的文档中该属性的取值和 它所指向的l d 值不匹配的话,就会返回错误 i d r e f s1 d r e f s 和i d r e f 类似,但是呵以具有由空格分隔的多个引用 e n l l t y 已定义的外部实体的名称 e n t i t i e s 若干以空格分隔的e n t i t y 名称 f 枚举值】接受用户显式定义的属性可选值中的一个值 下面是一个例子: 表明元素p a n t s 有一个必须的属性c o l o r ,而且c o l o r 属性的值只能是小括号 中列举的值中的一个。 天津大学硕士学位论文第二章x m l 技术基础 2 2 5 实体 x m l 中,实体是具有名字的x m l 结构( 或纯文本) 。在x m l 文件中,将经 常使用的x m l 文字区段定义成实体,这螋数据可以由x m l 文本或其它的义字 或非文字数据所组成。可以根据需要多次引用这些实体,它不仅能够节省空间 而且能够减少文档创作者的代码输入量。为了在d t d 中声明实体,需要定义实 体的名称及它引用的内容。当你需要使用它时,通过名字引用实体将实体插入到 文档中实体引用的位置。创建实体引用时,使用“& ”和分号将实体名包围起来, 如下所示: & e n t i t y n a m c ; l 、预定义实体 x m l 必须保留某些字符用于本身格式的定义,有些字符是不可打印的。鉴 于此,x m l 提供了一些预定义的实体,用户可以利用这些实体在文档中使用上 述字符,并保证不产生冲突。对于常用的字符,x m l 提供了预定义的实体,下 表显示了特殊字符的预定义实体:( 见表2 5 ) 表2 - 5 预定义实体 字符引_ h j & & a m p : & g t : ” & q u o t ; & a p o s ; 2 、通用实体 通用实体是最简单的实体形式。它能够声明与某个名称相关联的可解析的文 本块,我们将通过该名称引用相应的文本。这类实体声明包含关键字e n l l t y 、 实体名称和替换值。例如: ! e n t i t yc o p y r i g h t “m e g a t r o u b l et o y s ,i n c ,l9 9 9 另用这个声明,我们可以在x m l 文档的任何位置插入c o w r i g i l t 信息。在对 通用实体引用时,我们在名称前加& ,在后面加分号。比如:& c o p y r i g h t ;。 通用实体也有外部新式,即将置换的文本放在外部文件中,比如: 3 、参数实体 天津大学硕士学位论文第二章x m l 技术基础 只能在d t d 中使用的解析实体称为参数实体。参数实体的声明由以下几部 分组成:e n t i t y 关键字、百分号、名称和替换值。例如: 引用参数实体时,在实体名称前加百分号,在后面加分号。比如: 上面的例子相当于以下代码: 和通用实体一样,参数实体的置换文本也可以在外部文件中,例如: 2 3 命名空间1 4 】 因为x m l 文档中使用的元素不是固定的,那么两个不同的x m l 文档使用 同一个名字来描述不同类型的元素的情况就可能发生。而这种情况又往往会导致 命名冲突。请看下面两个例子: 这个x m l 文档在t a b l e 元素中携带了水果的信息: 虹 a p p l e s b a n a n a s 这个x m l 文档在t a b l e 元素中携带了桌子的信息: a f r i c a r lc o f f e et a b l e 8 0 l2 0 天津大学硕士学位论文第二章x m l 技术基础 如果上面两个x m l 文档片断碰巧在一起使用的话,那么将会出现命名冲突 的情况。因为这两个片断都包含了 元素,而这两个t a b l e 元素的定义与所 包含的内容又各不相同。 为了解决这个问题,x m l 名称空间工作组提出了x m l 命名空间。命名空 间就是在逻辑上相关的任何一组名称,而且每个名称都必须唯一。命名空间的 用途在于为x m l 中使用的元素提供一种容器,提供了一种避免元素命名冲突的 方法。这里的x m l 文件是以u l u ( u n i f o r m r c s o u r c ei d e n t i f i e r ,一致性资源识别 码) 被识别。 命名空问说明随元素出现,它可以只运用于一个元素,也可以运用于整个文 档。下面是一个命名空间说明的例子: o f f i c ex m l n s :h w = - h t t p :w w w h w o r g s e r v i c e 命名空间是可以继承的,这表示除非指出属于另一个命名空间,否则元素就 属于父元素中说明的命名空间。在一个文档中可以有属于多个命名空间的元素。 例如: s c h e d u l ex m l n s = h t t p :w w w f o o c , o m s t a rw a r se p i s o d e 除了上述方式表示命名空间外,还可以用限定名来简写表达命名空间,例如: 在上述的例子中,限定名e g u i d e 表示命名空间h u p :w w w e g u i d e c o r n 。 在x m l 中,还提供了缺省命名空间,它是应用在其中说明的元素以及包含 在没有自己的前缀的元素内容的任何元素。例如: 在| = 面的例子中,缺省的命名空问是”h u p :w w w f o o c o m ”。 2 4x m es c h e m a x m ls c h e m a 是x m l 文档的另外一种结构信息描述方式,与d t d 类似, 天津大学硕士学位论文第二章x m l 技术基础 都是用来对x m l 进行进一步约束的。而x m ls c h e m a 对x m l 文档做了更为严 格的规定,弥补了d t d 的不足,s c h e m a 大有取代d t d 的趋势。x m ls c h e m a 中共有十四种基本数据类型,除去d t d 中的8 种数据类型外,还有下列几种基 本类型:s t r i n g 、b o o l e a n 、n u m b e r 、d a t a t i m e 、b i n a r y 、u r i 。而从这些基本类型中, 又生成了许多基类型,比如:i n t e g e r 、d e c i m a l 、r e a l 、t i m e 等等。 x m ls c h e m a 中,除了可以使用上述其本身定义的各种类型外,x m ls c h e m a 还可以使用用户自定义类型。下面是用户自定义类型的例子: x s d :m a x l c n g t hv a l u e = ”5 修 x s d :m i n l e n g t hv a l u e = ”l ”胁 它表示一个用户自定义类型r 盯,它表示一个最大长度为5 ,最小长度为l 的 字符串。 下面是一个用户自定义的复杂类型的例子: x s d :e l e m e n tn a m e = ”n a m e ”t y p e = ”x s d :s t r i n g ”扫 x s d :e l e m e n tn a m e = ”c i t y “t y p e = ”x s d :s t r i n g ”胁 x s d :e l e m e n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教育培训机构品牌跨界合作与市场创新策略分析
- 侨联业务培训课件
- 鲅鱼圈垂钓管理办法
- 行政报务中心管理办法
- 企业用电安全培训教学课件
- 唐矿新质生产力转型实践
- 出航前安全培训教育内容课件
- 出渣班安全培训课件
- 1.2 人口 同步分层练(含答案)地理人教版八年级上册
- 2025合作店合同书化妆品合作店合同书
- 儿童心理发展课件
- 电气工程师考试题及答案2025年
- 《中华人民共和国民营经济促进法》培训解读课件
- 四川电网新建电源并网服务指南(2025年)
- 青鸟消防系统常见故障分析培训课件
- 2025中国大唐集团科学技术研究总院有限公司系统单位领军人才招聘笔试参考题库附带答案详解
- 教学能力比赛现场决赛30道答辩问题要点
- 2025-2030中国卫星通信行业发展分析及投资价值预测研究报告
- 法拍房委托服务协议书范本
- 码头项目事故案例
- 妇幼信息管理制度
评论
0/150
提交评论