作者:empty 页数:512 出版社:empty |
内容简介
XQuery是专门针对XML的查询语言, 其作用类似于关系数据库的SQL。本书比较深入全面地介绍了XQuery相关知识, 包括XQuery的概述和快速指南, 如何使用XQuery编写简单和复杂的查询, 如何对XML数据过滤、排序和分组, 还讲述了FLW OR表达式、XPath及提取、组合数据的XQuery工具。本书的附录提供了XQuery的函数、内置类型及错误信息, 因此可以作为XQuery编程指南。本书的特点是用简洁的语言深入浅出地介绍了XQuery方方面面的知识, 在讲述有些内容时把XQuery与其他广为人知的技术如SQL等相对比, 使得读者可以很快上手。阅读本书只须要了解一些基础的XML背景知识。本书除了用于指导编程外, 还可用作提高与优化XML数据检索性能的参考书。本书不仅适合那些须要操作大量XML数据的程序员(不管是使用C#还是Java等语言的程序员都适合阅读本书) ,还适合管理XML数据库的管理员, 以及那些非IT行业但须要频繁使用XML数据的业务人员。这是一本适合作为XQuery学习教材和参考指南的书。
为了满足读者对网络和软件技术知识的迫切需求,世界著名计算机图书出版机构O'Reilly Medi, Inc.授权电子工业出版社, 翻译出版一批该公司久负盛名的英文经典技术专著。O'Reilly Media, Inc.是世界上在Unix、X、Internet和其他开放系统图书领域具有领导地位的出版公司,同时也是在线出版的先锋。从最畅销的《The Whole Internet User's Guide&Catalog》(被纽约公共图书馆评为20世纪最重要的50本书之一) 到GNN(最早的Internet门户和商业网站) ,再到WebSite(第一个桌面PC的Web服务器软件) , O'Reilly Media, Inc.一直处于Internet发展的最前沿。许多书店的反馈表明, O'Reily Media, Inc.是最稳定的计算机图书出版商—每一本书都一版再版。与大多数计算机图书出版商相比, O'Reilly Media, Inc.具有深厚的计算机专业背景, 这使得O'Reilly Media, Inc.形成了一个非常不同于其他出版商的出版方针。O'Reilly Media, Inc.所有的编辑人员以前都是程序员, 或者是顶尖级的技术专家。O'Reilly Media, Inc.还有许多固定的作者群体―他们本身是相关领域的技术专家、咨询专家, 而现在编写著作, O'ReilyMedia, Inc.依靠他们及时地推出图书。因为O'Reilly Media, Inc.紧密地与计算机业界联系着, 所以O'Reily Media, Inc.知道市场上真正需要什么图书。XQuery是什么?译者认为它是个好东西!您能想象在没有SQL的情况下操作关系数据库吗?既然SQL对关系数据库来说是必不可少的一部分, 那么对如日中天的XML来说,XQuery也是至关重要的一部分。简单地说, XQuery就类似关系数据库的SQL, 用于操作XML数据。如果您的程序须要频繁地与XML数据打交道, 或者须要处理大量XML数据, 那么强烈推荐丢掉传统的方式转而使用XQuery。目前, 主流数据库MSSQL Server、Oracle、db 2等都支持XQuery。XML相关的书籍与资料已经较为普及。由于XML的方便性, 越来越多的程序员把数据以XML形式存储。随着技术的进一步发展, 以前按关系数据存放大量数据的形式可能逐步变成以XML形式存储, 应用程序须要频繁地与XML打交道, 存取XML数据。译者早年曾经在Linux下用C语言操作XML数据, 深感XML的检索与存取颇费周折, 效率非常低。幸好现在的程序员可以不用把大量时间耗费在这种效率低下的工作上了。与关系数据库的SQL对应, XML也演化出了自己的检索语言——XQuery, 使得操作XML数据像关系数据库里面使用SQL一样快捷方便。市面上已经有比较成熟的XQuery开源系统, 如Saxon等,可以使程序员以较低成本和较高效率完成大量XML数据的处理。目前国内还没有一本完整的XQuery中文书籍, 相关中文资料也很少, 这限制了XQuery的推广与普及。大多数相关程序员还在重复译者当年的劳动。有鉴于此,译者翻译了这本在国外受欢迎的XQuery英文书, 希望为广大相关人员提供帮助。由于附录提供了XQuery的内置函数、类型和错误提示, 因此本书不仅可以作为供普通读者了解XQuery的综述性书籍, 也可以作为专业程序员的XQuery手册。由于译者水平有限,错误在所难免,敬请读者指正,以期提高翻译水平,对此深表谢意。
前言..
第1章XQuery介绍..
第2章
什么是XQuery..
转向XQuery..
路径表达式.
FLW OR表达式.
添加XML元素和属性.
函数.
连接.
求和与分组..
XQuery基础.
XQuery语言的设计.
XQuery与其他标准的关系.
处理查询.
XQuery数据模型..
类型.
命名空间..
表达式:XQuery的组成部分..
表达式种类..
关键字和名称.
查询中的空白符..
字面值..
变量.
函数调用..
计算顺序和括号.
比较表达式..
第4章
条件(if-then-else) 表达式
逻辑表达式..
使用路径定位输入文件.
路径表达式.
谓词.
动态路径..
输人文件.
深入了解上下文..
在结果中增加元素和属性..
包含输人文件中的元素和属性.
直接元素构造器..
计算构造器..
使用FLW OR表达式查询和连接.
使用路径表达式查询..
FLW OR表达式..
量化表达式..
选择不同的值.
连接..
排序和分组..
XQuery中的排序.
分组.
对值求聚合.
函数..
内置函数与用户自定义函数.
调用函数.
用户自定义函数.
高级查询..
复制并修改输人文件..
使用位置和序列编号..
合并结果.
使用中间XML文档..
第10章命名空间与XQuery.
第11章
第12章
第13章
第14章
第15章
目录ix
命名空间.
命名空间和XQuery.
查询中的命名空间声明..
在结果中控制命名空间声明.
深入了解类型..
XQuery类型系统..
内置类型..
类型、节点和原子值..
XQuery中的类型检查.
自动类型转换.
序列类型.
构造器和转换
查询、序言和模块..
查询的结构:序言和主体.
集中使用多个模块中的查询..
变量声明.
声明外部函数.
在XQuery中使用Schema..
什么是Schema.
为什么在查询中使用Schema..
W3C XMLSchema:概述..
作用域内的Schema定义.
Schema校验和类型分配..
序列类型和Schema.
静态类型..
什么是静态类型..
type switch表达式.
treat表达式.
类型声明..
zero-or-one, one-or-more和exactly-one函数
查询设计的原则
查询设计的目标.
清晰化..
模块化..
第16章
健壮性.
错误处理..
性能..
操作数值
数值类型..
创建数值..
比较数值.
算术操作符.
数值函数..
操作字符串.
xs:string类型.
创建字符串..
比较字符串..
子字符串.
得到字符串的长度..
字符串连接和拆分..
操作字符串.
空白符和字符串..
国际化考虑..
正则式..
正则式的结构.
表示单个字符
表示任意字符.
表示字符的组..
字符类表达式..
勉强模式..
锚..
向后引用.
使用标记.
使用带替换变量的子表达式
操作日期、时间和时间段..
日期和时间类型..
时间段类型.
提取日期、时间和时间段的组成部分..
使用算术操作符处理日期、时间和时间段..
日期组成部分类型..
25.3XQuery 1.0/XPath 2.0和XPath 1.0的差别..
第20章
第21章
第22章
第23章
第24章
第25章
操作限定名, URI和ID.
操作限定名.
操作URI.
操作ID.
操作其他XML组件.
XML组件.
处理指令..
文档..
文本节点..
XML实体和字符引用.
CDATA段.
其他XQuery相关的标准.
序列化.
XQuery X.
XQuery修改功能..
全文检索.
用于Java(X QJ) 的XQuery API..
实现工具特有的特征.
一致性.
XML版本支持..
设置查询上下文.
选项声明和扩展表达式
指定序列化参数..
SQL用户的XQuery.
关系模型与XML数据模型..
比较SQL语法和XQuery语法..
结合SQL与XQuery.
SQL/XML..
XSLT用户的XQuery..
XQuery和XPath..
XQuery与XSLT.
附录A
附录B
附录C
索引..